Skip to content

luclaurent/SILEX-light

Repository files navigation

SILEXlight

pypi release DOI License: LGPL v3 PyPI - Downloads

CI-multi Wheels and sdist Binder Coverage CI Documentation Status

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.

Usage

  • 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-light can be done using binder: Binder The image is built from Docker's image jupyter/scipy-notebook.

Usage of the docker container

  1. Pull the docker image using docker pull ghcr.io/luclaurent/silex-light:latest
  2. 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.
  3. 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.

Installation

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.

Cite the code

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.

Run tests

The unit tests can be ran by using the following command

pytest --pyargs SILEXlight.tests  

Build documentation

Install docs dependencies:

pip install -e .[docs]

Build HTML documentation with Sphinx:

sphinx-build -W -b html docs/source docs/_build/html

API Documentation Coverage

Function-level API documentation is now maintained directly in:

  • SILEXlight/silex_lib_gmsh.py
  • SILEXlight/silex_lib_tri3_python.py
  • SILEXlight/silex_lib_tet4_python.py
  • SILEXlight/version.py

The Fortran backends include routine-purpose comments in:

  • SILEXlight/silex_lib_tri3_fortran.f
  • SILEXlight/silex_lib_tet4_fortran.f

License

SILEXlight is available under the LGPLv3 license. See the LICENSE file for more info.

About

No description, website, or topics provided.

Resources

License

LGPL-3.0, Unknown licenses found

Licenses found

LGPL-3.0
LICENSE
Unknown
COPYING.LESSER

Stars

3 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors