SILEX is a finite element code written in Python language, eventually with a Fortran part in order to speed up the computations.
- The Python language is used to define parameters, to read the mesh, to solve the system, to write the results.
- The Fortran language is eventually used for elemental computations as well as to build the stiffness matrix.
- The open source software Gmsh is used to create the meshes as well as to show the results.
- The only free routines available on-line concern the 4-node tetrahedral element and the 3-node triangle element in the case of linear static analysis. They can be adapted to other elements.
- The following proposed applications are available for education purpose. They allow to understand the code, in order to perform other computations for other mechanical systems. Later on, the user can develop new elements or new method, and thus extend the possibilities of the code.
- The following course document available on-line (here) gives a programming introduction.
- A complete example of the use of SILEX on a piston is available here in english (french version)
- A example pratical work for education is provided on a landing gear fork here in english (french version)
- Execution of
SILEX-lightcan be done using binder:The image is built from Docker's image
jupyter/scipy-notebook.
- Pull the docker image using
docker pull ghcr.io/luclaurent/silex-light:latest - Run
docker run --rm -d -p 8889:8888 -v <PATH>:/home/jovyan/external silex-light:latest.<PATH>must be replace by a local folder path. - Replace on the link provided by Docker's logs 8888 by 8889 in your browser.
NB: full sudo access can be activated with the following syntax: docker run --rm -d -p 8889:8888 -e GRANT_SUDO=yes --user root -v <PATH>:/home/jovyan/external silex-light:latest.
Classical installation by executing
pip install --user SILEXlight
Editable installation for developing
export SETUPTOOLS_ENABLE_FEATURES="legacy-editable"
pip install --user -e SILEXlight
Version for Windows, Linux and MacOS (x64 and arm64) are available on PyPi.
You can cite the code using the following reference:
Legay, A., & Laurent, L. (2025). SILEXlight (vXXX). Zenodo. https://doi.org/10.5281/zenodo.14984402
The used version and the associated doi must be adapted using data available on Zenodo.
The unit tests can be ran by using the following command
pytest --pyargs SILEXlight.tests
Install docs dependencies:
pip install -e .[docs]
Build HTML documentation with Sphinx:
sphinx-build -W -b html docs/source docs/_build/html
Function-level API documentation is now maintained directly in:
SILEXlight/silex_lib_gmsh.pySILEXlight/silex_lib_tri3_python.pySILEXlight/silex_lib_tet4_python.pySILEXlight/version.py
The Fortran backends include routine-purpose comments in:
SILEXlight/silex_lib_tri3_fortran.fSILEXlight/silex_lib_tet4_fortran.f
SILEXlight is available under the LGPLv3 license. See the LICENSE file for more info.