Files
FESADev/docs/hht-implicit-dynamics/physics-evaluation.md
T
KOKO\Mimi eaa5cbeb21 feat: adopt lumped mass and reduced-coordinate shell HHT
Integrate Hex8 mass verification and fixed-null-basis shell dynamics with numerical and physics handoff evidence. Preserve interrupted reference and full-validation status; full integration validation is deferred until after performance optimization.
2026-10-13 16:57:19 +09:00

36 KiB
Raw Blame History

HHT 동해석 물리 평가

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

2026-10-12 lumped 변경본 원본의 물리 검토

판정: 현재 원본 101 endpoints의 nodal inertia·평형·에너지 정의는 제한된 PASS. C08 시간 정확도 및 기능 전체 통과를 뜻하지 않는다. $fem-physics-review로 새 결과를 읽기 전용 검산했다. 아래 9월 consistent 결과와 구분한다. 상세 값은 lumped 계산 결과에 있다.

실행 evidence는 .dryforge/lumped-mass-adoption-20261011/references/shell-hht/의 native.json, comparison.json, shellNL-dyn-meshfine_results.h5다. Current production MSVC x64 Release CLI exit 0, U의 101 families blocking PASS, UR warnings 200건이다. HDF SHA-256은 e08f0ab304174f71c21c6644a6b7075ff5b122b2f7096936ddbcac6bcfbfb4ed다. 원본/실행 복사본 raw bytes가 같으며 metadata는 nodal-lumped-kinetic이다. 이 CLI를 Debug 실행으로 표시하지 않는다.

저장된 reference 좌표·director·두께·밀도에서 별도 27점 적분으로 (m_i,s_i,j_i)=∫ρN_i(1,z,z²)dV₀를 재구성했다. 저장된 spatial ω/ωdot와 director로 d_dot=ω×d, d_ddot=ωdot×d+ω×(ω×d)를 계산하고 절점 위치 x_i=X_i+u_i의 nodal kinetic measure에서 T/Pdot/Ldot를 직접 합산했다. Interpolation한 volume velocity의 제곱인 과거 consistent 식을 사용하지 않았다. 이 flat centered 원본은 s_i=0, 총질량 135000.00000000003, Σj_i=2812.5000000000014다.

검사 현재 최대값 해석
T 직접 적분 대조 절대 1.77636e-13, 상대 3.76138e-15 N4 1e-12 이내
N6 force / moment balance normalized 9.98353e-16 / 1.97415e-16 각 1e-8 이내; 상쇄 전 절점/관성 term norm 합 사용
공간 병진 inertia 대조 1.60071e-10 force 별도 질량 적분과 저장 generalized inertia 병진부의 차이
Fixed q/v/a/A, free reaction 모두 exact 0 구속과 반력 projection 일관
Residual, Rg projection, work/defect 정의 모두 exact 일치 E=I+f_int−F, W=ΣF·q, defect=T+Uphys+Udrill−E0−W
중심 x/y 대칭·director norm 4.23516e-22 length / 3.33067e-16 대칭 하중과 단위 director에 일관
Section N/M/Q constitutive identity symmetric relative 1.94033e-16 / 2.00805e-16 / 0 tCε₀, (t³/12)Cκ, (5/6)tGγ와 일치

초기 중심 node2의 각 병진 acceleration은 −500.7407241161487이고 초기 support force 합은 exact 0이다. Nodal diagonal 병진 질량에 가해진 constant force와 일치하며 과거 consistent mass의 비국소 초기 관성 반력을 요구하지 않는다. 최종 중심 U는 (−1.17073377449e-6,−1.17073377449e-6,−2.56367687489e-5)이고 하중 방향과 일관된다. max|Uz|/t=9.77607904e-5, strain 최대 5.07413251e-6, stress 최대 1.79376483e6 force/length²다. 단위는 입력 일관 단위이며 SI로 단정하지 않는다.

T/Uphys/Udrill은 모두 비음수다. 최종 (T,Uphys,Udrill,W,defect)는 (9.31920246e-5,1.39910648216,5.19700964e-6,2.79782362979,−1.39861875859)이며 최대 T 64.1247614232, 최대 |defect|=62.7362408018이다. 이는 같은 kinetic/work 정의의 재현이고, coarse h=.1에서 rate·energy 시간 정확도를 증명하지 않는다. Alpha<0의 비선형 계산에 exact energy conservation이나 매-frame 단조 감소 기준을 추가하지 않았다.

모든 support rotation이 0인 이 원본에서는 spatial reaction과 chart reaction이 일치한다. 일반 nonzero prescribed rotation의 Jl^-T 변환, arbitrary warped 모델, 초기조건 확대, raw hidden vectors와 C08 시간수렴은 이 원본 audit의 coverage 밖이다. 아래 새 C08a는 변경본에서도 FAIL이며 원본 U 통과로 해소하지 않는다. 전체 configured Debug 검증의 진행·중단 기록은 현재 PRD checklist를 따른다.

새 new-kernels.log와 native record는 38 tests PASS / exit 0이며 그 범위의 warped nodal moments·Jensen·partial tangent·moving null 등 독립 검사를 지지한다. 현재 full-direct.log에서 C08a의 pointwise 독립 force/power/momentum 검사는 PASS다. 바로 다음 full-coordinate 시간수렴 검사는 FAIL이므로 이 두 판정을 구별한다.

변경본 C08a — HHT-PHY-007: 시간수렴 FAIL

현재 MSVC x64 Debug 실행의 .dryforge/lumped-mass-adoption-20261011/full-direct.log에서 HhtShellPhysics.C08aRigidManufacturedOrbitFullCoordinateTimeConvergence는 731.27초 후 FAIL로 닫혔다. 이는 새 lumped oracle를 사용한 실행 판정이며 과거 consistent 수치를 재인용한 결과가 아니다. 계약 C08a 및 N7의 grid·기준은 바꾸지 않았다.

현재 측정 실제 값 기존 기준·판정
Finest h=1/256 physical chart angular-a normalized 최대오차 5.6747291267426469e-4 <=1e-4 미달
마지막 두 refinement 차수 1.0283765928414674, 1.0294567508174022 각각 >=1.8 미달
Finest angular-v 오차 / 100×noise bound 1.1876972777062108e-6 / 1.6576860896252254e-6 N7 separation 미달; 차수 근거 불충분
Finest angular-a 오차 / 100×noise bound 5.6747291267426469e-4 / 8.1218686879245506e-4 N7 separation 미달; 차수 근거 불충분

제조 하중은 현재 ρN_i dV₀ nodal measure의 독립 inertia로 구성한다. 같은 orbit의 pointwise force/power/momentum PASS는 이 관성식의 물리 대조를 지지하지만, 무질량 회전 좌표를 포함한 constrained 시간 이력의 정확도를 대신하지 않는다. 오차와 N7 noise를 분리하지 못한 구간의 차수를 확정된 수렴 차수로 승인하지 않는다. 관측된 약 1차와 finest bound 미달이 그대로 남아 있으며 tolerance를 완화하지 않았다.

로그의 null-only 회복 진단 후보는 finest angular-a 최대오차 1.0030608493534597e-4, physical/null maximum 1.0030577885358542e-4 / 4.6944218244936117e-7이다. Post-hidden2는 2.9755320458171044e-16으로 작아졌지만 physical complement 오차가 기준을 넘는다. Maximum은 서로 다른 시점일 수 있어 합성하지 않는다. 이 후보 진단을 채택된 상태·시간수렴 PASS로 표현하지 않는다.

과거 consistent finest 오차 5.675659240050177e-4와 현재 값은 비슷하지만 동일하지 않다. 동일한 실패 유형이 남았다는 결론이며 질량 변경이 시간수렴 문제를 해결했다는 근거는 없다. 현재 C08b는 아래 예외로 FAIL이며 전체 789개 회귀도 아래 기록처럼 실패로 종료했다. 후속 owner는 구현·수치 검토이며, 본 물리 검토에서 적분 알고리즘·null 처리·acceptance를 변경하지 않는다.

변경본 C08b — HHT-PHY-008: 새 refinement 중단 FAIL

같은 full-direct.log의 HhtShellPhysics.C08bFreeFiniteRotationPlateSelfConvergenceAndPhysicalInvariants는 438.18초 후 invalid-dynamic-rotation 예외로 FAIL이다. 과거 consistent 실행의 최종 self-difference assertion 실패와 다른 실패 경로이며 원인 조사가 필요하다. 이 결과를 기존 baseline의 동일 실패라고 분류하지 않는다.

C08b는 무하중·무구속 9절점/4요소 centered plate이며 span 2×2, t=.2,ρ=1,E=1000,ν=.3, 총 기준 질량 .8이다. Initial velocity는 translation (.125,−.25,.0625)와 rotation (.8,.6,.4) 및 vz += .02xy로 시작하고 무질량 회전 성분을 초기 constraint로 맞춘다. 현재 nodal 질량에서 이 초기 prescribed physical field의 독립 T0=.29818583333333337, P0=(.1,−.2,.05)는 양의 에너지·일정 선형 운동량 규모를 준다. 이 직접 초기장 계산은 예외 시점의 상태를 재구성한 결과가 아니다.

완료된 현재 grid Normalized energy drift P drift L drift accepted phi_max
h=1/64 2.5065432169060303e-4 2.45022860759194e-15 1.0727438825677137e-4 .27391502319015193
h=1/128 6.4154991143669873e-5 6.335052199623923e-15 2.7384802983989645e-5 .27394592218709063

첫 refinement의 energy/L ratio는 .255950069845 / .255278109053으로 감소한다. 이는 두 완료 grid의 관측이며 다섯 grid의 마지막 두 refinement 조건을 충족한 결과가 아니다. P drift는 이미 반올림 수준의 작은 값이고 감소하지 않았지만, 미실행 finer grids의 승인 감소 조건을 미리 면제하거나 판정하지 않는다.

세 번째 RunPlate(h=1/256)에서 예외가 발생했다. 이어질 1/512,1/1024 및 grid 전체가 준비된 뒤 계산하는 6-channel self-difference·N7 noise separation·finest energy/momentum 판정은 생성되지 않았다. 완료된 두 grid의 작은 energy drift나 원본 101 U families PASS로 이 검증 공백을 채우지 않는다.

EvaluateDynamicRotation의 해당 diagnostic은 phi·initial director·velocity·acceleration의 finite 검사, initial director unit 검사, principal-chart margin을 함께 포함한다. 최초 full 로그의 메시지만으로는 어떤 조건이 실패했는지 구분할 수 없었지만, 추가 진단이 finite Newton trial의 principal-chart 이탈을 확인했다.

추가 evidence는 .dryforge/lumped-mass-adoption-20261011/c08b-diagnostic/의 run.log, run-native.json이며 별도 진단 probe는 exit 1이다. h=1/256, increment 56, iteration 3, t=.21875, phase=newton, third=false에서 내부 node index 4 (0-based, fixture source label 5)의 phi는 (.64127523289755728,−1.1977756953049712,3.6162098692194427)다. 독립 norm 재계산 |phi|=3.8630136368942867 > π이므로 승인된 principal-chart margin을 위반한다. 기록된 9개 절점의 phi/v/a는 모두 finite다. Fixture 초기 director는 (0,0,1)로 단위이며 이 진단은 수렴 후 회복 단계나 새 유효한 accepted endpoint의 물리량이 아니다. Run-log SHA-256은 10c25d9bb5fb89f925701f318f9b74e1d08bbeb837016d37cc51345ce6076aad다.

Completed-grid phi_max≈.274와 rejected Newton trial의 |phi|≈3.863을 구별한다. 직접적인 거부 조건은 확인했으나 왜 이 Newton overshoot가 발생했는지의 근본 trigger와 안정성 영향은 미확정이다. 지원된 물리 궤적 자체가 π를 넘어야 한다거나 원본 101 endpoints가 손상됐다는 결론으로 확대하지 않는다. 수치 owner가 직전 유효 상태·correction·tangent/ constraint conditioning을 추가 조사한다. Predicate 완화·director 재정규화·clamp·시간 grid 변경으로 통과시키지 않는다. 필수 C08b coverage는 미완료이며 본 검토는 계약·코드·원본·출력을 변경하지 않았다.

최종 회귀와 test-only 후속 검증의 구분

full-direct-summary.json/full-direct-native.json의 전체 MSVC x64 Debug 789개 실행은 자연 종료 native 8, 784 PASS / 4 FAIL / 1 SKIP다. Raw 실패 4개는 C08a/C08b 및 SolidFrequencyProcedure.RejectsOverflowingOriginalPencilValidationScale, ElementFactory.SolidBindingPreservesThreeComponentsAndReferenceMass이며 C04a finest는 SKIP다. 이 원래 판정을 후속 focused 결과로 덮어쓰지 않았다.

최종 test-only 수정은 세 파일에 한정된다. RigidForceRates 병진 시간미분 coefficient를 현재 nodal measure의 .2로 맞추고 24개 force 성분의 독립 1·2차 시간미분 검사를 추가했다. Factory expectation은 consistent off-diagonal을 요구하던 이전 값을 lumped 질량에 맞췄으며, overflow fixture는 lumped pencil에서 finite인 E=3e306 대신 실제 nonfinite validation을 유발하는 E=4e306으로 변경했다. Production·형상 predicate·tolerance 변경은 없다.

실행 시점·범위 결과 현재 해석
수정 전 전체 789 784 PASS / 4 FAIL / 1 SKIP, native 8 Raw 실패 보존
최종 Debug rebuild / discovery build native 0, 발견된 tests 790 Discovery는 실행 통과가 아님
최종 HHT oracle focused 새 force-rate 시간미분 + 기존 pointwise orbit, 2 PASS final-oracle-rebuild/ctest.log, native 0
최종 stale fixture focused Overflow gate + factory lumped expectation, 2 PASS final-stale-fixtures.log, native 0
최종 전체 790 미실행 C08a/C08b OPEN, C04a SKIP을 전체 PASS로 바꾸지 않음

위 C08a raw 수치는 force-rate oracle 수정 전 test binary의 결과다. 수치 검토의 소비 경로 확인에서 변경된 병진 force-rate rows는 제조 hidden/null 회복 계산에서 읽지 않으므로, 이 수정이 C08a 실패의 원인이었다거나 시간수렴을 해결했다는 결론을 내리지 않는다. C08b는 free fixture이며 확인된 rejected Newton trial의 chart 이탈도 별도 미해결로 남는다.

최종 소유권·SHA record는 final-test-identities.json이다. 이전 final-oracle-identities.json의 force-only 설명은 세 test 파일 중 두 개를 누락한 raw note이므로 최종 manifest의 정정을 따른다. closed-identities-after-final-regression.json의 production 190 files와 reference 16 files의 SHA를 현재 파일에서 독립 재계산해 불일치 0을 확인했다. 따라서 앞의 닫힌 원본 수지 대조는 같은 production·원본에 관한 근거로 유지하되, 최종 전체 회귀 통과나 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(당시 경로: ../../reference/shellNL-dyn-meshfine/shellNL-dyn-meshfine_results.h5, 현재 checkout에 없음)의 SHA256은 f07beddaa232abe314e20210534a243d6deaf1f677c598c64f9334428bbecb56이다. 9월 26일 volume·평형 계산의 원본은 수정 전 보관본(당시 경로: ../../.harness/build/hht-numerical/reference-before-recovery-fix.h5, 현재 checkout에 없음), 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(당시 경로: ../../.harness/build/hht-numerical/reference-recovery-audit-20260927.json, 현재 checkout에 없음)의 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 로그(당시 경로: ../../.harness/build/hht-numerical/c08-diagnostic-20260926.log, 현재 checkout에 없음)는 195745 ms에 1 PASS/2 FAIL로 종료해 이전 로그(당시 경로: ../../.harness/build/hht-numerical/c08-optimized.log, 현재 checkout에 없음)의 실패를 재현했다. 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(당시 경로: ../../.harness/build/hht-numerical/c08-recovery-probe-20260926.log, 현재 checkout에 없음)는 3 tests/1 PASS/2 FAIL이며, C08a split 수정 실행(당시 경로: ../../.harness/build/hht-numerical/c08-recovery-split-spectrum-20260927.log, 현재 checkout에 없음)은 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은 각각의 검사 범위만 지지한다.

2026-10-12 초기 Newton 정책 변경본의 물리 검토

HHT-ADR-013 변경 evidence는 위 consistent mass 시기의 기록과 구분한다. 현재 nodal lumped kinetic mass와 q_p/q_n 초기 선택을 사용한 공식 C08b는 h=1/64, 1/128, 1/256, 1/512, 1/1024 모두 T=.25까지 완료했다. Principal-chart 예외는 재발하지 않았고 h=1/256의 별도65-frame runtime 회귀도 PASS다. 이는 시간 정확도 acceptance의 통과가 아니다. 전체802 Debug 회귀는11384.61초 뒤 native8로 자연 종료해 799 PASS·2 FAIL·1 SKIP이다. 예외는 C08a/C08b 정확도 실패와 기존 C04a SKIP이며 새 runtime 예외는 없다. Source·원본·실행 파일의 검증 전후 hash가 일치한다. 최종 독립 물리 감사도802개 discovery 이름·순서와 실제 완료 목록, 집계·identity를 대조해 확인했다. 아래 시간 정확도·에너지 응답의 한계는 전체 실행 종료 후에도 유지한다.

독립 재계산에서 C08b의 모든 pair/channel N7 noise separation은 PASS이며 최소 d/(noise 합)=73223.1>100이다. Finest self-difference는 q_u/q_phi/v_u/v_phi/a_u/a_phi 순서로 (4.29914e-6,1.10373e-4,8.79298e-5,.00721911,.00437504,.474897)이다. 회전·가속도 등의 시간 정확도 기준과 P 감소 기준은 FAIL로 유지한다. Finest energy/L error는 1.00065e-6/4.30176e-7, 마지막 refinement 비율은 .248811/.250152로 해당 bounds를 만족한다. P error는 2.84555e-14→8.03575e-14로 증가했다. 작은 절대값으로 감소 조건을 면제하지 않는다. Recovered angular-a의 finest physical/null maximum은 .474897322/.00184377209다. Physical complement가 지배하므로 null-only recovery로 해결됐다고 판단하지 않으며 회복 후보를 공식 history에 채택하지 않았다.

현재 C08a angular-a finest error는 5.67473e-4>1e-4다. Raw 마지막 두 차수 1.02838/1.02946은 N7 finest noise 분리 미달 때문에 확정 차수로 보고하지 않는다. C08a noise INCONCLUSIVE와 C08b noise PASS를 구분한다. C04a finest-resolution 검사는 기존 SKIP이며 해당 coverage는 미완료다.

현재 production Release CLI로 원본을 별도 경로에 재생성해 U101 families PASS, UR 경고200건을 확인했다. 독립 초기 Q4 nodal mass 적분과 회전 미분 검산에서 저장 T·inertial power의 최대 상대차는 4.33647e-15/6.87716e-16, N6 힘·공간 모멘트 ratio는 1.13018e-15/2.19580e-16이다. Full endpoint E 및 반력 selector, 고정 q/v/a/A와 free reaction의 정의도 일치했다. 이 검산은 저장 strain/stress의 독립 recovery 또는 큰 유한회전 검증을 포함하지 않는다. 원본 max phi는 1.25636e-5 rad이다.

원본의 에너지 시간 응답 적정성은 별도 open 위험이다. 정의대로 계산한 energy defect는 [-1.39861876,+62.73624080] force·length이고 양의 peak는 t=1이다. Max T는64.12476142, max W는5.33495625다. 저장 정의 대조는 일치하지만 coarse DIRECT 한 이력의 결과로 refinement·시간 정확도·물리적 감쇠를 확인할 수 없다. 새 에너지 tolerance를 도입하거나 전체 물리 적정성을 PASS로 표시하지 않는다. 실제 명령·identity·원문 evidence와 독립 검토 artifact는 현재 정책 기록에 연결한다.

2026-10-13 reduced-coordinate 변경본의 제한된 물리 평가

HHT-ADR-014/015와 축소 정식화를 기준으로 실제 reduced Release 결과를 검토했다. 기존 이력을 변경본 PASS로 승계하지 않았다. 독립 계산·원문 hash는 reduced 물리 검산, 계산 script에 보존한다.

reduced-closed-c08b.log/native는 599.20 s, exit8/FAIL이다. 원래 다섯 grid는 T=.25까지 완료했으나 추가 h=1/32768은 increment4, t=.0001220703125에서 중단됐다. 이 실행은 stable exponential Jet 수정 이전의 결과이며 최신 source의 통과 근거가 아니다.

완료 grid h Normalized energy drift P drift L drift
1/64 2.50654158e-4 3.79071465e-16 1.07274502e-4
1/128 6.41546821e-5 3.97669962e-16 2.73848033e-5
1/256 1.61258753e-5 4.00712378e-16 6.87804460e-6
1/512 4.02165996e-6 5.98404006e-16 1.71966016e-6
1/1024 1.00063183e-6 6.83006552e-16 4.30175806e-7

Energy/L 마지막 두 비는 .249392/.248811, .250022/.250152로 약2차 감소와 일관된다. P는 승인된 absolute1e-3보다 작고 ADR014에 따라 strict 감소를 요구하지 않는다. Max rotation .273836… .273946 rad는 유한회전 coverage와 일관된다. 초기 nodal measure를 별도 계산한 mass=.8, T0=.2981858333333333, P0=(.1,−.2,.05), L0=(.3221333333333333,.2416,.32)이며 단위는 각각 mass, force·length, momentum, angular momentum의 입력 일관 단위다. 초기장 계산을 후속 이력 검산으로 확대하지 않는다.

원문에는 실제 full v/a로 계산하는 독립5³ rectangle nodal/exponential T/P/L oracle의 assertion 실패가 없다. Accepted full E·regularity·N6는 source의 Require 경로로 확인하되 원행렬·전 frame를 독립 replay한 근거는 아니다. Static inertia source는 rho*N_i*dV0, x_i+z*d_i, 물리 v/a와 current-arm spatial balance를 사용한다. Public full A는 physical-a filter 진단량이고 private Ar가 reduced predictor를 구동한다. 두 값을 kinetic energy·momentum의 physical acceleration으로 사용하지 않는다. All-free 반력은 N/A이며 이 로그로 strain/stress recovery·일반 warped/partial-BC를 검증하지 않았다.

완료 grid의 hidden v/a 최대는 2.30218e-13/6.24917e-11로 작지만 시간정확도 통과를 대신하지 않는다. 원문은 velocity subtraction assertion1583건 외에도 h=1/1024의 position update 및 requested-increment trace 실패 각1건을 포함한다. 제거된 별도 velocity gate와 남은 position 증거를 구분하며 이 실행의 N3 전체 PASS를 주장하지 않는다.

실제 중단 state의9절점 force-null을 stored binary64 값에서 별도 Decimal contraction한 결과, analytic psi와 full force의 차이는 마지막 dot 반올림보다 크다. 같은 frozen54-coordinate point probe에서 stable 후보의 최대 physical-null force는 8.29803e-18→1.65436e-24, 원 scale의 total-null ratio는 3.53875e-10→9.27507e-15로 줄었다. 같은 물리 identity·허용값의 복구를 지지하는 제한된 point evidence이며 full Jet·새 trajectory·최종 C08 PASS는 아니다.

남은 필수 범위는 최신 동결 source의 C08a7 grid/hidden/N7, C08b 추가3 grid와 최종 q/v/physical-a self-convergence·N7·E/P/L, 닫힌 reduced 원본 HDF5/비교와 독립 수지 검산, 구성된 전체 Debug 회귀다. 원본 작은 U 일치 또는 소형 embedding probe로 대체하지 않는다. 기존 partial-BC rank/branch·실패 보존·determinism/covariance 한계도 해당 검증 범위로 남긴다.

Evidence와 잔여 위험

  • 원본 INP, CSV, 완료 Newton 로그(당시 경로: ../../reference/shellNL-dyn-meshfine/shellNL-dyn-meshfine_log.txt, 현재 checkout에 없음), 수정 후 비교 JSON(당시 경로: ../../.harness/build/hht-numerical/reference-after-recovery-fix.json, 현재 checkout에 없음): U 101 families PASS/UR warnings 200. 수정 전 비교 JSON(당시 경로: ../../.harness/build/hht-numerical/reference-comparison.json, 현재 checkout에 없음)의 precheck 441774 scalars, U RMS 최대 .00227058974, UR RMS 최대 .02533113821 근거도 U/UR 데이터 동일성 범위에서 유지된다. 원본 9 nodes의 U/UR projection만 비교한다.
  • Debug focused(당시 경로: ../../.harness/build/hht-numerical/focused-debug-complete.log, 현재 checkout에 없음), stable kernel(당시 경로: ../../.harness/build/hht-numerical/focused-stable-kernel.log, 현재 checkout에 없음), exact constraints(당시 경로: ../../.harness/build/hht-numerical/focused-exact-constraint.log, 현재 checkout에 없음), C04a Decimal80(당시 경로: ../../.harness/build/hht-numerical/c04a-decimal-reduction.json, 현재 checkout에 없음), 독립 수치 검토.
  • Recovery 수정 후 optimized focused(당시 경로: ../../.harness/build/hht-numerical/recovery-green-optimized.log, 현재 checkout에 없음): 13 tests PASS. 수정 전 HDF5를 소급하여 수정하지 않으며 공식 재생성 결과의 별도 검산은 위 SHA256과 수치로 구분한다.

실제 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 승인 문서가 아니다.