FEM2D Documentation

FEM2D – An open‑source Python library for 2‑D finite element analysis of structural frames.

It supports linear static analysis, non‑linear analysis, and dynamic analysis of 2‑D structures.

Features

  • Element Library:

    • Beam Element: Elastic 2D Euler-Bernoulli beam elements including axial, shear, and bending stiffness. Supports uniform and varying member loads, moment releases (hinges), and rotational/translational mass.

    • Truss Element: Pin-jointed bar elements with axial stiffness only.

    • Spring Element: 2D elastic spring elements with customizable axial stiffness.

  • Analysis Types:

    • Linear Static Analysis: Standard matrix analysis under nodal loads, distributed loads, and concentrated member loads.

    • Geometrically Non-Linear Analysis: Iterative solver using the Newton-Raphson scheme combined with corotational formulations for large displacement/rotation problems.

    • Mass Matrix Assembly: Assembles global mass matrices (including rotational inertia and extra non-structural mass) to support modal and eigenvalue analysis.

  • Post-Processing & Visualization:

    • Pandas Integration: Convert displacements, reactions, and element forces directly into pandas DataFrames for easy analysis and post-processing.

    • Graphical Plots: Plot the undeformed/deformed configurations, support conditions, and applied loads using Matplotlib.

API Reference