Suite of Python finite element solvers. Still a work in progress, but meant as an improvement on my previous package '3DFEM' with overall better performance, cleaner code, better and simpler mesh handling using meshio.
Create and activate a virtual environment of your choice. Clone the repository using
git clone https://github.com/rcapillon/pylyra.git
Then install the package and its dependencies using
cd pylyra/
pip install .
- imported from gmsh
- linear elements:
- 3D for volume: tetrahedron, hexahedron, prism (wedge), pyramid
- 2D for surface forces: triangle, quadrangle
- Isotropic linear elastic
- Consistent mass matrix
- Linear stiffness matrix
- Rayleigh damping matrix (proportional to mass and stiffness)
- Support for arbitrary Dirichlet boundary conditions on tagged surfaces
- Nodal forces on tagged groups of nodes
- Surface and volume forces on tagged surfaces and volumes
- Loads can be constant or vary with time
- Modal analysis
- Linear statics
- Linear dynamics (Newmark method)
- Deformed mesh plot and animation with pyvista
- Example scripts for all solvers
- Quadratic elements
- Dirichlet conditions on tagged groups of nodes
- Time-varying Dirichlet conditions
- Reduced-order model using supplied basis or elastic modes
- Frequency-domain dynamic solver
- Von Mises plasticity
- Large displacements: Newton-Raphson and arc-length method
- Anisotropic elasticity
- Uncertainty propagation