34e7d1638ff6fb21de6708b503a5e868beebde1f
FESA
FESA is a C++17 finite element structural analysis solver project. The first milestone is a reference-verified linear static MITC4 shell solver with an Abaqus-compatible input subset, HDF5-oriented results, and explicit numerical conventions.
Current Phase 1 Direction
- MITC4 shell element baseline formulation.
- Linear elastic material.
- Nodal loads and fixed boundary conditions.
- Abaqus input subset with
S4mapped to FESAMITC4. S4Rdeferred.- 6 shell DOFs per node:
UX,UY,UZ,RX,RY,RZ. - Small artificial drilling stiffness.
- Constrained DOF elimination.
- Full-vector reaction recovery.
doubleprecision and int64 ids/indices/equation numbering.- Stored-reference comparison from
references/*.inpandreferences/*_displacements.csvwithout requiring local Abaqus execution.
Reference Artifacts
Stored Abaqus examples live under references.
The initial accepted artifact pair is:
Reference CSV displacement columns use Abaqus labels Node Label, U-U1, U-U2, U-U3, UR-UR1, UR-UR2, UR-UR3, mapped to FESA UX, UY, UZ, RX, RY, RZ.
Documentation Entry Point
Start with docs/README.md.
The core project documents are:
- AGENTS.md
- docs/HARNESS_ENGINEERING.md
- docs/PRD.md
- docs/ARCHITECTURE.md
- docs/ADR.md
- docs/NUMERICAL_CONVENTIONS.md
- docs/ABAQUS_INPUT_SUBSET.md
- docs/VERIFICATION_PLAN.md
- docs/RESULTS_SCHEMA.md
- docs/MITC4_FORMULATION.md
Validation
The default repository validation command is:
python scripts/validate_workspace.py
With the Phase 1 CMake harness in place, this command configures CMake, builds the C++ tests, and runs CTest.
Description
Languages
Python
100%