modify documents

This commit is contained in:
NINI
2026-05-01 02:29:30 +09:00
parent 4b89f4aa96
commit e99b5b8eff
65 changed files with 2814 additions and 72 deletions
+31 -2
View File
@@ -19,7 +19,8 @@ When a convention here conflicts with a lower-level implementation note, this do
- Result sign conventions follow Abaqus conventions.
- Essential boundary conditions are applied by constrained DOF elimination.
- Reaction forces are recovered from the full system vectors, not from the reduced system alone.
- Reference comparison uses stored Abaqus inputs and stored solved reference results under `reference/`.
- Reference comparison uses stored Abaqus inputs and stored solved reference results under `references/`.
- Initial displacement reference comparison uses Abaqus-exported `*_displacements.csv` files.
- Mesh quality diagnostics are not part of Phase 1.
- Singular system diagnostics are required.
- Floating-point values use `double` by default.
@@ -104,6 +105,25 @@ Stress and strain component ordering follows the Abaqus convention:
Shear strain output should be documented as engineering shear strain when matched to Abaqus-style output.
## Abaqus Displacement CSV Mapping
The initial reference displacement CSV format maps Abaqus exported columns to FESA `U` components:
| CSV Column | FESA Component | Meaning |
|---|---|---|
| `Node Label` | `entity_id` | Node id, stored as int64 |
| `U-U1` | `UX` | Translation in global 1/x direction |
| `U-U2` | `UY` | Translation in global 2/y direction |
| `U-U3` | `UZ` | Translation in global 3/z direction |
| `UR-UR1` | `RX` | Rotation about global 1/x direction, radians |
| `UR-UR2` | `RY` | Rotation about global 2/y direction, radians |
| `UR-UR3` | `RZ` | Rotation about global 3/z direction, radians |
Rules:
- CSV numeric values are parsed as `double`.
- Node labels are matched to FESA result entity ids exactly.
- Missing nodes, duplicate node labels, missing columns, or nonnumeric values are reference artifact errors.
- CSV comparison uses the same absolute/relative tolerance policy as other reference artifacts.
## Boundary Conditions
Phase 1 uses constrained DOF elimination:
@@ -178,8 +198,17 @@ pass if abs(actual - expected) <= abs_tol
Initial defaults may be proposed per benchmark in `docs/VERIFICATION_PLAN.md`. Final tolerances should be tied to stored reference data and solver maturity.
## Implementation Gate
Before implementing solver modules that depend on numerical conventions:
- Define the `Real`, id, equation id, and sparse index aliases in one shared core header.
- Define a single DOF enum or equivalent mapping for `UX`, `UY`, `UZ`, `RX`, `RY`, `RZ`.
- Add tests proving Abaqus DOF numbers `1..6` map to the same internal components.
- Add tests proving constrained/free vector reconstruction preserves original full-space DOF order.
- Add at least one reaction recovery test that computes `K_full * U_full - F_full`.
- Ensure singular diagnostics can reference node id, DOF component, element id, property id, and set name.
## Open Decisions
- The exact default drilling stiffness scale.
- The final MITC4 local basis algorithm for warped quadrilateral elements.
- Which shell stress/strain/resultant outputs are mandatory in Phase 1.
- The first accepted reference result file format under `reference/`.
- Optional non-displacement CSV formats, such as reaction force or stress/resultant exports.