51 lines
2.0 KiB
Markdown
51 lines
2.0 KiB
Markdown
# 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
|
|
```
|
|
|
|
With the Phase 1 CMake harness in place, this command configures CMake, builds the C++ tests, and runs CTest.
|
|
|