modify documents
This commit is contained in:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user