4.9 KiB
4.9 KiB
FESA Documentation Index
Purpose
This directory is the source of truth for FESA solver planning, architecture, numerical conventions, verification, and future implementation work.
Before changing solver code, read this file, then read the documents listed under "Required Reading".
Required Reading
../AGENTS.md../PROGRESS.md../PLAN.mdPRD.mdHARNESS_ENGINEERING.mdARCHITECTURE.mdADR.mdNUMERICAL_CONVENTIONS.mdABAQUS_INPUT_SUBSET.mdVERIFICATION_PLAN.mdRESULTS_SCHEMA.mdMITC4_FORMULATION.md
MULTI_AGENT_RESEARCH_PLAN.md is required when planning delegated research or creating/updating Codex agents.
Document Roles
| Document | Role |
|---|---|
PRD.md |
Product scope, users, phase roadmap, and Phase 1 success criteria |
HARNESS_ENGINEERING.md |
Planner/Generator/Evaluator workflow, sprint contract format, and evaluator rubric |
ARCHITECTURE.md |
Solver architecture, ownership boundaries, data flow, and extension model |
ADR.md |
Durable architecture decisions and tradeoffs |
NUMERICAL_CONVENTIONS.md |
DOF, units, coordinate/sign conventions, precision, boundary/reaction policy |
ABAQUS_INPUT_SUBSET.md |
Phase 1 Abaqus .inp subset, parser behavior, and unsupported features |
VERIFICATION_PLAN.md |
Reference folder contract, benchmark matrix, tolerances, and negative tests |
RESULTS_SCHEMA.md |
Step/frame/field/history result model and HDF5 layout |
MITC4_FORMULATION.md |
MITC4 baseline formulation contract and pre-implementation open decisions |
MULTI_AGENT_RESEARCH_PLAN.md |
Codex agent roles, research sequence, and source map |
Root-level coordination files:
| Document | Role |
|---|---|
../PLAN.md |
Forward-looking task plan, priorities, owners, and open questions |
../PROGRESS.md |
Completed work, verification results, blockers, and current risks |
Precedence Rules
When documents conflict:
AGENTS.mdcritical rules win.ADR.mdwins for accepted design decisions.NUMERICAL_CONVENTIONS.mdwins for DOF, units, precision, signs, and reaction recovery.- Domain-specific dossier documents win within their area:
- Abaqus parser:
ABAQUS_INPUT_SUBSET.md - Verification/reference data:
VERIFICATION_PLAN.md - HDF5 results:
RESULTS_SCHEMA.md - MITC4 element formulation:
MITC4_FORMULATION.md
- Abaqus parser:
ARCHITECTURE.mdprovides system structure and should be updated when module responsibilities change.PRD.mdrecords scope and roadmap, not low-level implementation details.
If a lower-precedence document needs to override a higher-precedence decision, update or add an ADR first.
Phase 1 Hard Invariants
- Use 6 shell DOFs per node:
UX,UY,UZ,RX,RY,RZ. - Retain drilling DOF and use a small artificial drilling stiffness.
- Use
doublefor real values. - Use signed int64 ids, indices, equation ids, and sparse indices.
- Do not enforce a unit system; require self-consistent Abaqus-style units.
- Follow Abaqus-compatible sign conventions for results.
- Apply essential boundary conditions by constrained DOF elimination.
- Recover reactions from full vectors:
R_full = K_full * U_full - F_full. - Map Abaqus
S4to FESAMITC4. - Defer
S4R. - Require singular system diagnostics.
- Defer mesh quality diagnostics.
- Validate against stored reference artifacts under
../references/; do not require Abaqus execution. - Treat Abaqus
*.inpfiles plus*_displacements.csvresult files as the initial accepted reference artifact contract.
Implementation Readiness Checklist
Before creating Phase 1 implementation steps:
- Use
../references/as the accepted reference artifact folder. - Use Abaqus
.inpfiles plus solved*_displacements.csvfiles as the first automated displacement reference format. - Keep a compatibility note when a stored Abaqus reference input contains features outside the current Phase 1 parser subset.
- Finalize the MITC4 transverse shear tying-point equations.
- Finalize the MITC4 local shell basis algorithm.
- Finalize the default artificial drilling stiffness scale.
- Decide whether Phase 1 outputs only
UandRF, or alsoS,E, andSF. - Decide the build system, with CMake as the recommended default unless project constraints say otherwise.
Documentation Change Rules
- Keep changes narrow and update every affected document.
- When a change affects future work, update
../PLAN.md. - When a meaningful change is completed, update
../PROGRESS.md. - When a rule becomes binding, add or update an ADR.
- When a scope changes, update
PRD.md. - When module ownership changes, update
ARCHITECTURE.md. - When parser behavior changes, update
ABAQUS_INPUT_SUBSET.md. - When numerical conventions change, update
NUMERICAL_CONVENTIONS.md. - When output layout changes, update
RESULTS_SCHEMA.md. - When benchmark or tolerance policy changes, update
VERIFICATION_PLAN.md. - When MITC4 math or assumptions change, update
MITC4_FORMULATION.md.