Files
FESADev/docs/shell-surface-pressure-load/requirements.md
T
2026-09-01 02:34:04 +09:00

40 KiB
Raw Blame History

Shell Surface Pressure Load Feature Requirement Specification

1. Metadata

  • feature_id: shell-surface-pressure-load
  • title: S4/S4R Element-Surface Uniform Pressure Load
  • status: draft-for-coordinator-gate-review
  • owner_agent: requirement-agent
  • date: 2026-08-30
  • requirement_range: FESA-REQ-SHELL-PRESSURE-001–FESA-REQ-SHELL-PRESSURE-024
  • parent_need: 승인된 Abaqus .inp subset에서 shell element surface pressure를 선형 및 기하비선형 정적 해석에 재현 가능하고 검증 가능하게 적용한다.
  • tolerance_authority: docs/TOLERANCE.md
  • authoritative_output: input lexical sibling <stem>_results.h5
  • reference_case: reference/shellNL-meshfine-pressure/

2. 목적과 기대 동작

FESA는 *SURFACE, TYPE=ELEMENT로 정의한 S4/S4R shell의 SPOS 또는 SNEG 면에 *DSLOAD의 uniform pressure load type P를 적용한다. 양의 pressure는 선택된 surface normal의 반대 방향으로 작용하고 음의 pressure는 그 방향을 반전한다. 선형 정적 해석에서는 reference configuration을, NLGEOM=YES 비선형 정적 해석에서는 current configuration의 follower load와 그 external-load tangent를 사용한다.

이 기능은 Abaqus 내부 요소 정식화나 적분 절차의 동등성을 목표로 하지 않는다. Abaqus 문서는 입력 의미와 외부 observable behavior의 근거이고, FESA formulation과 구현은 후속 gate에서 독립적으로 정의한다. Abaqus 문서상 surface pressure의 단위는 force/area이고, surface-based 양의 pressure는 local surface normal의 반대 방향이다. 또한 pressure는 기하비선형 해석에서 surface와 함께 회전하는 follower load이며, deformed surface에 대한 load 의존성이 Jacobian contribution을 만든다.

근거:

3. In Scope

  • Case-insensitive *SURFACE, TYPE=ELEMENT, NAME=<surface-name> syntax와 surface data의 <element-or-elset>, SPOS|SNEG 조합
  • Case-insensitive *DSLOAD data의 <surface-name>, P, <uniform-magnitude> 조합
  • S4와 S4R source element type, 4절점 shell connectivity, 절점당 [UX, UY, UZ, URX, URY, URZ]
  • Part/instance/assembly source identity를 보존하는 named element surface resolution
  • 양수, zero, 음수의 finite pressure magnitude와 model-consistent force/area 단위
  • 단일 승인 linear static step의 reference-configuration pressure
  • 단일 승인 *STATIC, NLGEOM=YES step의 current-configuration follower pressure와 external-load tangent
  • Stable full-DOF load assembly, reaction/free residual, global equilibrium과 deterministic order
  • 기존 HDF5 result quantities와 stored reference displacement comparison

4. Out of Scope

  • *DLOAD element/element-set face load와 P n label
  • PNU, HP, VP, SP, TRVEC, TRSHR, nodal pressure, user subroutine 또는 spatially varying pressure
  • AMPLITUDE, FOLLOWER, OP, REF NODE 등 이번 subset에서 승인하지 않은 *DSLOAD parameter
  • TYPE=NODE, analytical surface, edge surface, double-sided surface, surface smoothing 또는 contact surface behavior. 서로 다른 member가 각각 SPOS 또는 SNEG를 선택하는 것은 허용한다.
  • S3, S8, solid, continuum-shell, membrane, beam과 rigid element pressure
  • Dynamics, thermal, contact, buckling perturbation, multiple step propagation, cavity/pipe pressure
  • Surface offset, thickness-side pressure correction, pressure-induced new stress/strain/energy output 또는 새 HDF5 dataset
  • Abaqus 내부 정식화·적분·stabilization·load linearization과의 동등성 주장
  • Reference artifact 생성, rename, 보정, zero-clamp 또는 stress reference comparison

5. Analysis Definition

항목 승인 계약
analysis type 단일 linear static 또는 승인된 full-Newton nonlinear static NLGEOM=YES
elements FESA MITC4가 선택되는 Abaqus source S4, S4R; source type identity 보존
nodal DOFs global [UX, UY, UZ, URX, URY, URZ]; pressure resultant는 shell surface에 작용하는 external generalized load
material model 기존 MITC4가 지원하는 linear isotropic elastic shell material/section; 이 기능은 material 범위를 확장하지 않음
boundary conditions 기존 essential displacement/rotation constraint subset; reference case는 Set-2 DOF 1–6 고정
loads named element surface에 작용하는 uniform scalar pressure P
coordinate system Surface normal은 source connectivity가 정한 element positive normal에서 파생; nodal/resultant/equilibrium output은 global Cartesian
units Pressure force/length^2; nodal force force; nodal moment force*length; translation length; rotation dimensionless (radian convention)
linear configuration Reference nodal coordinates와 reference surface area/normal
nonlinear configuration Accepted/trial current coordinates X+u, current area/normal, current-surface follower direction

6. Normative Requirements

id: FESA-REQ-SHELL-PRESSURE-001
statement: "The FESA solver shall accept the approved case-insensitive sequence *SURFACE, TYPE=ELEMENT, NAME=<name> with SPOS or SNEG data followed by step-level *DSLOAD data <surface-name>, P, <magnitude>."
category: input
rationale: "입력 노출 범위를 surface-based pressure로 한정하고 *DLOAD와 구분한다."
source: user
priority: must
verification_method: test
acceptance_criteria: "S4와 S4R의 최소 valid input이 각각 syntax와 semantic mapping을 통과하고, surface name, side, source location, DSLOAD source order와 magnitude가 loss 없이 보존된다."
tolerance: "Keyword/label/type/cardinality exact; numerical tolerance N/A because this is a discrete input contract."
trace_to:
  parent_need: "Approved surface-based uniform pressure input"
  downstream_agents: ["I/O Definition Agent", "Implementation Planning Agent"]
status: draft
id: FESA-REQ-SHELL-PRESSURE-002
statement: "The FESA solver shall represent each approved DSLOAD P entry as one uniform finite scalar pressure with model-consistent force-per-area units."
category: input
rationale: "Magnitude 의미와 단위를 formulation 및 비교 전에 고정한다."
source: standard
priority: must
verification_method: test
acceptance_criteria: "Positive, exact-zero, and negative finite magnitudes are preserved exactly once as scalar load data; NaN and infinity are rejected before analysis."
tolerance: "Parsed finite double value exact; pressure dimension force/length^2 exact."
trace_to:
  parent_need: "Uniform pressure magnitude"
  downstream_agents: ["Research Agent", "I/O Definition Agent"]
status: draft
id: FESA-REQ-SHELL-PRESSURE-003
statement: "The FESA solver shall resolve a named element surface to a unique deterministic ordered list of source instance, source element label, and selected side identities."
category: functional
rationale: "Source surface와 internal index의 혼동 및 불안정한 조립을 방지한다."
source: docs
priority: must
verification_method: test
acceptance_criteria: "Direct element and ELSET-backed entries resolve to the same stable identity inventory; repeated execution produces byte-identical identity and order evidence."
tolerance: "Identity, membership, multiplicity, and order exact."
trace_to:
  parent_need: "Stable semantic target resolution"
  downstream_agents: ["I/O Definition Agent", "Implementation Planning Agent"]
status: draft
id: FESA-REQ-SHELL-PRESSURE-004
statement: "The FESA solver shall support only S4 and S4R four-node shell members on SPOS or SNEG within an approved pressure surface while preserving each source element type and label."
category: constraint
rationale: "승인된 element/face matrix를 명시하고 S4/S4R source identity를 보존한다."
source: user
priority: must
verification_method: test
acceptance_criteria: "S4 and S4R valid cases pass; every other element type or face token in the surface fails closed; S4/S4R source types remain distinguishable in model/output identity."
tolerance: "Supported inventory and source identity exact."
trace_to:
  parent_need: "Bounded shell pressure scope"
  downstream_agents: ["Research Agent", "I/O Definition Agent"]
status: draft
id: FESA-REQ-SHELL-PRESSURE-005
statement: "The FESA solver shall apply positive DSLOAD P opposite the selected surface normal and shall reverse that load direction for a negative magnitude."
category: physics
rationale: "Pressure sign을 selected surface normal과 명확히 연결한다."
source: standard
priority: must
verification_method: analysis
acceptance_criteria: "A flat one-element test demonstrates positive and negative equal-magnitude resultants that are equal and opposite; no magnitude absolute-value conversion or direction clamp occurs."
tolerance: "Direction sign exact; resultant comparison uses a Numerical Review-approved scale-aware analytical tolerance in force units."
trace_to:
  parent_need: "Abaqus-aligned pressure sign"
  downstream_agents: ["Research Agent", "Formulation Agent", "Numerical Review Agent"]
status: draft
id: FESA-REQ-SHELL-PRESSURE-006
statement: "The FESA solver shall derive the SPOS normal from source connectivity and shall use its inverse for SNEG before applying the pressure sign rule."
category: physics
rationale: "SPOS/SNEG와 connectivity normal 관계를 고정한다."
source: standard
priority: must
verification_method: test
acceptance_criteria: "For unchanged connectivity, switching SPOS to SNEG reverses every pressure resultant component; reversing connectivity changes the positive normal consistently without changing stable source identity."
tolerance: "Normal/side orientation sign exact; finite vector comparison uses Numerical Review-approved geometry tolerance."
trace_to:
  parent_need: "Deterministic surface-side semantics"
  downstream_agents: ["Research Agent", "Formulation Agent", "Numerical Review Agent"]
status: draft
id: FESA-REQ-SHELL-PRESSURE-007
statement: "The FESA solver shall evaluate linear-static surface pressure from the reference configuration."
category: physics
rationale: "선형 load가 displacement에 따라 회전하거나 면적이 변하지 않도록 한다."
source: user
priority: must
verification_method: analysis
acceptance_criteria: "A linear flat and distorted patch produces the reference-area/reference-normal resultant and remains independent of any candidate displacement supplied only for test instrumentation."
tolerance: "Global force units and reference coordinates required; Numerical Review approves the scale-aware analytical tolerance before implementation."
trace_to:
  parent_need: "Reference-configuration linear pressure"
  downstream_agents: ["Formulation Agent", "Numerical Review Agent"]
status: draft
id: FESA-REQ-SHELL-PRESSURE-008
statement: "The FESA solver shall evaluate NLGEOM=YES pressure as a follower load normal to the current surface using current coordinates X+u."
category: physics
rationale: "Large rotation에서 pressure direction과 area가 current configuration을 따르도록 한다."
source: standard
priority: must
verification_method: analysis
acceptance_criteria: "Rigidly rotating a loaded patch rotates the global pressure resultant by the same rotation while preserving scalar pressure and source identity; a fixed-global CLOAD-equivalent response is rejected."
tolerance: "Global force units/current coordinates required; objectivity and resultant use Numerical Review-approved invariant tolerance."
trace_to:
  parent_need: "Current-configuration follower pressure"
  downstream_agents: ["Research Agent", "Formulation Agent", "Numerical Review Agent"]
status: draft
id: FESA-REQ-SHELL-PRESSURE-009
statement: "The FESA solver shall include the displacement derivative of the nonlinear follower pressure in the external-load contribution to the Newton tangent."
category: numerical
rationale: "Residual과 tangent의 pressure dependence를 일치시킨다."
source: standard
priority: must
verification_method: analysis
acceptance_criteria: "Directional finite-difference checks of the external pressure force against the assembled external tangent pass for nondegenerate distorted S4 and S4R patches, including SPOS/SNEG and positive/negative magnitude cases."
tolerance: "Force and force/length tangent units in global coordinates; Numerical Review fixes perturbation and norm tolerances before implementation."
trace_to:
  parent_need: "Consistent external follower-load tangent"
  downstream_agents: ["Formulation Agent", "Numerical Review Agent"]
status: draft
id: FESA-REQ-SHELL-PRESSURE-010
statement: "The FESA solver shall scale each active pressure magnitude exactly once by the analysis step load factor."
category: numerical
rationale: "Incremental nonlinear loading의 double scaling과 미적용을 방지한다."
source: derived
priority: must
verification_method: test
acceptance_criteria: "At load factors 0, 0.5, and 1.0 with fixed configuration, the external pressure resultant is respectively 0, one-half, and the full reference magnitude, with identical source membership."
tolerance: "Load-factor identity exact; force proportionality uses Numerical Review-approved roundoff tolerance."
trace_to:
  parent_need: "Existing static step load lifecycle"
  downstream_agents: ["Formulation Agent", "Implementation Planning Agent"]
status: draft
id: FESA-REQ-SHELL-PRESSURE-011
statement: "The FESA solver shall assemble all pressure contributions into the stable full-DOF external generalized load before free/constrained projection."
category: functional
rationale: "Pressure, constraint elimination, reaction과 free residual의 일관성을 보존한다."
source: docs
priority: must
verification_method: test
acceptance_criteria: "Mixed constrained/free patch tests show one full-space contribution per resolved source face, stable reduction order, correct reduced RHS participation, and no direct global sparse or shared-vector writes by parallel producers."
tolerance: "Full-DOF indices/order/cardinality exact; finite summed values required."
trace_to:
  parent_need: "End-to-end load assembly"
  downstream_agents: ["Formulation Agent", "Implementation Planning Agent"]
status: draft
id: FESA-REQ-SHELL-PRESSURE-012
statement: "The FESA solver shall include assembled pressure loads in the full residual used to distinguish constrained reactions from free-equilibrium residuals."
category: physics
rationale: "Pressure가 reaction 및 equilibrium evidence에 누락되지 않도록 한다."
source: docs
priority: must
verification_method: analysis
acceptance_criteria: "A fully constrained flat patch recovers reactions equal and opposite to the analytical pressure resultant, and mixed-constraint cases retain separate constrained reaction and free residual identities."
tolerance: "Force/force-length in global coordinates; linear analytical tolerance and nonlinear accepted-free-residual gate are fixed/confirmed by Numerical Review."
trace_to:
  parent_need: "Reaction and free-equilibrium correctness"
  downstream_agents: ["Numerical Review Agent", "Physics Evaluation Agent"]
status: draft
id: FESA-REQ-SHELL-PRESSURE-013
statement: "The FESA solver shall preserve deterministic surface resolution, pressure application, floating reduction, result-row, and diagnostic order for identical input."
category: constraint
rationale: "Thread scheduling과 container order가 observable evidence를 바꾸지 않게 한다."
source: docs
priority: must
verification_method: test
acceptance_criteria: "Repeated serial and approved parallel executions produce identical source order, sparse/load structure, result-row order, diagnostic order, and comparison verdict."
tolerance: "Discrete order and identities exact; floating reduction sequence exact."
trace_to:
  parent_need: "Deterministic solver behavior"
  downstream_agents: ["I/O Definition Agent", "Implementation Planning Agent"]
status: draft
id: FESA-REQ-SHELL-PRESSURE-014
statement: "The FESA solver shall fail closed on unsupported SURFACE or DSLOAD parameters, load labels, distributions, target kinds, surface sides, or element types."
category: input
rationale: "승인 subset 밖의 의미를 silent no-op이나 다른 load로 해석하지 않는다."
source: user
priority: must
verification_method: test
acceptance_criteria: "Each declared out-of-scope variant returns a structured non-success input/model diagnostic before analysis and produces no pressure contribution."
tolerance: "Unsupported inventory and failure category exact."
trace_to:
  parent_need: "Fail-closed unsupported variants"
  downstream_agents: ["I/O Definition Agent", "Implementation Planning Agent"]
status: draft
id: FESA-REQ-SHELL-PRESSURE-015
statement: "The FESA solver shall fail closed when a pressure surface or DSLOAD reference is missing, unresolved, ambiguous, empty, duplicated incompatibly, malformed, or inconsistent with its source scope."
category: input
rationale: "잘못된 target resolution을 평균, 추측 또는 omission으로 숨기지 않는다."
source: docs
priority: must
verification_method: test
acceptance_criteria: "Focused negative cases reject unknown names, cross-scope collisions, empty surfaces, duplicate conflicting side membership, malformed data cardinality, and unresolved instance/ELSET members with deterministic source locations."
tolerance: "Identity/cardinality/failure exact."
trace_to:
  parent_need: "Valid stable surface identity"
  downstream_agents: ["I/O Definition Agent", "Implementation Planning Agent"]
status: draft
id: FESA-REQ-SHELL-PRESSURE-016
statement: "The FESA solver shall fail closed on a pressure load used with an unapproved procedure, nonfinite intermediate contribution, or invalid current surface geometry."
category: numerical
rationale: "Invalid physics/numerics를 clamp, fallback 또는 partial result로 숨기지 않는다."
source: user
priority: must
verification_method: test
acceptance_criteria: "Unsupported procedure, nonfinite magnitude/contribution/tangent, and zero or invalid current surface measure each produce the appropriate deterministic non-success diagnostic before state/output commit."
tolerance: "Finite predicate and procedure identity exact; invalid-geometry scale criterion is fixed by Numerical Review."
trace_to:
  parent_need: "Fail-closed invalid procedure and geometry"
  downstream_agents: ["Numerical Review Agent", "I/O Definition Agent"]
status: draft
id: FESA-REQ-SHELL-PRESSURE-017
statement: "The FESA solver shall report pressure input, mapping, model, and numerical failures with stable source identity and deterministic diagnostics without publishing a failed candidate as a successful final HDF5 result."
category: output
rationale: "오류 추적성과 failure atomicity를 유지한다."
source: docs
priority: must
verification_method: test
acceptance_criteria: "Diagnostics identify file, line, keyword, surface/load identity and failure category where applicable; a failed run preserves the prior valid final output or leaves no misleading final output."
tolerance: "Diagnostic identity/order and final-file state exact."
trace_to:
  parent_need: "Deterministic diagnostics and atomic failure"
  downstream_agents: ["I/O Definition Agent", "Implementation Planning Agent"]
status: draft
id: FESA-REQ-SHELL-PRESSURE-018
statement: "The FESA solver shall retain the existing versioned HDF5 results contract as the sole authoritative output for this feature unless the Stage-5 I/O gate proves an additional contract necessary."
category: output
rationale: "Load 기능만으로 speculative pressure dataset을 추가하지 않는다."
source: user
priority: must
verification_method: inspection
acceptance_criteria: "Successful linear and nonlinear pressure runs contain the existing mandatory model, nodal, element, residual/equilibrium, metadata and diagnostic datasets appropriate to their procedure, and no CSV or new pressure-only dataset is treated as authoritative."
tolerance: "Dataset/schema identity exact; numerical tolerance N/A for authority classification."
trace_to:
  parent_need: "Preserve authoritative HDF5 output"
  downstream_agents: ["I/O Definition Agent"]
status: draft
id: FESA-REQ-SHELL-PRESSURE-019
statement: "The FESA solver shall expose pressure effects through existing nodal displacement, reaction/generalized residual, global equilibrium, and existing element result quantities with their approved units, coordinates, and stable source identities."
category: output
rationale: "Pressure correctness가 existing observable result chain에서 검증 가능해야 한다."
source: docs
priority: must
verification_method: demonstration
acceptance_criteria: "HDF5 inspection confirms global nodal [UX,UY,UZ,URX,URY,URZ], full residual/reaction meaning, factor-one nonlinear global equilibrium identity, and unchanged existing element result identities; all required values are finite."
tolerance: "Units/coordinate/component/source identity exact; quantity values use their requirement-specific analytical, internal, or external tolerance."
trace_to:
  parent_need: "Observable end-to-end pressure response"
  downstream_agents: ["I/O Definition Agent", "Physics Evaluation Agent"]
status: draft
id: FESA-REQ-SHELL-PRESSURE-020
statement: "The FESA solver shall pass analytical linear pressure checks for magnitude, sign, SPOS/SNEG reversal, negative magnitude reversal, total resultant, reaction, and mesh/order invariance."
category: verification
rationale: "Stored nonlinear reference가 직접 검증하지 않는 linear 및 sign 경계를 차단한다."
source: derived
priority: must
verification_method: analysis
acceptance_criteria: "Numerical Review approves at least one flat S4 and one S4R patch, a distorted patch, and mesh/order variants; every declared invariant passes before reference comparison."
tolerance: "Force/force-length/global coordinate analytical tolerances are scale-aware and fixed by Numerical Review; no docs/TOLERANCE.md substitution."
trace_to:
  parent_need: "Independent analytical verification"
  downstream_agents: ["Numerical Review Agent", "Implementation Planning Agent"]
status: draft
id: FESA-REQ-SHELL-PRESSURE-021
statement: "The FESA solver shall pass nonlinear pressure checks for follower objectivity, current-area/resultant behavior, external-tangent consistency, accepted free residual, and factor-one global force and moment balance."
category: verification
rationale: "Reference displacement만으로 검출하기 어려운 follower/load-tangent 공통 오류를 차단한다."
source: derived
priority: must
verification_method: analysis
acceptance_criteria: "Approved objectivity and tangent checks pass; factor-one accepted free residual passes the existing nonlinear convergence contract; global applied-plus-constrained-reaction force and moment balance, about global origin using current X+u arms and spatial physical moments, each has normalized error <=1e-8."
tolerance: "Global force/moment normalized <=1e-8; tangent/objectivity tolerances fixed by Numerical Review; units and global origin exact."
trace_to:
  parent_need: "Independent nonlinear follower-pressure verification"
  downstream_agents: ["Numerical Review Agent", "Physics Evaluation Agent"]
status: draft
id: FESA-REQ-SHELL-PRESSURE-022
statement: "The FESA solver shall use reference/shellNL-meshfine-pressure/shellNL-meshfine-pressure.inp and reference/shellNL-meshfine-pressure/shellNL-meshfine-pressure displacements.csv as the exact read-only required reference input and comparison CSV."
category: verification
rationale: "기존 pressure model과 실제 acceptance CSV를 최소 exact contract로 고정한다."
source: benchmark
priority: must
verification_method: reference-comparison
acceptance_criteria: "The input is read at its existing path and resolves 729 nodes, 676 S4 elements, Part-1-1, Surf-1 covering elements 1–676 on SPOS, NLGEOM=YES, and DSLOAD P=1e6; the required CSV has 729 finite factor-one node rows and remains unmodified."
tolerance: "Artifact path/name and inventory exact; Git diff shows no reference modification."
trace_to:
  parent_need: "Stored nonlinear pressure reference"
  downstream_agents: ["Numerical Review Agent", "Implementation Planning Agent"]
status: draft
id: FESA-REQ-SHELL-PRESSURE-023
statement: "The FESA solver shall compare factor-one HDF5 nodal displacement to the required CSV by deterministic source node identity and component, treating U1/U2/U3 as blocking and UR1/UR2/UR3 as warning-only."
category: verification
rationale: "Reference row order나 internal index에 의존하지 않는 observable comparison을 만든다."
source: docs
priority: must
verification_method: reference-comparison
acceptance_criteria: "CSV (Frame, Part Instance Name, Node Label, component) maps one-to-one to HDF5 (Step-1, unique accepted load_factor=1.0 frame, source instance, source node label, UX/UY/UZ/URX/URY/URZ); missing, extra, duplicate, nonfinite, wrong-frame or wrong-component required rows fail before tolerance."
tolerance: "Translation blocking family and rotation warning-only family each use docs/TOLERANCE.md; identity/component/frame prechecks exact."
trace_to:
  parent_need: "Deterministic external displacement acceptance"
  downstream_agents: ["Numerical Review Agent", "I/O Definition Agent"]
status: draft
id: FESA-REQ-SHELL-PRESSURE-024
statement: "The FESA solver shall exclude local reaction and stress CSV values from the blocking or warning-only acceptance boundary for this feature while preserving declared internal equilibrium and existing result obligations."
category: constraint
rationale: "Review-only reaction distribution과 formulation-dependent stress를 pressure acceptance로 오인하지 않는다."
source: docs
priority: must
verification_method: inspection
acceptance_criteria: "reference/shellNL-meshfine-pressure/shellNL-meshfine-pressure reactions.csv is inventoried only as optional review evidence; reference/shellNL-meshfine-pressure/shellNL-meshfine-pressure stresses.csv is excluded; neither missing file nor numerical mismatch changes the feature verdict, and no comparator family is created for stress."
tolerance: "Disposition exact; internal equilibrium follows FESA-REQ-SHELL-PRESSURE-012 and -021; external numerical tolerance N/A for excluded quantities."
trace_to:
  parent_need: "Minimal reference acceptance boundary"
  downstream_agents: ["Numerical Review Agent", "I/O Definition Agent"]
status: draft

7. Input Requirements Summary

  • Required model data: named TYPE=ELEMENT surface with S4/S4R SPOS|SNEG members.
  • Required history data: step-level *DSLOAD with exactly surface name, P, finite uniform scalar.
  • Keyword and enum tokens are case-insensitive; stable original label/source identity is retained.
  • Surface definitions resolve before load application; ambiguity, empty membership, incompatible duplicate membership and unsupported variants fail closed.
  • *DLOAD is not an alias for *DSLOAD and remains unsupported by this feature.

8. Output Requirements Summary

  • Authoritative result: lexical sibling <stem>_results.h5; nonlinear log remains the existing procedure log, not a result substitute.
  • This feature requires no new authoritative dataset. Pressure effects must be visible in existing nodal displacement, reaction/generalized residual, global equilibrium and element result paths.
  • Global nodal component order is [UX,UY,UZ,URX,URY,URZ]; translations use length, rotations are dimensionless, force uses force, and physical moment uses force-length.
  • Source instance/node/element labels and deterministic row order remain stable.
  • CSV is only an external reference/debug view and never official solver output.

9. Verification Quantities

quantity units / coordinates / identity acceptance role
nodal displacement U1/U2/U3 length; global Cartesian; factor-one (instance,node,component) external blocking
nodal rotation UR1/UR2/UR3 dimensionless radian convention; global components; same identity external warning-only
constrained reaction force/force-length; global full-DOF source node identity internal physics/equilibrium; local CSV optional review only
accepted free residual force/force-length generalized channels; stable free mask nonlinear blocking-internal through existing convergence contract
global equilibrium force [3], force-length moment [3]; global origin [0,0,0], current X+u arms nonlinear factor-one blocking-internal, normalized <=1e-8
total applied pressure resultant force and force-length about declared origin; global analytical linear/nonlinear invariant
element internal force/resultant existing MITC4 result identity, units, coordinates unchanged preservation/physics evidence; no new external family
stress existing MITC4 stress output unchanged pressure reference comparison excluded
strain existing MITC4 generalized strain output unchanged preservation only; no feature-specific comparison
energy N/A no new authoritative energy quantity; follower behavior is checked by force/tangent/equilibrium evidence

10. Tolerance Policy

External displacement/rotation comparison은 docs/TOLERANCE.md를 그대로 사용한다.

  • Family pressure_nodal_translation_blocking: one model/case, Step-1 factor-one accepted frame, length, global Cartesian, components U1/U2/U3, blocking.
  • Family pressure_nodal_rotation_warning: same case/frame, dimensionless rotation, global components UR1/UR2/UR3, warning-only.
  • 각 family에서 reference-only S=max(abs(reference)), near-zero band 0.01*S, non-near-zero relative error <=0.05, family RMS(error)/S<=0.01을 함께 적용한다.
  • 별도 absolute-error gate와 max(1,S)를 사용하지 않는다. S=0이면 FESA도 exact zero여야 한다.
  • Required row의 missing, extra, duplicate, nonfinite, identity/component/frame mismatch는 tolerance 전에 실패한다.
  • Internal global force/moment balance는 각각 normalized <=1e-8이다. Analytical patch, geometry, objectivity와 tangent finite-difference의 구체적 scale/perturbation tolerance는 Numerical Review Agent가 기존 solver practice와 formulation scale을 사용해 구현 전에 확정한다. 이는 사용자 결정이 아니며 external family tolerance로 대체하지 않는다.

11. Reference Case Requirements

Required acceptance artifacts

role exact path requirement
input reference/shellNL-meshfine-pressure/shellNL-meshfine-pressure.inp required, read-only
blocking/warning CSV reference/shellNL-meshfine-pressure/shellNL-meshfine-pressure displacements.csv required, read-only, 729 finite factor-one rows

Reference input inventory는 S4 676개, node 729개, instance Part-1-1, surface Surf-1, element 1–676의 SPOS, *STEP, NLGEOM=YES, *DSLOAD의 Surf-1, P, 1e+06이다.

HDF5 projection and matching

  • FESA source: /steps/Step-1/frames/<unique-load-factor-1.0>/nodal/displacement, component order [UX,UY,UZ,URX,URY,URZ], source node rows from /model/nodes.
  • CSV source: Frame, Part Instance Name, Node Label, U-U1, U-U2, U-U3, UR-UR1, UR-UR2, UR-UR3.
  • Match key: (factor-one frame, case-insensitive stable source instance identity, numeric source node label, logical component); value columns map U1/U2/U3/UR1/UR2/UR3 to UX/UY/UZ/URX/URY/URZ.
  • Exact one-to-one inventory precheck precedes docs/TOLERANCE.md.

Non-required inventory artifacts

  • reference/shellNL-meshfine-pressure/shellNL-meshfine-pressure reactions.csv: 729-row optional local review inventory; not a blocking/warning required CSV.
  • reference/shellNL-meshfine-pressure/shellNL-meshfine-pressure stresses.csv: 5,408-row optional inventory; excluded from numerical comparison.

이 기능은 canonical filename, README, metadata, provenance, Abaqus version 또는 추가 CSV를 readiness 조건으로 요구하지 않는다. 모든 reference artifact는 current exact path/name에서 read-only로 사용한다.

12. Requirement Verification Matrix

id category source priority verification method compact acceptance evidence tolerance intended gate / owner status
FESA-REQ-SHELL-PRESSURE-001 input user must test valid SURFACE+DSLOAD S4/S4R mapping discrete exact Gate 5/6 · I/O, Implementation draft
FESA-REQ-SHELL-PRESSURE-002 input standard must test finite uniform scalar and units parsed/dimension exact Gate 2/5/6 · Research, I/O, Implementation draft
FESA-REQ-SHELL-PRESSURE-003 functional docs must test deterministic source surface inventory identity/order exact Gate 5/6 · I/O, Implementation draft
FESA-REQ-SHELL-PRESSURE-004 constraint user must test only S4/S4R and SPOS/SNEG inventory exact Gate 2/5/6 · Research, I/O, Implementation draft
FESA-REQ-SHELL-PRESSURE-005 physics standard must analysis positive/negative direction reversal sign exact; analytical scale-aware Gate 2–4/6 · Research, Formulation, Numerical Review, Implementation draft
FESA-REQ-SHELL-PRESSURE-006 physics standard must test connectivity/SPOS/SNEG reversal sign exact; geometry tolerance downstream Gate 2–4/6 · Research, Formulation, Numerical Review, Implementation draft
FESA-REQ-SHELL-PRESSURE-007 physics user must analysis linear reference-area/normal invariant analytical tolerance downstream Gate 3/4/6 · Formulation, Numerical Review, Implementation draft
FESA-REQ-SHELL-PRESSURE-008 physics standard must analysis current-surface follower objectivity invariant tolerance downstream Gate 2–4/6 · Research, Formulation, Numerical Review, Implementation draft
FESA-REQ-SHELL-PRESSURE-009 numerical standard must analysis external tangent finite difference norm/perturbation downstream Gate 3/4/6 · Formulation, Numerical Review, Implementation draft
FESA-REQ-SHELL-PRESSURE-010 numerical derived must test exact-once load-factor scaling factor exact; roundoff downstream Gate 3/6 · Formulation, Implementation draft
FESA-REQ-SHELL-PRESSURE-011 functional docs must test stable full-DOF assembly/projection index/order exact Gate 3/6 · Formulation, Implementation draft
FESA-REQ-SHELL-PRESSURE-012 physics docs must analysis reactions and free residual include pressure internal tolerance downstream Gate 4/6/7 · Numerical Review, Implementation, Physics draft
FESA-REQ-SHELL-PRESSURE-013 constraint docs must test repeated serial/parallel deterministic evidence discrete/reduction exact Gate 5/6 · I/O, Implementation draft
FESA-REQ-SHELL-PRESSURE-014 input user must test unsupported variant fail-closed failure exact Gate 5/6 · I/O, Implementation draft
FESA-REQ-SHELL-PRESSURE-015 input docs must test invalid/unresolved/ambiguous surface fail identity/failure exact Gate 5/6 · I/O, Implementation draft
FESA-REQ-SHELL-PRESSURE-016 numerical user must test invalid procedure/nonfinite/geometry fail finite/procedure exact; geometry downstream Gate 4–6 · Numerical Review, I/O, Implementation draft
FESA-REQ-SHELL-PRESSURE-017 output docs must test deterministic diagnostic and atomic failure identity/file-state exact Gate 5/6 · I/O, Implementation draft
FESA-REQ-SHELL-PRESSURE-018 output user must inspection existing HDF5 remains sole authority schema/authority exact Gate 5/6 · I/O, Implementation draft
FESA-REQ-SHELL-PRESSURE-019 output docs must demonstration existing observable result chain finite units/coords/id exact Gate 5–7 · I/O, Implementation, Physics draft
FESA-REQ-SHELL-PRESSURE-020 verification derived must analysis S4/S4R linear patch/sign/resultant suite analytical tolerance downstream Gate 4/6 · Numerical Review, Implementation draft
FESA-REQ-SHELL-PRESSURE-021 verification derived must analysis nonlinear objectivity/tangent/residual/balance global balance <=1e-8; others downstream Gate 4/6/7 · Numerical Review, Implementation, Physics draft
FESA-REQ-SHELL-PRESSURE-022 verification benchmark must reference-comparison exact input/required CSV inventory read-only path/inventory exact Gate 4/6 · Numerical Review, Implementation draft
FESA-REQ-SHELL-PRESSURE-023 verification docs must reference-comparison one-to-one U blocking/UR warning mapping docs/TOLERANCE.md; precheck exact Gate 4–6 · Numerical Review, I/O, Implementation draft
FESA-REQ-SHELL-PRESSURE-024 constraint docs must inspection reaction review-only, stress excluded disposition exact Gate 4–6 · Numerical Review, I/O, Implementation draft

Matrix coverage: normative IDs 24, matrix rows 24, orphan normative IDs 0, matrix-only IDs 0.

13. Open Questions, Assumptions, and Risks

Critical user decisions

없음. 승인된 physics, supported scope, external tolerance, authoritative output과 reference acceptance boundary를 바꾸는 미결정 사항이 없다.

Downstream specialist decisions (사용자 질문 아님)

  • Formulation Agent: surface quadrature, equivalent nodal vector와 follower-load linearization을 독립 FESA formulation으로 고정한다.
  • Numerical Review Agent: analytical patch, degenerate/current geometry, objectivity 및 tangent finite-difference의 scale-aware tolerance와 perturbation을 고정하고, exact reference artifact readiness와 internal gate를 재확인한다.
  • I/O Definition Agent: 승인 syntax/semantic mapping, diagnostic representation과 existing HDF5 projection을 최종 확정한다. 새 authoritative output이 필요하다는 evidence가 없으면 추가하지 않는다.

Assumptions and risks

  • ASSUMPTION-001: S4와 S4R은 기존 FESA MITC4 formulation을 선택하되 source type은 보존한다.
  • ASSUMPTION-002: Zero pressure는 valid no-load scalar이며 surface/model validation을 우회하지 않는다.
  • RISK-001: Conventional shell의 element-based *DLOAD P sign과 surface-based *DSLOAD P sign을 혼합하면 방향 오류가 생긴다. 이 기능은 후자만 지원한다.
  • RISK-002: Follower pressure를 fixed-global nodal load로 근사하면 large rotation과 external tangent가 틀린다.
  • RISK-003: Reference displacement만 맞추고 global equilibrium/tangent를 생략하면 공통-mode 오류를 놓칠 수 있다.

14. Downstream Handoff

  • Research Agent: Abaqus pressure sign/follower evidence, shell-normal convention과 독립 FESA pressure verification sources의 applicability limit를 조사한다. Abaqus 내부 동등성을 주장하지 않는다.
  • Formulation Agent: FESA-REQ-SHELL-PRESSURE-005–012, 020–021을 구현 가능한 pressure virtual-work, load vector 및 external tangent 계약으로 변환한다.
  • Numerical Review Agent: exact input/displacement artifact, source identity/component/family, common external tolerance와 internal analytical/tangent/equilibrium tolerance를 검토한다. Reaction CSV는 review-only, stress CSV는 excluded로 유지한다.
  • I/O Definition Agent: *SURFACE/*DSLOAD subset, fail-closed diagnostics, stable semantic target, existing HDF5 projection과 CSV row mapping을 정의한다.
  • Coordinator Agent: 이 문서의 Gate 1 evidence를 검토한 뒤에만 다음 owner를 dispatch한다.

Stage 1 경계에서 code, formulation, C++ API, reference artifact 또는 tolerance policy는 변경하지 않았다.