About the code
This is the user manual for PyFEM. This python-based finite element code accompanies the book:
R. de Borst, M.A. Crisfield, J.J.C. Remmers and C.V. Verhoosel Non-Linear Finite Element Analysis of Solids and Structures John Wiley and Sons, 2012, ISBN 978-0470666449
The code is open source and intended for educational and scientific purposes only. If you use PyFEM in your research, the developers would be grateful if you could cite the book in your work.
Goals and scope
PyFEM aims to provide a clear, well-documented reference implementation for nonlinear finite element analysis, suited for teaching, prototyping, and reproducible research. The code emphasizes readability over micro-optimizations and includes a growing set of elements, material models, solvers, and I/O modules to cover common solid mechanics problems.
How to cite
If PyFEM contributes to a publication, please cite the textbook above and reference PyFEM (with the commit/tag or release) to ensure reproducibility. When applicable, include the specific modules (elements, materials, solvers) used in your study.
J.J.C. Remmers (2025). PyFEM https://github.com/jjcremmers/PyFEM
R. de Borst, M.A. Crisfield, J.J.C. Remmers and C.V. Verhoosel (2012) Non-Linear Finite Element Analysis of Solids and Structures John Wiley and Sons, 2012, ISBN 978-0470666449
License
PyFEM is distributed under the MIT License to support broad educational and research use.
Project-level license: see the file LICENSE (MIT License).
- File-level notices: each source file includes attribution and disclaimer
text from the textbook and project history. Please retain these notices in redistributed or modified files.
Under the MIT License terms, you may use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the software, provided that you include the copyright notice and permission notice. The software is provided “as is” without warranty of any kind.
Important
- The effective legal terms for any given distribution are determined by the
project-level license in the repository you use (see LICENSE).
- Regardless of the project-level license, retain the file headers with
attribution and disclaimer text present at the top of each source file.
- If you plan to adopt MIT licensing for your own distribution or fork, please
keep the file-level notices intact and include an MIT license file in your distribution.