Files
FESADev/docs/hht-implicit-dynamics/physics-evaluation.md
T

15 KiB
Raw Blame History

HHT 동해석 물리 평가

  • Owner: physics-evaluation-agent; 검토일: 2026-09-27.
  • 판정: 미통과 — C08 시간수렴 실패 유지. HHT-PHY-005 굽힘 resultant 불일치는 재생성된 원본 HDF5에서 해소를 확인했다. 완료 원본의 전판 관성 평형과 U reference 통과를 전체 physics gate 통과로 확대하지 않는다.
  • 적용 계약: 정식화, 관성 상세, N1–N7, C01–C12, reference, I/O, 상속 recovery §13.

Findings

ID 상태 근거·영향·후속 owner
HHT-PHY-001 C08 필수 시간수렴 FAIL 원 physical chart acceleration의 C08a finest 오차 5.67565924005e-4 > 1e-4, 마지막 두 차수 1.028668669/1.028969238 < 1.8. 별도 회복 후보도 C08a finest 1.005829141e-4, C08b finest angular-a self-difference .868938661로 미달이다. Hidden2 개선만으로 시간 정확도를 입증하지 않는다. 구현·수치 owner의 후속 판단이 필요하다.
HHT-PHY-002 기존 reference 대기 해소; coverage 제한 유지 공식 101-frame HDF5와 comparator precheck, U 101 families PASS 확인. UR은 frame 1–100에서 row/RMS warning 200건. V/A/반력/에너지는 CSV 비교 대상이 아니다.
HHT-PHY-003 제한 Debug evidence 유지 기존 focused Debug 68 tests 중 67 PASS/1 C04a SKIP. 이번 C08은 optimized 실행으로 전체 configured Debug/CTest 완료가 아니다.
HHT-PHY-004 C04a finest reduction INCONCLUSIVE 유지 Binary64 acceleration 차이 3.07902091e-10은 기존 1e-10보다 크고 N7 해상도 6.29613541e-10보다 작다. Decimal80 차이 1.69341451e-73은 수학적 identity 근거이며 binary64 통과가 아니다.
HHT-PHY-005 해소 — 수정 후 원본 HDF5 재검산 새 원본 HDF5의 M11/M22/M12가 (t³/12)Cκ와 최대 symmetric relative 차이 1.94601128e-16으로 일치한다. 이전 2배 불일치는 보관본에만 남는다. 100개 noninitial section-resultant dataset의 굽힘 성분만 정확히 .5배로 바뀌었고 나머지 데이터는 유지된다. 이 결론은 해당 recovery 수정의 검증이며 C08 통과가 아니다.
HHT-PHY-006 원본 시간 정확도 제한 T 최대 191.61420902651, energy defect 최대 +190.225571555207, 최종 −1.39842750647836. 독립 적분도 같은 T를 준다. 거친 h/T1≈7.4567에서 작은 U와 reference 일치가 rate/energy 정확도를 입증하지 않는다. 이 reference에 없는 energy bound를 새 gate로 만들지 않는다.

원본 HDF5 독립 계산

현재 공식 HDF5의 SHA256은 f07beddaa232abe314e20210534a243d6deaf1f677c598c64f9334428bbecb56이다. 9월 26일 volume·평형 계산의 원본은 수정 전 보관본, SHA256 23bac93d1f7998b2f74a0f68767ae98a9899ee92c53f5170d08a814d3ee936d4다. 9월 27일 uv run --with h5py python -B -로 두 파일의 2033 datasets를 독립 대조했다. 값이 다른 dataset은 100개 noninitial section resultants뿐이다. 해당 dataset 안의 M 성분은 새 값이 옛 값의 정확히 .5배이며 N/Q 성분은 같다. 2025 floating datasets의 byte 비교에서도 그 100개 외 변경은 없다. 따라서 아래 평형·kinetic energy·운동학·stress 계산은 동일 데이터에 관한 근거로 유효하며, 굽힘 결과는 아래 새 재검산으로 대체한다.

Reviewer는 solver/build 및 artifact 재생성을 실행하지 않았다. 검토는 stdin Python/NumPy 계산과 실행 결과 열람이다. 모든 floating result 값의 finite 확인은 수정 전 audit와 수정 후 finite M 재검산·나머지 데이터 동일성으로 유지된다. 단위는 consistent-input-units; 이하 L/F/T는 입력 length/force/time이며 SI로 단정하지 않는다.

729 nodes/676 S4, 외곽 104 nodes의 6 DOF 고정, 중심 source node 2에 constant force (-100000,-100000,-100000) F다. rho=2700, 면적 100, 두께 .5, 총질량 135000; 독립 27점 적분값은 135000.00000000003이다.

재계산은 저장 연결·초기 좌표의 bilinear N과 초기 Jacobian에 3×3×3 Gauss–Legendre quadrature를 적용했다. z∈[-t/2,t/2], x=ΣN_i(X_i+u_i+z d_i), ḋ=ω×d, d̈=ω̇×d+ω×(ω×d)로 volume v/a를 재구성하고 T=½∫rho v·v dV0, Pdot=∫rho a dV0, Ldot=∫rho x×a dV0를 계산했다. Current nodal arm은 X+u, 원점은 (0,0,0)이다. 이 모델의 applied moment는 0이고 support chart는 0이므로 spatial moment 변환은 항등이다. 일반 nonzero constrained rotation의 변환 검증으로 확대하지 않는다.

검사 실제 계산·최대값 판정과 한계
고정 경계·반력 고정 q/v/a/A 모두 exact 0; Rg−selector(E)=0, free reaction exact 0; R−Rg=0 N2/I/O와 일치.
Full residual E−(I+f_int−F)=0; free force/moment 최대 4.52473614e-10 F / 3.06939613e-11 F·L 상쇄된 항으로 N2 분모를 재정의하지 않는다.
N2 accepted 로그 101 rows의 최대 rho_u=1.22427119e-15, rho_phi=8.19697100e-16; frame0 phi numerator=scale=0 각각 <=1e-10. 양의 u scale 범위 [200036.43398,446896.14404] F, phi [7874.45824,56398.12645] F·L. Element별 uncancelled terms는 HDF5에 없어 로그 scale 자체를 독립 재조립하지 않았다.
N2 correction u/phi 순서: q 2.44698e-11/7.62279e-12, v 4.88286e-11/1.52110e-11, a 9.34518e-11/2.91120e-11, A 8.87792e-11/2.76564e-11 로그의 무차원 metric 모두 <=1e-10. 원 선형계 N2-L은 이번 audit 대상 밖이다.
N6 force Σ(F+R)−Pdot 최대 7.27596e-10 F; normalized 최대 9.16951367e-16 <=1e-8. 상쇄 전 applied/support 절점 force norm 및 volume inertia norm 합의 범위 [401544.1353,1277362.8173] F.
N6 moment Σ(x×F+M)−Ldot 최대 1.37915e-10 F·L; normalized 최대 2.63510938e-16 <=1e-8. 상쇄 전 applied/support moment 및 volume moment norm 합의 범위 [274879.6378,1244342.4463] F·L. 두 N6 분자는 infinity norm이다.
저장 balance 독립 계산과 global/equilibrium 성분별 차이 최대 7.13044e-10 서로 다른 단위의 물리 norm이 아닌 성분별 차이 요약이다. HDF5에 없는 raw momentum/분모를 위 독립 적분으로 보충했다.
Kinetic energy 저장 T와 직접 volume T 절대차 3.12639e-13 F·L, 상대차 2.98657131e-15 N4 직접 kinetic 기준 1e-12 이내. A를 사용하지 않았다.
Energy 정의 W−ΣF·(q−q0)=0, defect−(T+Uphys+Udrill−E0−W)=0; frame0 다섯 값 모두 0 I/O 정의와 일치. 비선형 음수 alpha에 매-frame 감소/정확 보존을 요구하지 않는다.
방향·대칭 중심 `max Ux−Uy
회전·변형 규모 전판 `max Uz

초기 support force 합은 각 방향 −.0146805358 F, Pdot는 각 방향 −100000.014680536 F다. 작은 초기 반력 부호는 consistent mass coupling의 동적 평형과 일치한다. 최종 support 합 (100032.408356,100032.408356,100011.576861) F에 applied force를 더하면 독립 Pdot=(32.4083563,32.4083563,11.5768612) F와 일치한다. Support 합이 하중 반대값과 정확히 같아야 한다는 정적 판정을 적용하지 않았다.

T/Uphys/Udrill은 모두 비음수, 최대값은 (191.6142090,5.087207660,1.893293439e-5) F·L, 최대 Udrill/Uphys=4.38863644e-6이다. 최대 T와 양의 defect는 frame10(t=1)에 발생한다. 최종 (T,Uphys,Udrill,W,defect)=(.000284443261,1.399111305,5.197018635e-6,2.797828452,-1.398427506) F·L. 이는 수치 에너지 결함이며 physical damping energy가 아니다.

Recovery 수정 전·후 검산

Plane-stress C=E/(1−nu²)[[1,nu,0],[nu,1,0],[0,0,(1−nu)/2]]로 모든 101 frames/element/GP를 검사했다. N=t C epsilon0의 max|차이|/(max|좌변|+max|우변|)는 2.04358e-16이다. 수정 전 M=(t³/12)C kappa 대조의 같은 metric은 0.333333333333334로 저장값/예상값이 2였다. 수정 후에는 최대 절대차 1.45519152e-11 F, 같은 symmetric relative metric 1.94601128e-16으로 일치한다.

Frame1, internal element 12(0-based; source Part-1-1, element label 13), GP2에서 kappa11=kappa22=−1.72598199555e-5 L^-1이다. t=.5,E=2.1e11,nu=.3이면 M11=M22=−53936.9373610 F다. 수정 전 저장값은 −107873.8747221 F였고 수정 후 −53936.93736103468 F로 일치한다. 같은 점의 S11(bottom,middle,top)=(795234.504841,−499254.790420,−1793738.488372) F/L²에서 독립 두께 moment t²(S_top−S_bottom)/12도 약 −53936.93736 F다. Source identity는 HDF5 /model/elements의 해당 행으로 정한다.

전 frame의 face stress 차분 적분과 수정 M의 최대 절대차는 4.07217431e-6 F, 위 symmetric relative metric은 1.93401205e-10이다. 한쪽 max|M|만 분모로 쓰는 main audit의 metric은 3.86802409e-10으로 동일 차이를 표현한다. 고 E·작은 strain에서 별도 평가된 face stress의 차감은 curvature 대조보다 민감하다. Face identity가 전역 1e-12로 일치한다고 주장하지 않는다. 수정 전 2배 오류 해소와 유한정밀도 차감 차이를 구별한다.

Generalized strain은 midsurface 값이 아니라 두께 평균/moment다. 따라서 C epsilon0와 middle stress의 작은 차이, top/bottom 평균과 middle stress의 작은 차이를 오류로 판정하지 않았다. 최대 membrane strain 5.07413e-6, curvature 1.72598e-5 L^-1, transverse shear strain 4.28336e-6, stress 1.79377197e6 F/L²는 작은 탄성 변형률 규모와 일관된다. Numerical drill이 physical stress에 포함됐다고 단정할 근거는 없다.

C08 및 제한 evidence

9월 26일 C08 diagnostic 로그는 195745 ms에 1 PASS/2 FAIL로 종료해 이전 로그의 실패를 재현했다. C08a pointwise 독립 volume force/power/momentum은 최대 회전 .54757231145 rad에서 PASS다. 시간 이력의 acceleration 차수/오차 실패와 finest N7 noise 분리 미달은 별도로 남는다.

C08b finest q_u/q_phi/v_u/v_phi/a_u/a_phi self-difference는 (5.54743e-6,1.38701e-4,1.77613e-4,.0115434,.0119796,.868939)다. q_u 외 채널은 finest 1e-4를 넘는다. 최대 회전 약 .27266 rad로 finite-rotation 범위는 도달했다. Energy/L error finest 9.55904e-7/4.29749e-7, 마지막 refinement 비율 .248198/.250140은 C08b bounds와 일치한다. P error는 3.85047e-14→4.82500e-14→2.00403e-13으로 작지만 감소 조건에 실패했다. Roundoff 수준이라는 관찰로 승인 감소 조건을 면제하지 않는다. Finest hidden v/a defect 1.46403e-6/.00158291은 진단량이며 N2 tolerance에 임의 대입하지 않는다.

후속 회복 후보 probe는 3 tests/1 PASS/2 FAIL이며, C08a split 수정 실행은 2 tests/1 PASS/1 FAIL이다. C08a recovered angular-a finest 최대오차 1.005829141075e-4, 마지막 두 raw 차수 1.77942349/1.99162617은 기존 bounds를 모두 충족하지 않는다. 수정된 split의 finest null/physical maximum은 4.64641213e-7/1.00582661e-4로 physical complement가 지배한다. 최초 probe의 C08a split=0은 loop 누락 diagnostic이므로 근거로 사용하지 않는다.

C08b recovered angular-a self-difference는 .846306569/.881654308/.982191000/.868938661로 수렴하지 않는다. Finest physical/null maximum은 .868938153/.00286332558이다. q/v를 유지하는 null-only recovery로 이 physical complement 오류가 해소되지 않는다는 근거다. Maximum들은 서로 다른 node/time일 수 있어 제곱합으로 합치지 않는다. Post-hidden2 ratio는 C08a finest 2.81779e-16, C08b pair별 약 6.06e-17..1.45e-16으로 작아졌지만, 독립 수치 검토의 explicit-time scale·recovery N7 noise qualification이 남는다. Hidden2 개선은 시간 정확도·후보 채택 승인과 다르며 recovered-a order는 INCONCLUSIVE다. 원 a_h의 FAIL은 그대로다.

기존 제한 근거: C01/C03/C04a/C04b scalar 시간수렴 약 2차, C07 alpha0 energy defect 1.14353e-13 <=1e-10, 기본 alpha의 omega*h=1000 spectral radius .904763은 analytic limit .9047619048에 접근한다. C05/C06 kernel/rotation PASS와 C07 physical inertial support reaction은 각각의 검사 범위만 지지한다.

Evidence와 잔여 위험

실제 shell의 physical acceleration/무질량 좌표 시간 정확도와 C08b self-convergence는 미해결이다. 원본 굽힘 recovery 수정의 물리 대조는 완료했지만 HDF5에 없는 raw hidden vectors·regularity 조건수·N2-L 원 선형계는 이번 audit로 독립 확인하지 않았다. C09–C11 실패 보존·결정론·전체 rigid-motion coverage와 전체 Debug/CTest는 해당 실행 보고서에서 확인해야 한다. 완료 reference는 이 공백을 해소하지 않는다. 계약·수치 한계·artifact를 변경하지 않았으며 본 문서는 release 승인 문서가 아니다.