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.
5.1 KiB
Hex8 구현·검토 인계
2026-10-13. 사용자 요청에 따라 장시간 전체 검증을 수행하지 않고 남은 검토·기존 결과 재대조·인계를 정리했다. Hex8 구현과 이 범위의 검증은 확보했으며, FEM-REQ-HEX8-024의 최신 전체 통합 완료 판정은 보류다. 현재 체크리스트는 PRD에만 둔다.
이번에 확인한 근거
| 확인 | 결과 | 적용 범위 |
|---|---|---|
| 구성된 MSVC x64 Debug 관련 CTest | 91/91 PASS, native0,254.64초 | Hex8 kernel·Solid static/frequency·HHT state/kinematics/dynamics/Float64 history. 전체 CTest·장시간 원본 동해석·전체 시간수렴 아님 |
| Hex8 비교기 Python 검사 | 96 PASS, native0,38.29초 | tests/test_compare_hex8.py; Python 전체 suite 아님 |
| 현재 비교기로 보존된 원본5개 결과 재대조 | 정적2·고유치·동적2 모두 native0 | 기존 성공 native/HDF5와 현재 read-only 원본을 사용한 새 비교. 새 솔버 원본 실행 아님 |
| 기존 검증본과 source identity 대조 | production190 중180 동일,10 변경; 원본16개 모두 동일 | Hex8 및 Solid 실행·질량·복구·출력 경로는 동일. 변경10개는 Shell HHT/state/element/writer 관련이며 전체 공용 binary의 동일성은 주장하지 않음 |
| 독립 수치·물리 인계 검토 | 해당 범위에서 새로 조치할 문제 없음 | Hex8 직접 소비 소스27개 및 기존 evidence39개의 hash 대조. 별도 질량 적분의 한 축 총질량444063.050932, 양의 nodal mass와 기존 수지 검토 확인. 최신 전체 물리 PASS 아님 |
이번 작업에서는 production·C++ 검사·physics·질량·입력·schema·tolerance를 변경하지 않았다. 전체 build/CTest와 C08b 미세 grid, 장시간 원본 CLI를 시작하지 않았다. 기존 실패·중단 기록을 PASS로 바꾸지 않았다.
실행 근거는 .dryforge/hht-remediation-20261012/의
hex8-handoff-bounded-debug.{native.json,raw.log}, hex8-handoff-python.{native.json,log},
hex8-handoff-comparisons/execution.json 및 case별 보고서다.
독립 검토는 같은 폴더의 hex8-handoff-numerical-review.json과
hex8-handoff-physics-review.json 기록을 따른다. 과거 manifest에 없는
private header는 현재 hash만 별도로 기록하며 과거 동일성 입증 범위에 넣지 않는다.
보존할 구현·물리 경계
Local kernel은 reference8점 deviatoric 항과 요소 평균 trace energy를 사용한다. 선형 K와 비선형 f/Kmat/Kgeo/Kt는 같은 energy에서 유도하며, 응력·변형률은 Gauss point identity로 반환한다. 질량은 full element consistent M의 reference row sum을 BC 제한 전에 구한 대각 M이다. Eigen/HHT·관성력· 반력·운동에너지·운동량은 같은 질량을 사용한다.
Solid HHT의 normalized high+low 상태와 최종 RN64 결과 의미를 유지한다. 실패 candidate가 accepted history나 기존 최종 HDF5를 변경하지 않아야 한다. 원본5개 비교와 기존 독립 수지·modal 검산은 검증한 모델에 한정한 근거다. 임의 distorted mesh·큰 변형·다른 시간간격의 정확도나 전체 green을 보증하지 않는다. 상세 물리 근거는 물리 평가, 수치 기준은 numeric controls를 따른다.
Shell 영향과 미검증 범위
초기 lumped 변경본의 C08b 회전 runtime 실패는 후속 승인된 초기 Newton 정책에서 해소된 이력이다. 이후 ADR-018 변경본의 C09와 공식 Release C08a7-grid도 통과했다. 이 결과들을 과거 전체789/802 검사에 소급 합산하지 않는다.
최신 전체 Debug는44/856 PASS 후 사용자 중단, Release C08b도 중단됐다. 최신 Shell 원본은99증분·t=9.9까지 accepted 로그만 있으며 현재 HDF5가 없어 새 Abaqus 변위 비교를 수행할 수 없다. 중단 시점 비교를 따르며 C08b·현재 Shell 원본 비교·전체 통합·독립 전체 물리 판정은 남아 있다. 이는 Hex8 필수 원본5개 비교가 다시 실패했다는 뜻이 아니다.
성능 최적화 후 재검증으로 넘길 내용
사용자가 요청한 다음 순서는 성능 최적화 후 전체 검증이다. 이번 작업은 최적화 구현을 시작하지 않았으며 느린 연산의 원인을 계측 없이 단정하지 않는다. 먼저 같은 source/input·빌드 구성·thread 설정에서 local 계산·조립·solve· 복구·출력 시간을 분리해 기준을 확보한다. 중복 계산 제거와 데이터 재사용은 실제 state/operator 수명을 지켜야 한다.
연산 순서나 reduction을 바꾸면 수치 변경으로 다룬다. 시간간격·grid·질량· 반복 제한·수용 기준을 줄여 성능 개선으로 보고하지 않는다. 최적화 전후 관련 analytical/invariant·failure preservation·serial/TBB 결정론을 대조하고, 최종 source에서 구성된 전체 MSVC Debug build/CTest와 필수 원본 비교 및 독립 물리 검토를 다시 수행한다. 현재 bounded 결과는 그 실행을 대체하지 않는다.