skillfed

PyNiteFEA

A simple elastic 3D structural finite element library for Python.

pynitefea v3.0.0 135.3K downloads/30d#11,443 on PyPI728
Permissive license Active released

What it is and what it does

PyNiteFEA is a Python library for structural engineering finite element analysis focused on simplicity and accuracy. It handles 3D elastic analysis of frame and plate structures, including static loads, modal vibration analysis, geometric nonlinearity (P-Delta), and nonlinear pushover analysis for steel frames. The library supports point loads, distributed loads, load cases, load combinations, and various element types (frame members, quadrilateral and rectangular plate elements, tension/compression-only members, and spring elements). It produces member diagrams (shear, moment, axial, torsion), reaction reports, and can render model geometry, deformed shapes, and generate PDF reports.

The package prioritizes ease of use and correctness over advanced capabilities, targeting structural engineers who need a robust general-purpose solver without steep learning curves or extensive finite element theory knowledge. It depends on numpy for computation, scipy for numerical methods, matplotlib for visualization, and PrettyTable for formatted output. The codebase is tested against textbook problems with known solutions via continuous integration.

Use it for:

  • Design and analyze 3D steel or concrete frame structures under multiple load cases and combinations
  • Perform modal analysis to find natural frequencies and mode shapes of building or bridge frames
  • Conduct P-Delta analysis to assess geometric nonlinearity effects in tall or slender structures
  • Run nonlinear pushover analysis on steel frames to evaluate seismic performance and capacity
  • Model and analyze shear walls and mat foundations with automatic meshing and visualization
  • Generate member force diagrams and PDF reports for structural design documentation

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

PyNiteFEA performs 3D elastic structural finite element analysis, including static analysis, modal analysis, P-Delta effects, and nonlinear pushover analysis for frame and plate structures.

Yes. PyNiteFEA is actively maintained, has no known vulnerabilities, permissive licensing, and low install friction. It is well-suited for structural engineers needing accessible 3D FEA without commercial software. The recent 3.0.0 release adds pushover analysis, and the codebase is tested against known solutions. Start with the examples folder and readthedocs documentation to evaluate fit for your specific analysis needs.

Install

pynitefea on PyPI

pip

pip install pynitefea

uv

uv add pynitefea

poetry

poetry add pynitefea

Installing PyNiteFEA

Before you install

Low install friction with a pure-Python wheel and four common scientific dependencies (numpy, scipy, matplotlib, PrettyTable). The package is actively maintained with a recent release (74 days ago) and 728 repository stars, indicating stable ongoing development.

License in practice

Licensed under MIT (permissive), allowing unrestricted use, modification, and distribution in both open-source and commercial projects without copyleft obligations.

Quickstart

pip install PyniteFEA[all]

import numpy
import scipy
import matplotlib
import PrettyTable

# Create and solve a finite element model using PyNiteFEA's API

Requires Python 3.11 or later; numpy, scipy, matplotlib, and PrettyTable must be installed (included in [all] extra).

Verify before relying

  • Whether the package handles dynamic analysis beyond modal analysis and pushover
  • Performance characteristics and scalability limits for large models with many elements
  • Validation scope and accuracy bounds for nonlinear pushover analysis beyond I-shaped steel members

Package facts

License not declared (permissive)
Python support supports the current Python release (>=3.11)
Install friction low — pure-Python wheel
Runtime dependencies 4 — numpy, PrettyTable, scipy, matplotlib
Maintenance actively maintained — 74 days since the last release
Last repo commit
First released
Downloads 135,267/month — #11,443 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pynitefea-3.0.0-py3-none-any.whl

License :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13

Tags

finite element analysis pythonstructural analysis library3D frame analysisFEA solver pythonelastic structural analysisplate element analysispushover analysis steel framesshear wall analysis
structural-analysisfinite-elementsengineering

More Scientific/Engineering packages