Python FEA Analysis Tool

Custom Physics Engine • Python • Theoretical Numerical Methods

Python FEA Analysis Tool

Project Overview

Demonstrating a deep understanding of computational mechanics, this project involved writing a custom Finite Element Analysis (FEA) solver from absolute scratch using Python. The goal was to bridge the gap between theoretical classroom mathematics and applicable software engineering, creating a tool capable of solving complex multi-physics problems without relying on commercial "black box" software.

The core engine was built to handle 1D, 2D, and eventually 3D geometries. By strictly adhering to Object-Oriented Programming (OOP) principles, the architecture allows users to easily add new element types or material models. Utilized the SciPy library to efficiently assemble and invert large, sparse stiffness matrices, drastically reducing computation time for fine meshes.

To validate the solver, the output was directly benchmarked against verified results from leading CAD Software and analytical hand-calculations. Integration with Gmsh provided a robust frontend for mesh generation, allowing the tool to parse standard `.msh` files directly into the custom solver environments.

Key Contributions

  • Developed a custom Python solver utilizing NumPy and SciPy to process large sparse matrices for structural analysis.
  • Integrated the application with open-source tools like Gmsh for mesh generation and OpenSees for benchmarking solver accuracy.
  • Successfully translated theoretical numerical methods (Galerkin method, shape functions, stiffness matrix assembly) into highly optimized, executable code.
Back to Projects