Files
FESADev/docs/hex8-structural-analysis/precision-formulation.md
T

22 KiB
Raw Blame History

Hex8 동해석 high+low 정식화

2026-10-11 질량 정책 변경: HEX8-ADR-010에 따라 현재 고유치·HHT는 lumped mass를 사용한다. 아래 consistent 질량을 전제로 한 수식 후보·검토·PASS/FAIL은 해당 시점의 이력이다. 변경본 통과로 승계하지 않으며 현재 수식은 formulation, 재검증 상태는 PRD의 현재 checklist를 따른다.

적용: 사용자가 2026-10-09 선택 A로 승인한 정밀도 제안. 기본 물리식·DOF·부호·적분점 순서는 formulation, 판정 원본은 numeric-controls, 영속 출력은 I/O다. 본 문서는 승인된 정밀도 변경의 구현 계약이며 구현 완료나 독립 수치 승인이 아니다. 사용자 선택 B의 평균 Green trace energy는 모든 절차에 적용하며 이 문서는 그 동적 paired 평가를 정의한다. Static/frequency의 F64 산술 종류는 유지하되 물리 energy/K0는 같은 새 모델이다.

산술과 고정 계수

내부 scalar (z=(z_h,z_l))의 물리값은 실수 합 (\widehat z=z_h+z_l)다. 두 성분은 finite IEEE binary64이며, RN은 round-to-nearest, ties-to-even이다. 정규화는 error-free TwoSum 계열의 재분해로 같은 합을 보존하고 (z_h=\operatorname{RN}(\widehat z))를 만족시킨다. 영은 유일한 ((+0,+0))으로 정규화한다. Nonoverlap 조건은 이 RN 식으로 정의하며 binade 경계에서 임의의 대칭 ULP 간격을 가정하지 않는다. 입력 binary64 (c)는 ((c,0))으로 올린다.

아래 식의 덧셈·곱셈·나눗셈·축약은 별도 표시가 없으면 전체 pair 연산이다. 연산의 목표는 전체 피연산자의 실수 연산값이며 실제 결과에는 pair 산술 반올림이 있다. 덧셈은 high/low 네 항과 취소 오차, 곱셈은 hh/hl/lh/ll 네 곱과 product error를 포함하고 정규화한다. 나눗셈은 nonzero 전체 분모로 계산하며 high quotient만을 반환하지 않는다. Quotient refinement의 잔차 (x-yq)에도 양쪽 low와 product error가 참여한다. TwoSum/FMA product-error 및 고정 순서의 residual refinement는 가능한 구현이며 구체적인 storage/backend/vendor 타입은 지정하지 않는다.

이 표현은 IEEE binary128도, 모든 연산의 correctly-rounded 106-bit 보장도 아니다. EFT 전제가 성립하는 normal 범위에서 연산 graph의 오차는 same-unit uncancelled operand scale에 대해 binary64 단일 연산의 1차 오차를 회수한 2차 수준이어야 한다. 취소 후 작은 결과값만을 relative error 분모로 삼지 않는다. 구현별 graph의 roundoff bound를 독립 exact dyadic/rational oracle와 대조한다. 최종 잔차가 작다는 사실로 산술 오차 bound를 대신하지 않는다. Subnormal에는 gradual underflow를 적용하고 EFT의 exact-error 보장이 깨지는 항은 실제 binary64 반올림 오차로 따로 포함한다. Exponent 범위를 확장하지 않으며 최소 양의 quantum은 (2^{-1074})다. Underflow로 이 quantum보다 작은 결과가 반올림되는 것과 임의의 low/잔차 clamp를 구별한다. FTZ/DAZ 또는 재결합이 전제를 깨는 실행은 지원 산술의 증거가 아니다. 입력·중간·결과의 NaN/Inf, overflow, zero divisor와 정상화 실패는 candidate 실패다. 유한한 최종 실수값만으로 overflow한 중간 연산을 통과시키지 않는다.

Underflow로 소실된 비영 항을 exact-zero 평형이나 양의 형상 인증의 근거로 쓰지 않는다. 특히 high product가 정상/비영이라는 검사만으로 hl/lh/ll product와 FMA residual의 underflow가 배제되지는 않는다. 구현한 graph가 해당 소실의 오차를 보수적으로 추적해 zero/부호/gate를 보증하지 못하는 입력은 지원 산술 범위 실패다. 모든 EFT intermediate를 지원한다는 가정 없이 실제 지원 범위와 실패 경계를 독립 검사에 남긴다.

Exact-zero, 부호, abs, max, 비교와 동일 상태 판별은 정규화한 전체 pair를 사용한다. 비영 low를 지닌 값을 high만 읽어 zero로 판정하지 않는다. Pair 합산 순서는 기존 source, element, local component 및 CSR 순서로 결정적으로 고정한다.

실제 primitive graph의 오차와 지원 경계

구현은 src/fesa/math/high_low_arithmetic.h이며 원시 두 성분 입력을 조용히 정상화하지 않는다. F64 scalar lifting의 ±0만 canonical(+0,+0)로 만든다. Native 실행에서 RN 및 MXCSR의 FTZ/DAZ 비활성을 검사하고, 지원하지 않는 환경을 자동 변경하지 않는다.

Add의 head/tail/middle/join TwoSum이 EFT인 지원 범위에서 최종 exact 합과의 차이는 j=joined.low, m=middle.low, t=tail.low, z1=RN(j+m), z2=RN(z1+t)의 두 반올림뿐이다. 따라서 absolute bound는 Badd=|z1-(j+m)|+|z2-(z1+t)|다. Normal 합에 대해서는 u(|j+m|+|z1+t|), u=2^-53으로 상계한다. Subnormal 덧셈은 quantum-grid에서 exact인 지원 사례를 별도로 검사한다. 취소된 최종 결과만으로 bound를 나누지 않는다.

TwoProduct는 각 비영 입력의 실제 least dyadic bit exponent 합이 −1074 이상인 경우만 지원한다. FMA residual까지 표현될 수 있는 보수적 범위이며 high product만 검사하지 않는다. 지원된 hh/hl/lh/ll 네 product는 exact pair이고 Multiply의 absolute bound는 이어지는 세 Add의 Badd 합이다. Overflow 또는 지원되지 않는 exact tail은 invalid로 전파한다.

Divide는 첫 quotient 후 두 번 full residual refinement를 사용한다. 각 step에서 현재 stored pair의 실수값을 n,d,q라 하고 rtilde=Subtract(n,Multiply(d,q))=(rh,rl), Br=Bmultiply(d,q)+Bsubtract(n,p), c=RN(rh/dh)로 둔다. Bq는 Add(q,c)의 bound, Bc는 scalar quotient RN bound이면 새 quotient의 absolute error는 Bq+Bc+(|rh*dl|+|rl*dh|)/(|dh|*|d|)+Br/|d| 이하이다. 분모는 exact pair의 양의 절댓값 또는 |dh|-|dl|의 보수적 양의 lower bound를 사용한다. Normal quotient의 Bc=u*|rh/dh|, 지원 subnormal의 exact rational rounding cell bound를 구별한다. 두 번째 step도 새 full residual을 다시 계산한다. Quotient가 비영 residual을0으로 소실하거나 중간 연산이 지원 범위를 벗어나면 실패한다. 이 bound는 universal correctly-rounded 106-bit 보장이 아니다. 독립 exact rational fixtures와 binary scaling으로 실제 graph를 검증한다.

최소 계수 정밀도 선택은 다음과 같다. 기존 reference cache의 F64 (N_a,G_a,w_g), μ와 좌표, 기존 조립 F64 consistent (M), 기존 load assembler가 endpoint에서 평가한 F64 (F_n)를 exact dyadic 입력으로 올린다. Bulk κ는 기본 정식화의 (E/[3(1-2\nu)]) direct F64 coefficient를 한 번 finite/positive 검증 후 exact lift한다. 실수 identity (\kappa=\lambda+2\mu/3)로부터 변경 전 rounded λ/μ cache의 bit equality를 추론하지 않는다. 새 law에는 별도 λ cache/guard가 없으며 μ/κ를 같은 energy/S/Hessian에 쓴다. 입력 ν 범위·기존 reference geometry/mass 적분은 유지하며 높은 차수 quadrature로 바꾸지 않는다. 아래 상대변위의 (\widehat G_0), 새 paired linear operator, 평균·dev의 /3 및 cross-GP contraction은 동일 pair 산술로 구성한다. 새 F64 K0 또는 변경 전 pointwise K0를 paired 힘에 혼합하지 않는다. 일정 F64 (\alpha,\beta,\gamma,h)는 기존 생성값을 올리며 (c=1+\alpha), (b=\beta h^2)와 모든 파생 계수는 공통 pair 산술로 계산한다. (b>0,c>0) 및 finite를 요구한다. 기존 coefficient 생성·검증과 time=double(n)*h, N*h==T 및 endpoint 하중 평가 의미는 유지한다.

같은 상대변위에서의 energy·force·Hessian

절점 index (a=0,\ldots,7), 성분 (i=1,2,3), node-major 24 DOF를 사용한다. (u,v)의 단위는 length, length/time이고 (a,A)는 length/time²다. 기존 8개 reference point 각각에서

[ d_a=u_a-u_0,\quad H=\sum_{a=1}^7d_a\otimes G_a, \qquad \widehat G_a=G_a\ (a>0),\quad \widehat G_0=-\sum_{a=1}^7G_a. ]

모든 차·곱·합은 pair다. (\delta H=\sum_{a=0}^7\delta u_a\otimes\widehat G_a)가 실제로 평가한 상대변위 식의 미분이다. Force/tangent에 기존 (G_0)를 따로 사용하면 이 미분이 아니다. F64 cache를 exact dyadic로 보면 기존 (\sum_aG_a=0)은 반올림 때문에 exact일 필요가 없다. (\widehat G_0) 선택은 기존 상대변위 weak form의 일관된 수치 평가이며 잔차 projection이나 사후 힘 보정이 아니다. Pair 자체의 유한 반올림 오차는 남는다. (\widehat G_0) 생성은 local node1부터7까지 고정 순서의 paired sum과 negate다. 수식의 실수 합과 그 pair 근사 오차를 구별하고, 임의 reduction 순서에서 저장된 (\sum_a\widehat G_a)가 exact0이라고 주장하지 않는다. Node0의 미분 오차도 이 graph의 산술 bound에 포함한다.

(V=\sum_gw_g>0)는 같은 reference8점의 pair sum이고 trial에 따라 변하지 않는다. 선형 동해석에서는 실제 (\epsilon_g=\operatorname{sym}H_g), (\bar\theta_{lin}=\sum_gw_g\operatorname{tr}\epsilon_g/V), (\sigma_g=2\mu\operatorname{dev}\epsilon_g+\kappa\bar\theta_{lin}I)이고

[ U_{lin}=\mu\sum_gw_g\operatorname{dev}\epsilon_g:\operatorname{dev}\epsilon_g +\kappa V\bar\theta_{lin}^2/2, \quad f_{ai}=\sum_gw_g\sigma_{g,iJ}\widehat G_{ag,J}. ]

(Q_g^{ai}=\operatorname{sym}(e_i\otimes\widehat G_{ag})), (b^0_{ai}=\sum_gw_g\widehat G_{ag,i})에서 linear operator는

[ (K_{lin}){ai,bk}=2\mu\sum_gw_g\operatorname{dev}Q_g^{ai}:\operatorname{dev}Q_g^{bk} +\kappa b^0{ai}b^0_{bk}/V. ]

실제 strain의 engineering/tensor shear 구분은 기존 계약을 유지한다. 비선형 동해석은 (F=I+H)이며 tiny strain의 불필요한 I 취소를 피하는 동등식

[ E_g=\operatorname{sym}H_g+\tfrac12H_g^TH_g,\quad \bar\theta=\sum_gw_g\operatorname{tr}E_g/V,\quad S_g=2\mu\operatorname{dev}E_g+\kappa\bar\theta I,\quad P_g=F_gS_g, ] [ U=\mu\sum_gw_g\operatorname{dev}E_g:\operatorname{dev}E_g+\kappa V\bar\theta^2/2, \qquad f_{ai}=\sum_gw_gP_{g,iJ}\widehat G_{ag,J}. ]

(H,E,S,P,F,U,f), V/평균/(\operatorname{dev}E=E-\operatorname{tr}E I/3)와8점 recovery는 low를 보존한다. Element의8점 E를 평가한 뒤 같은 full trial에서 평균/S/P를 계산한다. H나 평균을 만든 직후 F64로 축소하는 경로는 이 계약을 충족하지 않는다. (Z_g^{ai}=\operatorname{sym}(F_g^T(e_i\otimes\widehat G_{ag}))), (b_{ai}=\sum_gw_g(F_g\widehat G_{ag})_i)에서

[ (K_{geo}){ai,bk}=\delta{ik}\sum_gw_g\widehat G_{ag}^TS_g\widehat G_{bg}, ] [ (K_{mat}){ai,bk}=2\mu\sum_gw_g\operatorname{dev}Z_g^{ai}:\operatorname{dev}Z_g^{bk} +\kappa b{ai}b_{bk}/V, \qquad K_t=K_{mat}+K_{geo}. ]

마지막 outer product는 서로 다른 GP도 포함하는 전체 체적 Hessian이다. (\delta\bar\theta=\sum_hw_h\operatorname{tr}\delta E_h/V)를 미분해야 하며 GP-local 기존 StVK tangent를 사용하거나 mean을 고정하는 경로는 허용하지 않는다. 이 평균은 승인된 energy의 일부이며 사후 residual/force projection이 아니다. 각 식은 동일 trial·동일 계수·동일 2×2×2 적분을 사용한다. 에너지의 실수 polynomial 미분을 pair 산술로 평가한 tangent이며 유한 반올림 함수의 미분을 주장하지 않는다. Zero state의 paired (K_t=K_{lin})이고 geometric 항은0이다. Paired (K_{lin})과 새 energy의 F64 K0 사이에는 coefficient/평균/축약 roundoff 차이가 있을 수 있다. Byte identity나 두 산술 경로의 exact equality를 요구하지 않는다. 변경 전 비수정 pointwise K0와는 물리 energy가 달라졌으므로 차이를 roundoff로 설명하지 않는다. 새 경로의 차이는 실제 측정하고 linear weak form·energy gradient·tangent 불변량으로 독립 검토한다. 대칭 강제 평균이나 잔차 floor로 이 검토를 대신하지 않는다. Strained tangent가 SPD라고 가정하지 않는다.

실수 geometric completeness (\sum_a\widehat G_{ag}=0), (\sum_aX_a\otimes\widehat G_{ag}=I)를 전제한 pure rigid motion은 F=R/E=U=f=0이다. Rounded cached G/(\widehat G)/pair 산술에서 실제 rotation은 same-unit uncancelled scale과 coefficient/graph bound로 검증한다. Partition sum만으로 affine reproduction/exact0을 보장하지 않는다. 평균 Green trace는 finite left-rotation 객관성을 유지하며 Fbar/mean J/log strain을 사용하지 않는다.

형상·질량 action·복구

현재 절점은 실수값 (x_a=X_a+u_{ah}+u_{al})이다. Whole-cell 인증의 outward-rounded interval은 세 항 전체를 포함한다. F64 X+RN(u)를 먼저 만든 뒤 singleton interval로 바꾸지 않는다. Interval (I(X)+I(u_h)+I(u_l)) 또는 exact-sum expansion의 보수적 enclosure를 사용하며 이후 determinant, Bernstein 변환·subdivision도 outward rounding한다. 양의 lower bound를 인증하지 못하면 기존 depth10/cell budget65536에서 uncertain failure다. Low를 누락한 형상을 인증하거나 small low를 무조건 안전한 것으로 간주하지 않는다. Point (\det F>0)도 full tensor에서 확인하며 유한성/부호가 불확실하면 accept하지 않는다.

비선형 Cauchy (\sigma=FSF^T/\det F), Green strain, 선형 Cauchy/infinitesimal strain은 pair로 복구한다. 8점 global tensor의 실제 shear [11,22,33,12,13,23]를 유지한다. 실제 E/ε를 저장하며 modified mean strain으로 치환하지 않는다. Point stress는 실제 E/ε와 element mean trace law에 의존한다. S의 공통 isotropic 항으로부터 finite Cauchy pressure의 pointwise equality를 추론하지 않는다. Public shape/dtype/schema는 그대로다. (M)은 기준 형상·밀도에서 한 번 조립한 기존 F64 matrix 그 자체이고 변형/시간에 따라 변하지 않는다. 모든 action ((Mz)i=\sum_j(M{ij},0)z_j)는 full z와 pair product/reduction이다. F64 (M)으로 먼저 rounded high action을 계산하고 low를 별도 residual 보정으로 넣지 않는다.

[ T=\tfrac12v^TMv,\quad p=\sum_a(Mv)_a,\quad L_O=\sum_ax_a\times(Mv)_a,\quad \dot L_O=\sum_ax_a\times(Ma)_a. ]

Current position·momentum·reaction·work·energy balance까지 pair로 계산한다. (W_{ext,n+1}=W_{ext,n}+\tfrac12(F_n+F_{n+1})^T(u_{n+1}-u_n)), balance error는 기존 (T+U-T_0-U_0-W_{ext})다. HHT numerical dissipation을 지우지 않는다. 선형 current moment의 (\sum u_a\times f_a=O(u^2)) 해석과 TL 객관성/기준-arm identity는 기본 정식화를 유지한다. F64 coefficient 오차와 pair 산술 오차를 독립 검사의 scale에서 구별하고, finite-rotation 결과를 exact0으로 보정하지 않는다.

HHT 전체 state와 Newton

Accepted (u_n,v_n,a_n,A_n,f_n,F_n,r_n,W_{ext,n}), predictor 및 candidate는 low를 포함한다. 초기 (u_0=v_0=0), (A_0=a_0), (M_{ff}a_{0f}=F_f(0+)-f_f(0))다. 초기 backend 해도 lift한 뒤 full endpoint로 검증한다. Constrained (u,v,a,A)는 항상 canonical exact0이다.

[ u_p=u_n+hv_n+h^2(\tfrac12-\beta)A_n,\qquad v_p=v_n+h(1-\gamma)A_n, ] [ A_{n+1}=(u_{n+1}-u_p)/b,\quad v_{n+1}=v_p+\gamma hA_{n+1},\quad a_{n+1}=(A_{n+1}+\alpha a_n)/c. ]

Candidate의 rates·element response·mass actions·recovery는 이 동일 전체 상태에서 평가한다. Physical residual은 (r=Ma+f-F), reaction은 constrained projection, free reaction은 exact0이다. 다음 두 weighted 표현을 별도로 계산한다.

[ R=MA_{n+1}+c(f_{n+1}-F_{n+1})-\alpha(f_n-F_n), \qquad R_{eq}=c r_{n+1}-\alpha r_n, ] [ R-R_{eq}=M d_A,\quad d_A=A_{n+1}-c a_{n+1}+\alpha a_n, \qquad K_{eff}=M/b+cK_t. ]

마지막 식은 rates의 roundoff defect를 드러낸 항등식이다. Accepted old residual을0으로 대체하지 않는다. (R_{eq})를 RHS로 쓰는 경우에도 원래 weighted 식과의 일치 gate를 통과해야 하고 tangent는 같은 weighted 표현의 (K_{eff})다. Endpoint residual만 사용하면 그 Jacobian은 (K_{eff}/c)이며 서로 혼용하지 않는다. Backend에는 최종 조립한 paired (K_{eff})와 RHS를 RN64로 전달하고 F64 보정량을 pair로 올려 (u\leftarrow u+\delta u)에 누적한다. High-only 상태에서 tangent를 재계산하지 않는다. 이 backend solve는 원래 tangent의 rounded approximation이며 full residual/physical gate를 대체하지 않는다. Directional tangent 검사는 paired analytic derivative와 rounded backend matrix의 coefficient-rounding 차이를 따로 평가한다. Backend/nonfinite 실패는 rollback한다.

Physical criterion은 모든 원래 free 성분의 (S_i=|(Ma)i|+|f_i|+|F_i|), (\max_i|r_i|/S_i\le10^{-10})다. (S_i=0)이면 (r_i=0)을 exact로 요구한다. Norm·분모·gate도 full pair다. Weighted identity scale은 기존 uncancelled 정의를 그대로 pair로 평가한다. 즉 각 row의 (\sum_j[|M{ij}A_j|+c|M_{ij}a_j|+|\alpha M_{ij}a_{n,j}|+ |M_{ij}d_{A,j}|]), (c(|f_i|+|F_i|)+|\alpha|(|f_{n,i}|+|F_{n,i}|)), (c|r_i|+|\alpha r_{n,i}|)의 합이다. (|R-R_{eq}|/scale\le10^{-12}), zero scale은 exact-zero branch이며 finite 검사를 먼저 수행한다.

Fresh correction의 네 channel은 (\delta A=\delta u/b), (\delta v=\gamma h\delta A), (\delta a=\delta A/c)에서 각각 (|\delta u|\infty/L,h|\delta v|\infty/L, h^2|\delta a|\infty/L,h^2|\delta A|\infty/L\le10^{-10})다. 동일 full (\delta u)와 공통 계수를 쓰며 새 dummy channel은 없다. Update gate는 위 u/v/A 등식의 좌변과 전개된 각 우변 항의 same-unit abs 합을 scale로 사용해 defect/scale (\le10^{-12}), scale0은 exact-zero다. Increment당100회 제한, 고정 h와 기존 schedule, 빈 free의 vacuous convergence를 유지한다. 이미 존재하는 hold/revisit 제어를 사용한다면 final gate는 모든 원래 free 성분을 검사하고 동일 상태 판별에 전체 u pair와 mask를 포함한다. Carry·holding으로 physics state의 low를 대체하지 않는다.

Commit·observable·검증의 의미

Accepted/trial 복사는 모든 high/low와 이전 residual·누적 work를 보존한다. Geometry, recovery, finite, update/weighted identity, physical/correction gate가 모두 통과한 candidate만 commit한다. 실패는 accepted state·predictor 원본·reference cache·기존 최종 파일을 보존한다. 다음 증분은 published F64 배열 대신 accepted 전체 pair를 사용한다. Restart는 지원하지 않는다.

각 공개 F64 값은 (\operatorname{RN}(z_h+z_l))이며 high만 저장한다는 가정 대신 올바른 최종 반올림을 검증한다. Schema·shape·source identity는 기존 계약을 유지한다. Recovery를 rounded u에서 재계산해 published full-recovery observable을 바꾸지 않는다. 내부 gate PASS는 published F64 u/v/a를 재입력해 같은 gate를 통과했다는 주장과 다르다. Self-check는 schema/identity/finite 및 내부 물리량의 올바른 RN64 serialization을 확인한다. 로그는 내부 high+low 산술과 적용 gate를 명시한다. 출력 overflow/nonfinite는 실패다.

검증은 다음 반증 가능한 사례를 포함한다. 실행/통과 기록은 이 문서의 범위가 아니다.

  • Exact dyadic/rational oracle: (x=(1,2^{-60})), (y=(1,-2^{-60}))에서 (x-y=2^{-59}), (x,2^{60}-2^{60}=1), binary-power division·normalization, cancellation·binade/tie·subnormal·overflow/zero-divisor를 검사한다. High collapse 대조는 앞 두 항등식에서 실패해야 한다. 일반 곱/비이진 나눗셈은 실제 graph 오차 bound로 검사한다.
  • 작은 brick 및 coupled 두 Hex8: 공통 high 병진과 (2^{-60}) 규모의 비균일 low field로 nonzero H/E/f/U와 이웃 element/global row 전달을 확인한다. 에너지 차분·signed directional tangent의 step sweep(기준 node0의 독립 perturbation 포함), paired linear–NL zero-state 일치, reference-weighted mean/dev와 cross-GP outer product의 low 전달을 확인한다. Rigid translation/rotation·covariance의 completeness/roundoff, local6 rigid modes/rank18와 warped의 extra-null/conditioning·공간수렴/잠김을 검사한다. High-only 대조가 같은 물리장을 만들지 못하는 유의한 force/energy scale을 선택한다.
  • Compatible 비균일 trace field로 center/unweighted mean과의 차이, weighted-variance energy 차이 및 평균의 directional derivative를 검사한다. GP-local bulk tangent나 rounded mean을 사용하는 대조는 energy→force→tangent/full low 검사에서 실패해야 한다.
  • Coupled consistent M에 low velocity/acceleration을 주어 off-diagonal inertia·T·momentum 및 current moment를 검사한다. 비영 old (r_n)의 weighted 항등식·네 correction·세 update 식과 full-state oracle를 대조한다. (-\alpha r_n)를 생략하는 대조는 실패해야 한다.
  • Exact oracle로 (X+u_h+u_l)의 interval 포함을 확인하고 low가 현재 면 간격을 만드는 작은 형상 사례를 포함한다. Positive/invalid/uncertain 구분 및 low 누락의 false certificate를 검사한다. 불확실한 형상을 interval 대신 estimate로 승인하지 않는다.
  • Accepted low가 다음 predictor/rates에 참여하는 copy/commit 사례, 실패 trial의 rollback, rounded output/readback 및 geometry/backend/output 실패 보존을 검사한다. 기존 시간수렴, 에너지·운동량·반력·외부 원본 기준도 유지한다.

미해결 evidence는 구현한 primitive graph의 normal/subnormal 오차 bound와 지원 범위의 독립 검토, paired coefficient 차이의 실제 측정, 위 불변량 및 원본 endpoint 검증이다. 추가 physics/acceptance 선택은 이 문서에서 만들지 않는다. 산술 bound나 작은 coupled 사례가 충족되지 않으면 tolerance를 바꾸거나 더 높은 정밀도를 자동 채택하지 않고 근거를 반환한다.