14 KiB
Nonlinear Static Newton-Raphson Reference Model
1. Metadata
- feature_id:
nonlinear-static-newton-raphson - source_requirements:
docs/nonlinear-static-newton-raphson/requirements.md - source_research:
docs/nonlinear-static-newton-raphson/research.md - source_formulation:
docs/nonlinear-static-newton-raphson/formulation.md - source_numerical_review:
docs/nonlinear-static-newton-raphson/numerical-review.md - status:
pass-for-io-definition - owner_agent:
numerical-review-agent - date:
2026-08-23 - artifact_policy:
read-only-existing-files - tolerance_policy:
docs/TOLERANCE.md
이 문서는 logical reference quantity, source identity, component matching, row precheck와 blocking/warning 분류만 정의한다. 최종 HDF5 dataset projection은 I/O Definition Agent 소유다.
2. Reference Acceptance Scope
Required scope는 두 stored case다.
shellnl-s4-final:nlgeom=YESnonlinear static S4 final accepted state를 비교하는 primary external reference case.shell-s4-linear-limit: 같은 S4 mesh의nlgeom=NOread-only linear-limit/reference-identity regression case. 이 case는 nonlinear response evidence가 아니며, 현재 stress CSV의 element-label ordering을 row-order matching으로 사용하지 않는다.
shellNL은 final-state reference comparison에는 충분하지만 weak nonlinear response다. Dominant
U3/stress 값이 linear case와 거의 같으므로 finite-rotation objectivity, consistent tangent,
commit/rollback과 convergence lifecycle은 numerical-review.md의 blocking internal tests로 검증한다.
3. Reference Case Inventory with exact input and required CSV paths
| case id | artifact role | required comparison artifact | exact path | observed status |
|---|---|---|---|---|
shellnl-s4-final |
nonlinear input | yes | reference/shellNL/shellNL.inp |
readable; S4, 49 nodes, 36 elements, NLGEOM=YES |
shellnl-s4-final |
displacement reference | yes | reference/shellNL/shellNL displacements.csv |
49 finite unique node rows; one factor-one Frame |
shellnl-s4-final |
reaction reference | yes | reference/shellNL/shellNL reactions.csv |
49 finite unique node rows; one factor-one Frame |
shellnl-s4-final |
stress review evidence | no | reference/shellNL/shellNL stresses.csv |
288 finite unique rows; element labels 1..36 in stored ascending blocks |
shell-s4-linear-limit |
linear control input | yes | reference/shell/shell.inp |
readable; S4, 49 nodes, 36 elements, NLGEOM=NO |
shell-s4-linear-limit |
displacement reference | yes | reference/shell/shell displacements.csv |
49 finite unique node rows; no Frame column |
shell-s4-linear-limit |
reaction review evidence | no | reference/shell/shell reactions.csv |
49 finite unique node rows |
shell-s4-linear-limit |
stress review evidence | no | reference/shell/shell stresses.csv |
288 finite unique rows; element labels 1..36 in stored ascending blocks |
required comparison artifact=no인 파일도 이번 review에서 읽기 가능성, row identity,
finite values와 current ordering을 확인했다. 그러나 해당 파일은 missing-required-artifact
판정이나 tolerance family를 만들지 않는다.
두 .inp는 같은 node/element/connectivity, material/section, instance, boundary와 center-node
CLOAD를 사용한다. Text 차이는 heading identity, NLGEOM=NO -> YES, 그리고 *STATIC
data 1.,1.,1e-05,1. -> 0.1,1.,0.001,0.1이다. 따라서 shellNL은 실제 nonlinear
selector와 승인된 fixed increment 0.1을 갖지만, 두 deck 차이를 오직 NLGEOM 하나의
isolated effect라고 표현하지 않는다.
Read-only SHA-256 observations:
| path | SHA-256 |
|---|---|
reference/shellNL/shellNL.inp |
4BF3ECB0F7F1E8462C573E993DBC97AC5D920C91CF6F23AD4C6891D77FFBADA2 |
reference/shellNL/shellNL displacements.csv |
4E0F99CA9372B1ADF7FAF102F43BC0B887DC743FDEDA378E4342D2CF8E0C0786 |
reference/shellNL/shellNL reactions.csv |
001CB1541A9E94424E5E650509D46BC8724970DF4DE47184D9DB09C7938AB069 |
reference/shellNL/shellNL stresses.csv |
5500E5114B1C44887528E30CEC054A1EB0F68BE3F4B8CE81FA59FC74A881483F |
reference/shell/shell.inp |
4005851E1AB22FD3A16AC17A8D5DA3E051233F69F37419079F3553AD134ECFCF |
reference/shell/shell displacements.csv |
C81D94E0B4A849F87AA0F79C83A79B94D5661AC79E44ED826919AB432C87746B |
reference/shell/shell reactions.csv |
0E34EEC27E700C3C0C744C1DAFD8A3B95EFEF34B8616FE96665876586FE82D41 |
reference/shell/shell stresses.csv |
2B75A5B0DEB045A283C9BB7E9B1153B79F7537FF487214BF4A23316B59B660A7 |
4. Source Identity and Component Contract
4.1 Accepted-state identity
- Abaqus identifiers are case-insensitive semantic identities. Input spelling
Part-1-1and CSV spellingPART-1-1match as one instance while original text is retained in artifacts and reports; no file or row is rewritten. shellnl-s4-finalrows require exact CSVFramevalueIncrement 10: Step Time = 1.000, mapped logically to the accepted factor-one state.shell-s4-linear-limitrows have noFramecolumn and map to the single final static state.- Row order is never a matching identity. It may only be used for deterministic reporting after source keys are matched.
4.2 Nodal displacement contract
Required mapping is U-U1/U-U2/U-U3 -> U1/U2/U3 and
UR-UR1/UR-UR2/UR-UR3 -> UR1/UR2/UR3. U is global length; UR is the
dimensionless fixed-initial global rotation-vector output. Logical key is
(case_id, accepted_state, canonical_instance_name, source_node_label, component)
Both cases require source node labels 1..49 exactly once. U components form one
blocking translation family and UR components form one warning-only rotation family,
preserving the project MITC4 classification.
4.3 Nonlinear reaction contract
Reaction comparison applies only to shellnl-s4-final and only to the input boundary
Set-2 nodes:
1,3,4,5,6,7,8,9,14,15,16,17,22,23,24,25,26,27,28,29,30,31,32,33
All six global components are constrained at these 24 nodes. Other CSV node rows remain part of file/schema/finite inventory but are not numerical reaction rows: FESA free entries are equilibrium residual evidence, not Abaqus free-node zero reactions.
| CSV components | logical quantity | FESA meaning | disposition |
|---|---|---|---|
RF-RF1, RF-RF2 |
fixed-initial shell-plane reaction force | constrained translational full residual, global force | blocking family |
RF-RF3 |
fixed-initial transverse reaction force | constrained translational full residual, global force | blocking family |
RM-RM1, RM-RM2 |
tangent-plane spatial reaction moment | J_l(phi)^(-T) conversion of the constrained generalized reaction, global force-length |
blocking family |
RM-RM3 |
director/drilling-axis reaction review value | stabilization-dependent; no physical external equivalence target | excluded |
In-plane and transverse force are distinct model-fixed logical projections and therefore
use distinct families. Raw generalized rotation-coordinate residual is not matched directly
to the CSV RM value.
4.4 Stress review identity and comparison exclusion
Stress rows have read-only identity
(case_id, accepted_state, instance, element label,
element-corner node label, SPOS/SNEG section surface, component)
Every current element has its four connectivity nodes and one SPOS plus one SNEG
row per node. The files are ordered in contiguous ascending element-label blocks 1..36;
this exact artifact order is retained and no node/surface secondary reorder is applied.
The identity is nevertheless not the approved FESA recovery location: FESA emits direct
[S11,S22,S12] at four midsurface Gauss locations and bottom/middle/top positions, without
nodal extrapolation or averaging, and does not emit S33. Consequently no stress column
forms a blocking or warning-only comparison family. Stress files remain optional read-only
review evidence only.
4.5 Comparison families
| family id | components and source set | row count | units / coordinates | disposition |
|---|---|---|---|---|
linear.translation |
U1,U2,U3, nodes 1..49 |
147 | length / global | blocking regression |
linear.rotation |
UR1,UR2,UR3, nodes 1..49 |
147 | dimensionless / fixed-initial global | warning-only |
nonlinear.translation |
U1,U2,U3, nodes 1..49 |
147 | length / global | blocking |
nonlinear.rotation |
UR1,UR2,UR3, nodes 1..49 |
147 | dimensionless / fixed-initial global | warning-only |
nonlinear.reaction_inplane_force |
RF1,RF2, 24 constrained nodes |
48 | force / fixed-initial global plane | blocking |
nonlinear.reaction_transverse_force |
RF3, 24 constrained nodes |
24 | force / fixed-initial global transverse | blocking |
nonlinear.reaction_physical_moment |
RM1,RM2, 24 constrained nodes |
48 | force-length / global spatial | blocking |
5. Row Prechecks
Before tolerance, the comparator shall fail the affected comparison if any required condition below is false.
- Exact declared input path and every
required comparison artifact=yesCSV path for the case exist and are readable. - Required headers are present after trimming surrounding whitespace from header names.
shellnl-s4-finalcontains only the exact requiredFramevalue for required rows.- Wide CSV rows expand to component rows using the component contract in Section 4.
- Required source row keys are unique. Duplicate wide keys or duplicate expanded component keys fail.
- Displacement projection requires all 49 source nodes and declared components. Nonlinear reaction projection derives the exact 24-node/component set from the input constraint mask; it does not infer reaction identity from CSV zero values.
- FESA and reference required projected row-key sets are exactly equal: missing and extra rows both fail.
- Every required numeric value is finite. Nonfinite required FESA or CSV value fails before tolerance.
- Optional stress inventory uses
(instance, element label, node label, section point)and verifies the current ascending element-label blocks, connectivity nodes and SPOS/SNEG pair. This inspection does not create a stress equality gate. - Required rows are not omitted, synthesized, normalized, averaged, sorted into a different identity, zero-clamped, or repaired.
Observed read-only inventory used for this contract:
| CSV | observed wide key columns | duplicate wide keys | nonfinite observed values | observed element labels |
|---|---|---|---|---|
reference/shellNL/shellNL displacements.csv |
Frame, Part Instance Name, Node Label |
0 | 0 | N/A |
reference/shellNL/shellNL reactions.csv |
Frame, Part Instance Name, Node Label |
0 | 0 | N/A |
reference/shellNL/shellNL stresses.csv |
Frame, Part Instance Name, Element Label, Node Label, Section Point |
0 | 0 | 1..36 |
reference/shell/shell displacements.csv |
Part Instance Name, Node Label |
0 | 0 | N/A |
reference/shell/shell reactions.csv |
Part Instance Name, Node Label |
0 | 0 | N/A |
reference/shell/shell stresses.csv |
Part Instance Name, Element Label, Node Label, Section Point |
0 | 0 | 1..36 |
6. Tolerance and Blocking/Warning Policy
Use exactly docs/TOLERANCE.md for every external reference family. This report does not invent
or calibrate tolerance values.
For each comparison family:
S = max(abs(reference_value_i)), using reference values only.- near-zero band is
0.01*S. - if
abs(reference_value_i) <= 0.01*S, row passes iffabs(fesa-reference) <= 0.01*S. - otherwise row passes iff relative error
<= 0.05. - family relative RMS is
RMS(error)/S <= 0.01. - no independent absolute-error floor,
max(1, S)clamp, row omission, averaging, or zero clamp is allowed. - if
S = 0, the family passes only when all FESA values are exactly zero; otherwise reportzero-reference-scale-nonzero-error.
Families are separated by the exact case/logical quantities in Section 4.5. Current reference-only scales provide a reproducible reader/comparator audit:
| family | S |
B=0.01*S |
|---|---|---|
linear.translation |
2.37408203e-5 |
2.37408203e-7 |
linear.rotation |
7.60725743e-6 |
7.60725743e-8 |
nonlinear.translation |
2.37408203e-5 |
2.37408203e-7 |
nonlinear.rotation |
7.60725743e-6 |
7.60725743e-8 |
nonlinear.reaction_inplane_force |
1.91663182 |
1.91663182e-2 |
nonlinear.reaction_transverse_force |
1.17769805e4 |
1.17769805e2 |
nonlinear.reaction_physical_moment |
1.95418418e4 |
1.95418418e2 |
Any blocking family row or RMS failure fails the reference comparison for the feature.
warning-only failures produce deterministic warning evidence but do not change the blocking
verdict. RM3 and stress artifacts create neither a blocking nor warning-only tolerance family.
7. Open Issues and I/O Handoff
Open issues blocking I/O Definition: 없음.
I/O Definition Agent handoff:
- Project only the comparison quantities in Sections 4.2, 4.3 and 4.5 to authoritative FESA result datasets without changing source identity or final comparison disposition.
- Preserve
Framehandling forshellnl-s4-finalas accepted factor-one state identity; do not expose trial Newton history as reference rows. - Derive constrained reaction identity from the input mask. Compare
RM1/RM2with the global spatial physical reaction moment, not the raw generalized rotation-coordinate covector. - Preserve approved Gauss direct stress recovery. Do not create element-corner stress, extrapolation, averaging or a stress CSV projection for the current optional SPOS/SNEG artifacts.
- Keep
RM3,S-S33,S-S11,S-S22andS-S12out of current comparison families. - Use the common tolerance policy exactly as written above and in
docs/TOLERANCE.md.
Reference artifact status: complete for I/O Definition. No declared required input or required comparison CSV is missing or unreadable. Optional stress CSVs are present and readable as inventory evidence only. No reference artifact was generated, renamed, repaired, normalized, or modified.