Files
2026-10-18 14:32:55 +09:00

34 KiB
Raw Permalink Blame History

Shell Surface Pressure Load Formulation

현재 구현·검증은 기능 요약을 먼저 따른다. 아래 준비 상태·owner 인계와 옛 source 문서명은 작성 당시 이력이며, 원문은 Git 이력에서 확인한다.

1. Metadata

  • feature_id: shell-surface-pressure-load
  • source_requirement: docs/shell-surface-pressure-load/requirements.md
  • source_research: docs/shell-surface-pressure-load/research.md
  • source_requirement_range: FESA-REQ-SHELL-PRESSURE-001–FESA-REQ-SHELL-PRESSURE-024
  • status: ready-for-numerical-review
  • owner_agent: formulation-agent
  • date: 2026-08-30
  • formulation_scope: S4/S4R source element의 SPOS|SNEG named element surface에 작용하는 uniform surface-based DSLOAD P
  • evidence_boundary: research.md의 CL-03–CL-10, CL-12–CL-15와 binding project contracts

이 문서는 FESA가 소유하는 압력 하중의 수학적·알고리즘 계약이다. Abaqus 문서는 승인된 입력과 observable sign/follower behavior의 근거일 뿐이다. 이 문서는 Abaqus의 내부 shell formulation, integration, stabilization, load-vector, pressure-load stiffness 또는 결과 생성 절차와 FESA가 동등하다고 주장하지 않는다.

2. Scope and Assumptions

2.1 승인 범위

항목 계약
analysis type 단일 linear static 또는 승인된 full-Newton nonlinear static NLGEOM=YES
source elements Abaqus source type S4, S4R; 둘 다 기존 FESA MITC4를 선택하되 source type/label은 보존
load *SURFACE, TYPE=ELEMENT의 single-sided `SPOS
linear geometry reference configuration
nonlinear geometry trial/current configuration x=X+u; current-area follower pressure
material/section 기존 MITC4 linear isotropic elastic shell material/section 그대로
coordinates geometry, pressure force, reaction, equilibrium은 global Cartesian
units model-consistent; p:[F/L^2], u:[L], rotation [1], force [F], physical moment [F L]

Linear static은 small-displacement/small-rotation 해석이며 pressure geometry를 reference configuration에 고정한다. Nonlinear static은 finite translation/rotation을 허용하는 geometrically nonlinear 해석이며 trial/current midsurface geometry를 사용한다. Material nonlinearity는 추가하지 않는다.

2.2 제외와 기존 계약 보존

  • *DLOAD element-face pressure, P n, spatially varying pressure, amplitude, user load, edge/node/double-sided surface, 다른 element type과 다른 procedure는 이 formulation의 대상이 아니다.
  • Surface offset, shell thickness face arm, thickness-side pressure correction과 distributed pressure couple을 사용하지 않는다. 압력은 midsurface에 작용하는 force resultant만 만든다.
  • S4/S4R source type은 같은 FESA MITC4 및 같은 pressure quadrature를 사용한다. S4R이라는 source token은 FESA reduced pressure integration이나 별도 hourglass 경로를 선택하지 않는다.
  • 기존 MITC4 strain, stress, material tangent, drilling stabilization과 result recovery는 변경하지 않는다. 압력은 material-independent external contribution이다.
  • 새로운 pressure-only HDF5 dataset, integration-point pressure output 또는 nodal extrapolation을 만들지 않는다.

3. Primary Variables, Symbols, and DOFs

3.1 Nodal variables and ordering

Four-node element의 generalized coordinate는

[ \mathbf q_e= [\mathbf u_1,\boldsymbol\theta_1, \mathbf u_2,\boldsymbol\theta_2, \mathbf u_3,\boldsymbol\theta_3, \mathbf u_4,\boldsymbol\theta_4]^T\in\mathbb R^{24}, ]

이고 각 절점의 global 순서는

[ [UX,UY,UZ,URX,URY,URZ] ]

이다. \mathbf u_i\in\mathbb R^3의 단위는 [L], \boldsymbol\theta_i\in\mathbb R^3는 dimensionless finite-rotation coordinate다. \mathbf E_i\in\mathbb R^{3\times24}를 \mathbf E_i\mathbf q_e=\mathbf u_i인 translation extractor로 둔다.

압력 geometry와 pressure generalized force는 오직 UX/UY/UZ에 의존한다. URX/URY/URZ, shell director와 thickness offset은 pressure geometry에 들어가지 않는다. 따라서 pressure force의 rotational entries와 pressure tangent의 rotation row/column은 모두 정확히 zero다.

Global generalized coordinates는 stable full-DOF space에서 free set q_f와 prescribed constrained set q_c로 분할한다. Pressure contribution은 이 분할 전에 full space에 조립한다. 기존 essential-constraint policy가 q_c를 정하고, constrained residual은 reaction, free residual은 equilibrium evidence다.

3.2 Symbols and sign convention

symbol meaning dimension
(\xi,\eta) natural coordinates on [-1,1]^2 [1]
N_i bilinear shape function [1]
\mathbf X_i, \mathbf x_i reference, current nodal position; x_i=X_i+u_i [L]
\mathbf g_\xi,\mathbf g_\eta covariant surface tangents in the chosen configuration [L]
\mathbf a=\mathbf g_\xi\times\mathbf g_\eta connectivity-positive oriented area vector per d\xi d\eta [L^2]
J_s=|\mathbf a| unsigned surface Jacobian [L^2]
s side multiplier: +1 for SPOS, -1 for SNEG [1]
p unscaled signed source DSLOAD P magnitude [F/L^2]
\lambda current analysis step load factor [1]
[\mathbf v]_\times skew matrix satisfying [v]_\times w=v\times w same as v

Selected-side oriented area vector는 \mathbf a_s=s\mathbf a다. Positive DSLOAD P는 selected normal 반대 방향이므로 natural-area force density는

[ d\mathbf f_p=-\lambda p,s,\mathbf a,d\xi d\eta. \tag{1} ]

따라서 exact sign map은 다음과 같다.

side selected normal p>0 force p<0 force
SPOS connectivity-positive -\mathbf n +\mathbf n
SNEG connectivity-negative +\mathbf n -\mathbf n

여기서 \mathbf n=\mathbf a/\|\mathbf a\|다. Magnitude에 absolute value를 취하지 않는다. 이 sign은 named surface의 surface-based DSLOAD P 계약이다. Element/element-set face label을 쓰는 DLOAD sign rule을 가져오지 않는다.

4. Strong Form and Boundary Conditions

Reference body \Omega_0에 대한 일반적인 equilibrium strong form을

[ \operatorname{Div}\mathbf P+\mathbf B=\mathbf0 \quad\text{in }\Omega_0, ] [ \mathbf u=\bar{\mathbf u}\quad\text{on }\Gamma_u, \qquad \mathbf P\mathbf N=\bar{\mathbf t}\quad\text{on }\Gamma_t ]

로 둔다. Shell reduction에서 selected shell face pressure는 midsurface external distributed load로 나타낸다. 승인 pressure patch에서 spatial traction은

[ \mathbf t_p=-\lambda p,\mathbf n_s, \qquad \mathbf n_s=s\mathbf n. \tag{2} ]

여기서 P는 first Piola stress, B는 reference body force density, N은 reference outward normal이고 Gamma_u, Gamma_t는 Dirichlet/Neumann boundary partition이다. Equation (2)는 current-area spatial traction이다. Reference weak form에서 그 nominal pullback은 \bar t_0 dA=t_p da를 만족해야 하며, 아래 oriented-area integral이 이 변환을 직접 포함한다.

Linear path에서는 (2)의 direction과 area measure를 reference surface에서 평가한다. Nonlinear path에서는 current surface에서 평가한다. 압력은 edge traction이나 nodal couple을 추가하지 않으며, 기존 essential displacement/rotation constraints가 \Gamma_u를 정의한다.

5. Weak or Variational Form

Admissible test field \delta\mathbf q는 \Gamma_u에서 zero다. Equilibrium functional은

[ G(\mathbf q;\delta\mathbf q) =\delta W_{int}(\mathbf q;\delta\mathbf q) -\delta W_{ext}(\mathbf q;\delta\mathbf q)=0. \tag{3} ]

Integration by parts 뒤 body/edge natural terms와 selected pressure term이 external virtual work를 이룬다. 이 feature가 추가하는 element pressure virtual work는

[ \delta W_{p,e} =-\lambda p s\int_{-1}^{1}\int_{-1}^{1} \delta\mathbf x_h(\xi,\eta)\cdot\mathbf a(\xi,\eta) ,d\xi d\eta, \tag{4} ]

[ \delta\mathbf x_h=\sum_{i=1}^{4}N_i,\delta\mathbf u_i. ]

Equation (4)는 같은 interpolation에 대해 work-equivalent nodal force를 정의한다 (research.md CL-06). Rotational virtual coordinates에는 pressure virtual work가 없다. Internal virtual work와 pressure-independent body/edge load는 기존 MITC4/procedure 계약을 그대로 사용한다.

6. Discretization

6.1 Nodal layout and shape functions

Connectivity order와 natural node coordinates는

node i (\xi_i,\eta_i)
1 (-1,-1)
2 (+1,-1)
3 (+1,+1)
4 (-1,+1)

이며

[ \begin{aligned} N_1&=\tfrac14(1-\xi)(1-\eta),& N_2&=\tfrac14(1+\xi)(1-\eta),\ N_3&=\tfrac14(1+\xi)(1+\eta),& N_4&=\tfrac14(1-\xi)(1+\eta). \end{aligned} \tag{5} ]

Natural derivatives are fixed as

[ \begin{aligned} N_{1,\xi}&=-\tfrac14(1-\eta),&N_{1,\eta}&=-\tfrac14(1-\xi),\ N_{2,\xi}&=+\tfrac14(1-\eta),&N_{2,\eta}&=-\tfrac14(1+\xi),\ N_{3,\xi}&=+\tfrac14(1+\eta),&N_{3,\eta}&=+\tfrac14(1+\xi),\ N_{4,\xi}&=-\tfrac14(1+\eta),&N_{4,\eta}&=+\tfrac14(1-\xi). \end{aligned} \tag{5a} ]

필수 interpolation checks는

[ \sum_{i=1}^{4}N_i(\xi,\eta)=1, \qquad N_i(\xi_j,\eta_j)=\delta_{ij} \tag{6} ]

이다. (6)은 constant translation과 nodal interpolation을 보장한다.

6.2 Isoparametric surface mapping

Linear/reference mapping은

[ \mathbf X_h=\sum_iN_i\mathbf X_i, \quad \mathbf G_\xi=\sum_iN_{i,\xi}\mathbf X_i, \quad \mathbf G_\eta=\sum_iN_{i,\eta}\mathbf X_i, \quad \mathbf A=\mathbf G_\xi\times\mathbf G_\eta. \tag{7} ]

Nonlinear/current mapping은

[ \mathbf x_h=\sum_iN_i(\mathbf X_i+\mathbf u_i), \quad \mathbf g_\xi=\sum_iN_{i,\xi}\mathbf x_i, \quad \mathbf g_\eta=\sum_iN_{i,\eta}\mathbf x_i, \quad \mathbf a=\mathbf g_\xi\times\mathbf g_\eta. \tag{8} ]

Load integration은 natural derivative와 oriented area vector를 직접 사용하므로 physical in-plane derivative transform이나 2x2 inverse Jacobian이 필요하지 않다. Material strain B matrix를 계산하는 기존 MITC4 kernel의 derivative transform은 별도이며 변경하지 않는다.

7. Kinematics

Pressure load kinematic operator는 (7) 또는 (8)의 midsurface positional mapping이다. Linear path는 \mathbf A를 고정하며 candidate displacement가 pressure direction이나 area를 바꾸지 않는다. Nonlinear path는 trial \mathbf x=\mathbf X+\mathbf u를 사용한다.

Current area vector의 directional variation은 임의의 translational direction \Delta\mathbf u_j에 대해

[ D\mathbf a[\Delta\mathbf u] =D\mathbf g_\xi[\Delta\mathbf u]\times\mathbf g_\eta +\mathbf g_\xi\times D\mathbf g_\eta[\Delta\mathbf u], \tag{9} ]

[ D\mathbf a[\Delta\mathbf u] =\sum_{j=1}^{4} \left(-N_{j,\xi}[\mathbf g_\eta]\times +N{j,\eta}[\mathbf g_\xi]_\times\right) \Delta\mathbf u_j. \tag{10} ]

Pressure는 strain, deformation gradient 또는 director strain을 직접 계산하지 않는다. Geometrically linear/finite-rotation MITC4의 strain-displacement operator, strain measure와 internal tangent는 기존 formulation 계약을 따른다. 이 문서가 소유하는 새로운 kinematic derivative는 (9)–(10)뿐이다.

Objectivity invariants는 다음과 같다.

  • Uniform translation x_i'=x_i+c에서 tangents, area vector, nodal pressure forces는 변하지 않는다.
  • Proper rigid rotation x_i'=Qx_i+c, Q^TQ=I, det Q=+1에서 a'=Qa, f_i'=Qf_i, K_{ij}^{uu\prime}=QK_{ij}^{uu}Q^T다.
  • Homogeneous in-plane area change는 current vector area를 바꾸므로, 일정 scalar pressure라도 nonlinear total resultant magnitude가 current area에 따라 바뀔 수 있다.

8. Constitutive Contract

Existing MITC4 linear isotropic shell constitutive relation을 추상적으로

[ \mathbf s=\mathbf D\mathbf e, \qquad \delta\mathbf e=\mathbf B_{MITC4}\delta\mathbf q_e, \qquad \delta W_{int,e}=\int_{\Omega_{0,e}}\delta\mathbf e^T\mathbf s,d\Omega_0, \qquad \mathbf f_e^{int}=\int_{\Omega_{0,e}}\mathbf B_{MITC4}^T\mathbf s,d\Omega_0 ]

로 둔다. \mathbf e, \mathbf s, \mathbf D, MITC shear interpolation, drilling stabilization, existing material state와 internal consistent tangent는 이 feature가 변경하지 않는다. Pressure force와 external tangent는 \mathbf D, thickness, stress와 material state에 의존하지 않는다. 새 material state variable, mass 또는 damping contribution은 없다.

9. Element Equations

9.1 Consistent nodal pressure force

Equation (4)와 (5)로부터 node i의 translational force block은

[ \mathbf f_{p,i}^{u} =-\lambda p s\int_{-1}^{1}\int_{-1}^{1} N_i\mathbf a_c,d\xi d\eta\in\mathbb R^3, \tag{11} ]

여기서 linear path는 a_c=A, nonlinear path는 a_c=a다. Element generalized vector는

[ \mathbf f_{p,e}^{ext} =\sum_{i=1}^{4}\mathbf E_i^T\mathbf f_{p,i}^{u} \in\mathbb R^{24}. \tag{12} ]

각 node block은 [f_x,f_y,f_z,0,0,0]이며 translation은 [F], zero rotation entry의 generalized unit은 [F L]이다. p=0이면 force와 tangent는 exact zero지만 surface/model validation을 생략하지 않는다. \lambda는 unscaled source p에 식 (11)에서 정확히 한 번만 곱한다.

9.2 Linear path

Linear static에서는

[ \mathbf f_{p,e}^{lin} =-\lambda p s\int N_i\mathbf A,d\xi d\eta, \qquad \mathbf K_{p,e}^{ext,lin} =\frac{\partial\mathbf f_{p,e}^{lin}}{\partial\mathbf q_e} =\mathbf0_{24\times24}. \tag{13} ]

따라서 pressure는 reference-area/reference-normal constant load이고 candidate displacement와 독립이다.

9.3 Nonlinear external tangent

[v]_\times w=v\times w 정의와 (10)을 (11)에 대입하면 translation-to-translation 3x3 block은

[ \boxed{ \mathbf K_{p,ij}^{ext,uu} =\frac{\partial\mathbf f_{p,i}^{u}}{\partial\mathbf u_j} =\lambda p s\int_{-1}^{1}\int_{-1}^{1} N_i\left( N_{j,\xi}[\mathbf g_\eta]\times -N{j,\eta}[\mathbf g_\xi]_\times \right)d\xi d\eta }\in\mathbb R^{3\times3}. \tag{14} ]

동일 식의 implementable generalized form은

[ \mathbf K_{p,e}^{ext} =\sum_{i=1}^{4}\sum_{j=1}^{4} \mathbf E_i^T\mathbf K_{p,ij}^{ext,uu}\mathbf E_j \in\mathbb R^{24\times24}. \tag{15} ]

모든 rotation row와 column은 exact zero다. Nonzero block unit은 [F/L]이다. K_{p,e}^{ext}는 일반적으로 nonsymmetric이며 조용히 symmetrize하지 않는다. 특정 closed loaded boundary에서 global assembly가 대칭을 보일 수 있으나 element operator나 solver contract의 가정으로 사용하지 않는다.

9.4 Residual and Newton tangent sign

FESA nonlinear procedure의 binding convention은

[ \mathbf r=\mathbf f^{int}-\mathbf f^{ext}, \qquad \mathbf K=\frac{\partial\mathbf r}{\partial\mathbf q} =\mathbf K^{int}-\mathbf K^{ext}, \qquad \mathbf K\Delta\mathbf q=-\mathbf r. \tag{16} ]

따라서 (14)–(15)는 f_ext의 양의 directional derivative이고 residual tangent에는 -K_ext로 들어간다. Linear static도 같은 equilibrium sign으로 r=K_int q-f_ext다. 이 구분은 pressure force와 tangent에 같은 sign 오류를 넣어 finite difference만 통과하는 common-mode failure를 방지한다.

Mass와 damping은 이 static load feature에 없다.

10. Mapping, Numerical Integration, and Geometry Validity

10.1 Pressure quadrature

S4와 S4R source type 모두 pressure force와 pressure tangent에 동일한 tensor-product 2x2 Gauss rule을 사용한다.

[ g=1/\sqrt3, \quad (\xi_q,\eta_q)\in{(-g,-g),(+g,-g),(+g,+g),(-g,+g)}, \quad w_q=1. \tag{17} ]

Force와 tangent는 반드시 같은 point order와 weight를 사용한다. 실제 계산식은

[ \mathbf f_{p,i}^{u} =-\lambda p s\sum_{q=1}^{4}w_qN_i(q)\mathbf a_c(q), \tag{18} ]

[ \mathbf K_{p,ij}^{ext,uu} =\lambda p s\sum_{q=1}^{4}w_qN_i(q) \left(N_{j,\xi}(q)[\mathbf g_\eta(q)]\times -N{j,\eta}(q)[\mathbf g_\xi(q)]_\times\right). \tag{19} ]

Bilinear mapping에서 a(\xi,\eta)는 \xi,\eta의 affine vector이고, (18)과 (19)의 각 scalar component는 각 natural coordinate에 대해 차수가 최대 2다. 따라서 2x2 rule은 이 discrete uniform-pressure force와 그 exact derivative를 적분한다. 이 선택은 work-equivalence, force/tangent consistency와 단순성을 위한 FESA-owned 결정이며 Abaqus S4/S4R 내부 integration과의 동등성을 뜻하지 않는다.

10.2 Scale-aware surface validity contract

Reference validation에는 y_i=X_i, current trial validation에는 y_i=x_i를 사용한다. 각 configuration에서

[ \ell_e=\max_{1\le i<j\le4}|\mathbf y_i-\mathbf y_j|, \qquad \bar{\mathbf a}=\frac14\sum_{q=1}^{4}w_q\mathbf a(q), \qquad \bar{\mathbf n}=\frac{\bar{\mathbf a}}{|\bar{\mathbf a}|}. \tag{20} ]

\ell_e는 element의 실제 chord scale이고 임의의 max(1,...) 또는 absolute length floor를 사용하지 않는다. Numerical Review는 단 하나의 dimensionless surface threshold \tau_J\in(0,1)의 최종 값을 정해야 한다. 그 전까지 구현에 임시 default를 둘 수 없다.

Configuration은 다음 조건을 모두 만족해야 유효하다.

  1. 모든 y_i, \ell_e, covariant tangent, area vector와 (20)의 값이 finite여야 한다.

  2. \ell_e=0인 exact collapsed node inventory는 즉시 실패한다.

  3. Mean signed surface scale은 \|\bar a\|/\ell_e^2>\tau_J여야 한다.

  4. Check set C={(-1,-1),(+1,-1),(+1,+1),(-1,+1)}\cup{four Gauss points}의 모든 point z에서

    [ j_s(z)=\frac{\mathbf a(z)\cdot\bar{\mathbf n}}{\ell_e^2}>\tau_J \tag{21} ]

    이어야 한다.

  5. Four Gauss points 각각에서 J_s=\|a\|, N_i, derivatives, force integrand와 nonlinear tangent blocks가 finite여야 한다. Accumulated element vector/matrix도 finite여야 한다.

Bilinear surface의 area vector는 natural coordinates에 affine이므로, corner에서 (21)의 signed projection이 양수이면 square 내부 전체에서 같은 orientation을 유지한다. Gauss-point checks는 실제 적분 위치의 scale과 finite 값을 추가로 보장한다. Mean cancellation 또는 corner/point sign loss는 fold, local inversion 또는 singular mapping으로 분류해 fail closed한다.

Connectivity order는 orientation의 유일한 source이며 geometry validation이 node를 reorder, normal flip 또는 absolute-area repair하지 않는다. SPOS/SNEG의 s도 step 동안 고정한다. Current normal을 reference global normal과 dot-product 비교하지 않는다. 그러한 비교는 valid large rigid rotation을 inversion으로 잘못 거부한다. Coherent proper rigid rotation은 valid이고, local regularity/orientation loss만 (20)–(21)로 거부한다.

Reference configuration은 analysis 시작 전에 검사한다. Nonlinear current configuration은 매 Newton trial에서 force/tangent 평가 전에 검사한다. 어느 검사든 실패하면 해당 candidate의 pressure contribution, state와 final output을 commit하지 않는다.

11. Deterministic Assembly and Failure Contract

11.1 Source/facet identity and exact-once semantics

  • Resolved facet identity는 stable source (instance, element label, source element type, side)를 보존한다. S4/S4R은 같은 numerical kernel을 선택해도 source identity에서 합치지 않는다.
  • 한 named surface 안의 동일 facet membership은 unique inventory에 정확히 한 번 존재한다. 같은 element의 conflicting side/membership은 ambiguity로 fail closed한다.
  • 각각의 valid DSLOAD P source record는 distinct load identity다. 한 surface를 가리키는 여러 valid load record가 있으면 각 record를 source order에서 한 번씩 적용하고 합한다. 서로 다른 load record를 deduplicate하지 않는다.
  • Local contribution identity는 최소한 (load source order, resolved facet order, instance, element label, side, local row[, local column])을 포함한다.

Element-local vector와 tangent contribution을 먼저 완성·검증하고, 위 stable identity 순서로 full generalized space에 고정 reduction한다. Parallel producer는 global vector/matrix를 직접 갱신하지 않는다. Full-space assembly가 끝난 뒤에만 stable free/constrained projection을 적용한다. 이 계약은 surface declaration order, thread schedule과 internal index가 physical source identity나 floating reduction order를 바꾸지 않게 한다.

11.2 Fail-closed conditions

다음은 pressure contribution 없이 deterministic non-success로 끝나야 한다.

  • unsupported surface/load/side/element/procedure, unresolved·empty·ambiguous target 또는 incompatible duplicate;
  • nonfinite p, \lambda, nodal coordinate, tangent, area vector, integrand, element/global force 또는 tangent;
  • reference 또는 current geometry가 (20)–(21)을 위반함;
  • local/generalized dimension 또는 full-DOF scatter identity 불일치;
  • stable reduction 결과가 nonfinite임.

Input/mapping failure는 file/line/keyword/surface/load/facet source identity를 가능한 범위에서 보존하고, numerical failure는 configuration, load record와 facet identity를 보존한다. Exact diagnostic schema/code는 Stage 5 I/O가 소유하지만 failure category, source order와 atomicity는 여기서 바뀌지 않는다. 실패한 candidate는 accepted state나 정상 final HDF5로 publish하지 않는다.

12. Output Recovery

압력 효과는 기존 authoritative HDF5 결과에서만 관측한다.

quantity location / identity pressure contract
displacement/rotation nodal, global [UX,UY,UZ,URX,URY,URZ] 기존 accepted frame output; pressure solution effect 포함
full residual/reaction nodal full DOF, stable source node identity r=f_int-f_ext; constrained entry는 reaction, free entry는 equilibrium residual
global equilibrium accepted nonlinear factor-one frame, global origin applied pressure force와 current X+u arm을 사용한 applied-plus-reaction force/moment balance
element force/resultant 기존 MITC4 element/output locations internal recovery unchanged; pressure-only row 없음
generalized strain/stress 기존 MITC4 integration point/section locations material response를 기존 방식으로 복구; pressure dataset/extrapolation 없음

Pressure generalized vector의 rotational nodal entries는 zero지만 physical global moment는 current/reference force arm으로 계산한다. Origin O에 대한 applied pressure moment는

[ \mathbf M_O^p =\sum_i(\mathbf x_i-\mathbf O)\times\mathbf f_{p,i}^{u} =-\lambda p s\sum_qw_q (\mathbf x_h(q)-\mathbf O)\times\mathbf a(q) \tag{22} ]

이다. Linear check에서는 x 대신 X, nonlinear accepted equilibrium에서는 current x를 사용한다. 별도 pressure nodal moment를 더하지 않는다.

External reference disposition은 변경하지 않는다: stored displacement U1/U2/U3는 blocking, UR1/UR2/UR3는 warning-only, reaction CSV는 review-only, stress CSV는 excluded다. External comparison만 docs/TOLERANCE.md를 사용하며 analytical/tangent/geometry tolerance를 대신하지 않는다.

13. Algorithm Pseudocode

INPUT: approved step load factor lambda, ordered DSLOAD records,
       ordered unique surface facets, full nodal generalized trial q

validate procedure, finite lambda, load records, target identity and side

for load_record in stable source order:
    p = unscaled signed uniform magnitude
    validate p is finite

    for facet in stable resolved order:
        require source type S4 or S4R and side SPOS or SNEG
        preserve (instance, element label, source type, side)
        s = +1 for SPOS, -1 for SNEG

        if linear static:
            y_i = X_i
        else if nonlinear static:
            y_i = X_i + u_i from the current trial

        evaluate geometry scale and mean oriented area
        validate reference/current geometry at four corners and four Gauss points

        initialize f_e[24] = 0
        initialize K_ext_e[24,24] = 0

        for q in fixed 2x2 Gauss order:
            evaluate N_i, N_i,xi, N_i,eta
            evaluate g_xi, g_eta, a = g_xi cross g_eta
            validate every value and integrand is finite

            for i = 1..4:
                f_e.translation(i) += -lambda*p*s*w_q*N_i*a

                if nonlinear static:
                    for j = 1..4:
                        block = lambda*p*s*w_q*N_i *
                                (N_j,xi*skew(g_eta)
                                 - N_j,eta*skew(g_xi))
                        K_ext_e.translation(i),translation(j) += block

        require all rotation entries/rows/columns remain exact zero
        validate f_e and K_ext_e finite
        emit an element-local contribution with stable load/facet identity

stable-reduce all local pressure contributions into full-space f_ext and K_ext
combine with other approved loads in stable source order

linear:
    solve existing partitioned linear equilibrium using reference f_ext
    K_ext_pressure = 0

nonlinear trial:
    assemble existing MITC4 f_int and K_int
    r = f_int - f_ext
    K = K_int - K_ext
    partition only after full-space assembly
    solve K_ff * Delta_q_f = -r_f
    evaluate existing convergence gates

on accepted state only:
    recover displacement, full residual/reaction, global equilibrium,
    and existing MITC4 results
    atomically publish existing HDF5 contract

14. Verification Identities and Oracles

14.1 Analytical and algebraic identities

  1. Partition/Kronecker: (6) must pass exactly up to the Numerical Review-approved arithmetic check tolerance.

  2. Resultant: consistent assembly gives

    [ \sum_i\mathbf f_{p,i}^{u} =-\lambda p s\sum_qw_q\mathbf a_c(q). \tag{23} ]

    Flat patch에서는 right side가 -lambda*p*s*A*n이다.

  3. Moment: equation (22) must hold using the same quadrature and declared origin.

  4. Sign reversal: SPOS↔SNEG 또는 p↔-p는 force, tangent와 applied moment의 부호를 각각 정확히 반전한다. 두 번 반전하면 원래 부호다.

  5. Load factor: fixed geometry에서 lambda={0,0.5,1} force/tangent는 각각 exact proportional path를 따른다. Factor는 다른 layer에서 다시 곱하지 않는다.

  6. Rigid motion: translation/rotation objectivity와 tangent covariance는 §7을 만족한다.

  7. Rotation-only tangent direction: pressure force가 nodal rotations에 의존하지 않으므로 rotation-only direction d_theta에 대해 K_ext d_theta=0 exactly다.

14.2 Directional tangent oracle

Nondegenerate distorted current patch, both source types, both sides와 positive/negative pressure에 대해 translation direction d를 사용하여

[ \mathbf d_{FD}(\varepsilon) =\frac{\mathbf f^{ext}(\mathbf u+\varepsilon\mathbf d) -\mathbf f^{ext}(\mathbf u-\varepsilon\mathbf d)}{2\varepsilon} \quad\text{and}\quad \mathbf d_A=\mathbf K^{ext}(\mathbf u)\mathbf d \tag{24} ]

를 비교한다. 두 perturbed geometry 모두 §10.2를 만족해야 한다. epsilon, direction scaling, force scale와 norm criterion은 Numerical Review가 dimensionless rule로 확정한다. Residual tangent check는 (16)에 따라 -K_ext d와 비교한다.

14.3 Assembly, solution, and reference oracles

  • Flat/distorted S4와 S4R patch에서 resultant, moment, reaction, side/sign reversal을 검증한다.
  • 동일 geometry의 single/multi-element mesh와 shuffled declaration/member order에서 force/moment invariant와 stable reduction/diagnostic order를 검증한다.
  • Fully constrained patch에서 constrained reaction은 applied pressure와 equal-and-opposite이며, mixed constraint에서는 constrained reaction과 free residual을 분리한다.
  • Nonlinear accepted factor-one에서 applied-plus-constrained-reaction global force와 moment의 normalized error는 각각 <=1e-8이고 accepted free residual은 기존 convergence gate를 통과한다.
  • Exact stored input/CSV는 current path/name 그대로 read-only로 사용한다. External displacement agreement는 sign, tangent와 equilibrium unit checks를 대체하지 않는다.

15. Numerical Risks

risk formulation consequence / required evidence
rigid body modes Pressure는 support를 만들지 않는다. Unconstrained linear patch의 six rigid-body modes를 regularization으로 숨기지 않는다.
patch test Flat/distorted constant-pressure resultant와 moment, mesh subdivision invariant를 검사한다.
tangent symmetry Element K_ext는 일반적으로 nonsymmetric이다. Symmetrization 금지; full unsymmetric solver path를 유지한다.
positive definiteness K_int-K_ext는 follower loading에서 positive definite일 필요가 없다. Unsupported fallback/regularization으로 failure를 숨기지 않는다.
hourglass Pressure는 S4/S4R 모두 2x2로 적분하므로 pressure under-integration mode를 만들지 않는다. 기존 MITC4 drilling/hourglass 정책은 변경하지 않는다.
shear locking Existing MITC4 internal kinematics의 위험이며 pressure interpolation을 바꾸는 이유가 아니다. Thin-shell verification에서 분리 관찰한다.
volumetric locking Shell pressure load kernel에는 volumetric constitutive mode가 없어 직접 해당하지 않는다. 기존 material contract를 확장하지 않는다.
distortion / warpage Bilinear tangents와 vector area를 pointwise 사용하고 §10.2의 dimensionless check로 fold/collapse를 거부한다.
singular Jacobian J_s, signed projected area 또는 mean area scale이 threshold를 통과하지 못하면 force/tangent 계산 전에 실패한다.
sign/common-mode error Analytical sign/reaction oracle를 tangent finite difference와 함께 사용한다. FD만으로 force+tangent 공통 sign 오류를 승인하지 않는다.
source duplication/order Unique facet와 distinct load-record exact-once semantics, stable full-space reduction을 별도로 검사한다.
nonfinite propagation 매 geometry/integration/contribution/reduction boundary에서 finite를 확인하고 accepted state/output을 보존한다.

16. Requirement Traceability

requirement formulation disposition / verification evidence
FESA-REQ-SHELL-PRESSURE-001 §2, §3 sign/scope; exact syntax mapping은 Stage 5 I/O, formulation은 DSLOAD와 DLOAD를 분리
FESA-REQ-SHELL-PRESSURE-002 §3 p:[F/L^2], signed finite scalar; §9 exact-once scaling
FESA-REQ-SHELL-PRESSURE-003 §11 stable unique facet identity/order
FESA-REQ-SHELL-PRESSURE-004 §2 S4/S4R→existing MITC4, source identity retained, only SPOS/SNEG
FESA-REQ-SHELL-PRESSURE-005 equations (1), (11) and §14 sign-reversal oracle
FESA-REQ-SHELL-PRESSURE-006 connectivity-positive a, side multiplier s, fixed orientation rule §10.2
FESA-REQ-SHELL-PRESSURE-007 equations (7), (13); reference force and zero pressure tangent
FESA-REQ-SHELL-PRESSURE-008 equations (8), (11); current vector area and §7 objectivity
FESA-REQ-SHELL-PRESSURE-009 exact derivative (9)–(15), residual sign (16), FD oracle (24)
FESA-REQ-SHELL-PRESSURE-010 lambda occurs once in (11), (14); proportional oracle §14.1
FESA-REQ-SHELL-PRESSURE-011 §11 local contribution then stable full-space assembly before projection
FESA-REQ-SHELL-PRESSURE-012 residual/reaction sign (16), §12 recovery and equilibrium oracle
FESA-REQ-SHELL-PRESSURE-013 §11 stable identity, fixed quadrature/reduction/result/diagnostic order
FESA-REQ-SHELL-PRESSURE-014 §2 exclusions and §11.2 unsupported variant fail-closed handoff
FESA-REQ-SHELL-PRESSURE-015 §11 unique resolution, ambiguity/empty/conflicting membership failure
FESA-REQ-SHELL-PRESSURE-016 §10.2 configuration checks and §11.2 procedure/nonfinite/geometry failure
FESA-REQ-SHELL-PRESSURE-017 §11.2 stable diagnostic identity and no failed state/output commit
FESA-REQ-SHELL-PRESSURE-018 §2.2, §12 existing HDF5 authority; no new pressure dataset
FESA-REQ-SHELL-PRESSURE-019 §12 existing nodal/reaction/equilibrium/element result chain
FESA-REQ-SHELL-PRESSURE-020 §14 flat/distorted S4/S4R sign/resultant/reaction/mesh-order suite
FESA-REQ-SHELL-PRESSURE-021 §7 objectivity, (14)/(24) tangent, §14.3 residual/global balance
FESA-REQ-SHELL-PRESSURE-022 §14.3 exact stored path/name read-only contract retained
FESA-REQ-SHELL-PRESSURE-023 §12 U blocking/UR warning-only and deterministic source mapping retained
FESA-REQ-SHELL-PRESSURE-024 §12 reaction CSV review-only, stress CSV excluded; internal equilibrium remains blocking

Coverage: normative IDs 24, covered IDs 24, formulation trace gaps 0.

17. Open Issues and Downstream Handoff

17.1 Numerical Review-owned open issues

issue_id exact decision required constraint
FORM-NR-01 §10.2의 single dimensionless tau_J 최종 수치 chord scale ell_e, mean/corner/Gauss rules를 유지; max(1,...), absolute floor, clamp 금지
FORM-NR-02 (24)의 dimensionless perturbation scaling, vector norm와 acceptance tolerance centered FD, valid perturbed geometry와 both force/residual sign checks 유지
FORM-NR-03 analytical resultant/moment, rigid-motion objectivity와 shape-function arithmetic tolerance external docs/TOLERANCE.md로 대체하지 않고 model scale을 명시
FORM-NR-04 element/global pressure tangent symmetry evidence 확인 (14)를 기준으로 검토하며 symmetrization 또는 Abaqus internal assumption 도입 금지
FORM-NR-05 직접 적용 가능한 public S4/S4R follower benchmark 부재의 evidence disposition analytical suite와 exact stored case를 사용하고 target을 발명하지 않음

이 항목들은 승인 physics, sign, supported scope, HDF5 authority, stored reference disposition 또는 external tolerance를 바꿀 수 없다. Critical user question은 없다.

17.2 Handoff evidence

Numerical Review Agent는 Coordinator를 통해 다음을 독립 검토해야 한다.

  • Equation (11)의 selected-side/pressure sign과 (14)의 skew/cross-product sign;
  • r=f_int-f_ext, K=K_int-K_ext residual convention과 nonsymmetric assembly;
  • S4/S4R 공통 2x2 quadrature가 force/tangent에 동일하게 쓰이고 discrete integrand를 정확히 적분한다는 polynomial-degree argument;
  • §10.2의 reference/current dimensionless regularity 및 fold/inversion rule;
  • resultant, moment, rigid-motion, side/sign, FD tangent, reaction/free residual와 global balance oracle;
  • 24개 requirement trace와 output/reference disposition.

이 문서는 Numerical Review에 충분한 수학적 계약을 제공하지만 numerical approval을 의미하지 않는다. Parser/I/O schema, C++ API/file ownership, implementation, reference solver execution과 Gate 4 decision은 수행하지 않았다.