# 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 `S4` mapped to FESA `MITC4`. - `S4R` deferred. - 6 shell DOFs per node: `UX`, `UY`, `UZ`, `RX`, `RY`, `RZ`. - Small artificial drilling stiffness. - Constrained DOF elimination. - Full-vector reaction recovery. - `double` precision and int64 ids/indices/equation numbering. - Stored-reference comparison from `references/*.inp` and `references/*_displacements.csv` without requiring local Abaqus execution. ## Reference Artifacts Stored Abaqus examples live under [references](references). The initial accepted artifact pair is: - [quad_01.inp](references/quad_01.inp) - [quad_01_displacements.csv](references/quad_01_displacements.csv) 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](docs/README.md). The core project documents are: - [AGENTS.md](AGENTS.md) - [docs/HARNESS_ENGINEERING.md](docs/HARNESS_ENGINEERING.md) - [docs/PRD.md](docs/PRD.md) - [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) - [docs/ADR.md](docs/ADR.md) - [docs/NUMERICAL_CONVENTIONS.md](docs/NUMERICAL_CONVENTIONS.md) - [docs/ABAQUS_INPUT_SUBSET.md](docs/ABAQUS_INPUT_SUBSET.md) - [docs/VERIFICATION_PLAN.md](docs/VERIFICATION_PLAN.md) - [docs/RESULTS_SCHEMA.md](docs/RESULTS_SCHEMA.md) - [docs/MITC4_FORMULATION.md](docs/MITC4_FORMULATION.md) ## Validation The default repository validation command is: ```bash python scripts/validate_workspace.py ``` At this planning stage, validation may report that no concrete build/lint/test commands are configured.