Files
FESADev/docs/hht-implicit-dynamics/PRD.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

243 lines
29 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# HHT Implicit Dynamics PRD
- Feature ID: `hht-implicit-dynamics`
- 기준: `dev` commit `23b37ca644563b51472654af3b22811f077f15f6`
- 문서 상태: `implementation-present; C08-failed; recovery-candidate-not-adopted`, 2026-09-27
- 기준 문서: [프로젝트 지침](../../AGENTS.md), [프로젝트 PRD](../PRD.md), [공통 ADR](../ADR.md#adr-028).
## 사용자 요청과 범위
사용자는 HHT implicit 적분법을 사용한 dynamic 해석 구현을 준비하기 위해 requirement/research, formulation, numerical research를 차례로 요청했고, 검증 모델로 `reference/shellNL-dyn-meshfine`을 지정했다. 현재 산출물은 요구사항·근거·정식화·독립 수치 검토와 검증 계약이다. 사용자의 후속 I/O definition·implementation·physics evaluation 전체 진행 요청에 따라 [I/O 계약](io-contract.md)과 [구현 계획](README.md#재사용-handoff)을 작성하고 실제 solver 구현·검증을 진행한다.
[시간적분 정식화](formulation.md)와 [shell 관성 상세](formulation-inertia.md)의 후속으로 [독립 수치 검토](numerical-review.md#numerical-review), [수치 기준](numerical-controls.md), [검증 사례](verification-cases.md), [추가 연구](research.md#numerical-research)를 작성한다. 2026-10-11 사용자가 **nodal lumped kinetic mass**를 승인했다([HHT-ADR-012](ADR.md)). 과거 consistent 검증은 당시 evidence이며 변경본 통과로 승계하지 않는다. 후속 전체 gate 진행 요청에 따른 구현 대상·공개 subset·출력 schema는 [HHT-ADR-009](ADR.md)에 기록한다.
최소 구현 목표 후보는 기존 FESA-MITC4 shell의 선형 탄성 재료·기하비선형 동적 해석이다. 단일 step의 `*Dynamic,direct`, 초기 정지 상태, 고정 외곽 경계와 집중하중에 필요한 지원을 우선 정의한다. 질량·회전 관성·HHT 생략값·공식 동적 결과 범위는 근거를 확인하여 후속 정식화와 연결한다. 임의 amplitude, 시간변화 경계, 물리적 damping, contact, 소성, explicit, 다중 step/restart 또는 다른 요소의 dynamics는 이번 요청에서 지원을 약속하지 않는다.
## 지정 reference와 acceptance intent
원본: [INP](../../reference/shellNL-dyn-meshfine/shellNL-dyn-meshfine.inp), [변위 CSV](<../../reference/shellNL-dyn-meshfine/shellNL-dyn-meshfine displacements.csv>). 상세 inventory와 요구사항 ID는 [requirements](requirements.md)가 소유한다.
- 평면 shell 729 nodes / 676 S4 elements, 두께 `0.5`, `E=2.1e11`, `nu=0.3`, `rho=2700`.
- `NLGEOM=YES`, `DIRECT`, 시간증분 `0.1`, 종료시간 `10`, 중심 node `2`에 global 1–3방향 각각 `-100000` 집중하중.
- CSV는 101 frames × 9 nodes = 909 rows, U/UR 6성분을 제공한다. 초기 frame을 포함한 모든 시간 이력이 비교 대상이다.
- source instance/node와 increment/time을 결정적으로 대응시킨다. HDF5 전체 node 결과에서 승인된 reference subset으로 projection한 뒤 누락·추가·중복·nonfinite를 검사한다. 최근접 시간 선택, 시간 보간 또는 평균으로 대응 오류를 숨기지 않는다.
- [공통 TOLERANCE](../TOLERANCE.md)의 frame별 U blocking / UR warning-only family를 사용한다. [Reference 비교 계약](reference-model.md)은 101 frames × 2 quantities의 202 families와 각 27 scalars, source/time mapping을 정의한다. Eigen 전용 예외는 적용하지 않는다. 실제 HDF5 field binding은 후속 I/O 계약이다.
- V/A, 동적 반력, 에너지 reference는 없다. 독립 oscillator·시간 수렴·관성 평형·회전 및 에너지 검증이 필요하다. 원본 모델의 작은 변위만으로 유한회전 동역학을 검증했다고 주장하지 않는다.
## 현행 dev와의 차이
다음은 소스 정적 조사 결과이며, 현재 dynamic 실행 결과가 아니다.
| 경계 | 현재 코드 evidence | 후속 작업에서 정의할 내용 |
| --- | --- | --- |
| 입력·semantic model | [domain_mapping_context.cpp](../../src/fesa/io/abaqus/domain_mapping_context.cpp)의 `ParseStepBlock` 분기는 STATIC/FREQUENCY를 처리한다. `FinalizeDensities`는 FREQUENCY 외 DENSITY를 거부한다. [Domain](../../include/fesa/model/domain.h)의 step 정의도 동적 절차가 없다. | DYNAMIC/DIRECT 및 density의 승인 subset, 실제 시간·기본값·초기조건·진단 |
| 절차 선택 | [prepared_analysis](../../src/fesa/analysis/prepared_analysis.cpp)는 선형 정적·비선형 정적·고유치만 선택한다. | 정적 lifecycle에 누적하지 않는 별도 dynamic procedure와 결과 경계 |
| 상태 | [NonlinearAnalysisState](../../include/fesa/analysis/nonlinear_analysis_state.h)는 load factor, q, triad/director, 내외력과 정적 recovery를 저장한다. v/a 및 실제 시간 이력은 없다. | trial/committed q/v/a·시간·이력의 소유권과 일괄 commit/실패 보존 |
| 내력·접선 | [NonlinearMitc4Shell](../../include/fesa/elements/nonlinear_mitc4_shell.h)은 total rotation-vector trial의 내력·접선·recovery 평가를 제공한다. | 이 좌표계에 맞는 관성력·HHT residual·유효 접선과 일관된 회전 운동학 |
| 질량 | [Mitc4Mass](../../include/fesa/elements/mitc4_shell.h)는 consistent/lumped global24를 제공한다. [현행 frequency](../../src/fesa/analysis/linear_frequency_procedure.cpp)는 lumped nodal mass를 사용한다. | 동적 질량 선택·구성 의존성·회전 관성과 mass-null 자유도 처리; 정적/eigen 계약의 무단 변경 금지 |
| 선형계 backend | [비선형 PARDISO adapter](../../src/fesa/solvers/linear/mkl_pardiso_tangent_solver.cpp)는 이미 비대칭 full CSR 접선을 처리한다. | 동적 관성 접선의 비대칭 성분 보존과 기존 경계 재사용 검토 |
| 에너지 | [비선형 요소](../../src/fesa/elements/nonlinear_mitc4_shell.cpp)는 physical+drilling potential의 내력·Hessian을 계산하지만 반환 에너지는 physical strain energy다. | 운동에너지·수치 drilling 에너지·외력 일을 구분하는 회복 계약 |
| 공식 결과 | 정적/eigen 전용 state/writer가 존재한다. | HDF5의 step/time/frame 및 q/v/a·반력·에너지 공개 범위, readback·comparison |
Density 허용과 HHT update 식 추가만으로 기능이 완성되는 것은 아니다. Semantic model부터 동적 상태, 방정식, recovery, 공식 결과 및 검증까지 연결해야 한다.
## 결정과 후속 인계
결정 기록은 [ADR](ADR.md), 결정 항목의 원본은 [requirements의 HHT-OPEN-001–006](requirements.md#범위-경계와-미결정-사항)이다. 질량 종류는 사용자 결정으로 확정했다. 수식과 수치 검증 계약을 연결하되 공개 parameter·결과 범위 및 I/O binding은 후속으로 확정한다. 문서 검토만으로 구현이 검증되었다고 표시하지 않는다.
이번 [Research](research.md#research)에서 확인한 공개 입력 의미는 무접촉 기본 HHT-TF 계수 `alpha=-0.05`, `beta=0.275625`, `gamma=0.55`, amplitude 생략 시 STEP 하중, DIRECT 고정 증분 및 기본 초기 가속도 계산이다. 최초 HHT force history와 초기 frame의 결합, FESA 질량·유한회전 관성 및 공개 결과 범위는 여전히 후속 계약이 필요하다. 원 HHT의 표준 결합 계수 범위와 vendor가 허용하는 전체 parameter 범위를 혼동하지 않는다.
Reference의 `max|U3|/thickness≈9.84e-5`, 기존 동일 mesh eigen reference에 대한 `dt/T1=7.4567`은 작은 응답과 성긴 시간간격을 보여준다. 이 CSV와의 일치만으로 큰 회전 관성, V/A 또는 시간 정확도를 검증할 수 없다. 단위계는 입력의 일관된 단위를 따르며 SI로 단정하지 않는다.
## Formulation 결과
[정식화](formulation.md)의 추천 후보는 유한회전 kinetic energy의 정확한 관성력과 물리적 가속도 `a` / 적분용 보조 가속도 `A`의 분리다. `A_(n+1)=(1+alpha)a_(n+1)-alpha a_n`를 Newmark update에 사용하고 endpoint 물리 평형을 푼다. 일정 질량에서는 기존 HHT 식으로 환원한다. 비선형 내력은 현행 dev의 objective drilling을 포함한 에너지 미분을 보존하며 이전 논문 실험의 접선·drilling 변경을 도입하지 않는다.
[독립 수식 검토](numerical-review.md#numerical-review)와 [재현 가능한 검산](numerical-review.md#numerical-review-probes)은 일정 질량 HHT 식에 `M(q)`만 대입하면 일반적으로 1차 오차가 남음을 확인했다. 추천 후보는 smooth variable-mass 제조해와 영질량 방향이 회전하는 제한된 모델에서 U/V/물리적 a의 2차 수렴을 보였다. 메인도 공개된 재현 코드를 실행하여 표의 결과를 확인했다. 이는 실제 MITC4 shell의 동적 해석 또는 보편적인 singular-DAE 증명의 대체물이 아니다.
| 기존 open 항목 | 이번 정식화에서 구체화한 후보 | 남은 결정/검증 |
| --- | --- | --- |
| HHT-OPEN-001 | 음수 alpha 관례, 결합 beta/gamma, 물리적 a와 보조 A 분리 | 추천 HHT 확장 채택 및 공개 parameter subset |
| HHT-OPEN-002 | frame 0을 `0+`로 정의, 전값 force와 동적·대수 초기 평형으로 a0 계산, A0=a0; 수치 기준 N2–N4 정의 | 초기화 계약 채택과 I/O 진단 binding, 구현 후 검증 |
| HHT-OPEN-003 | **사용자 선택: nodal-lumped-kinetic**; 기존 shell eigen nodal block lumping 유지 | 질량 종류 결정 완료; 임의 drilling inertia 없이 회전관성·영공간의 실제 구현 검증 필요 |
| HHT-OPEN-004 | 기존 total rotation-vector chart에서 exact 관성·convective 항·비대칭 접선, moving-null 조건; N4–N7 및 C05–C08 정의 | 구현 후 실제 shell의 regularity·시간 수렴·회전 검증 |
| HHT-OPEN-005 | 물리적 a/각가속도와 A, endpoint 반력, T/Uphys/Udrill/W의 수학적 의미 구별 | 공식 공개 quantity·HDF5 schema 및 mapping의 I/O 결정 |
| HHT-OPEN-006 | 고정 100 increments, full Newton, 실패 trial 폐기, 동일 state의 전체 이력 commit; N2의 100 corrections/수렴 기준 정의 | I/O 실패 lifecycle과 reference 밖 입력 범위, 구현 후 실패 보존 검증 |
현재 후보에 대한 독립 검토와 후속 구현 acceptance를 구별한다. 실제 shell 검증의 미실행은 현재 수식에서 오류를 발견했다는 뜻이 아니며, 구현 이후 반드시 확보해야 할 evidence다. 물리 선택과 수치·입출력 계약은 구현 착수 전 확정할 항목이다.
## Numerical Review 결과
[내부 수치 기준 N1–N7](numerical-controls.md)은 변위·회전의 scale를 분리하고, 관성·내력·외력의 상쇄 전 크기로 endpoint 잔차를 판정한다. Newton 잔차와 correction/rate 판정은 각각 `1e-10`, 선형 solve backward error는 `1e-12`다. 해석적으로 정의한 질량 영공간과 양의 물리 질량을 구별하며, 국소 positive block·대수 regularity에는 scale된 `rcond_inf>=2^-32`를 요구한다. 이 값은 외부 reference tolerance의 변경이 아니다.
[검증 사례 C01–C12](verification-cases.md)는 oscillator·STEP 초기화·variable mass·moving null, 운동에너지 적분·관성 접선, 반력·에너지·실제 shell 유한회전, 실패 보존·결정론·전체 reference 이력을 포함한다. D3 회전 미분에는 독립 block-exponential oracle를 지정했다. 문서 gate 당시 신규 solver 사례는 모두 NOT RUN이었다. 현재 실행 결과는 아래 checklist와 [독립 수치 검토](implementation-numerical-review.md), [물리 평가](physics-evaluation.md)에 구분한다.
추가 full Cartesian moving-null 수식 probe는 전체 시점 최대 오차에서 q/v/물리적 a의 최종 refinement 차수 `1.99985/1.99992/1.99834`를 보였고 독립 reviewer가 재현했다. 이는 기하학적 normalization이나 각도 축약 없이 계산한 제한된 수식 evidence다. 전체 N1–N7 구현 검사와 실제 shell·reference 통과를 의미하지 않는다. 자세한 실행 범위는 [수식 검산](numerical-review.md#numerical-review-probes)에 기록한다.
## 현재 checklist
아래 날짜 없는 실행 완료 항목은 기존 consistent 구현의 이력이다. 변경본의 통과로 승계하지 않는다.
- [x] HHT-ADR-012 변경본의 nodal measure 일관성·독립 관성/접선/물리 검토·원본 reference 재검증. [채택 evidence](../hex8-structural-analysis/lumped-mass-adoption.md): 관련 Debug C++ 38 PASS·Python 137 PASS, production Release 원본 U 101 families PASS·UR 경고200.
- [x] HHT-ADR-012 변경본 전체 Debug 회귀의 자연 종료와 판정: 789개 native8(784 PASS·4 FAIL·1 SKIP). Test-only 수정 후 관련4개 PASS와 discovery790은 별도 evidence이며 전체790 재실행은 아니다. C08a/C08b 해결·C04a coverage는 미완료로 유지.
- [x] 변경본 C08a/C08b 재실행과 결과 판정: C08a 정확도 FAIL, C08b `h=1/256`의 Newton trial principal-chart 이탈로 새 runtime FAIL. 허용값은 유지하며 실패 해결은 아래 미완료 항목이다. [현재 evidence](../hex8-structural-analysis/lumped-mass-adoption.md).
- [x] 2026-10-12 C08b 실패 state의 원인 조사: history·moving-null 미분·선형 solve 독립 대조, predictor 시작과 명시적 drilling 잔차의 private 정확 Newton 후보 작성 및 scoped N5 검사. [조사 보고서](newton-rotation-investigation.md). 후보 채택·공식 C08 통과를 뜻하지 않는다.
- [x] 2026-10-12 [HHT-ADR-013](ADR.md) 초기 Newton 정책 구현: 같은 frozen predictor의 q_p/q_n 자유 energy 잔차 비교, 실제 첫 회전 오류 분류 및 nonfinite recovery 진단 분리. 관련 Debug37/37 native0·독립 수치 검토 완료. [변경 evidence](newton-start-policy.md).
- [x] HHT-ADR-013 변경본의 h=1/256 runtime 회귀와 current-source Release 원본101-frame 재생성·비교: 65-frame runtime PASS·U101 families PASS/UR 경고200·독립 kinetic/balance 대조 일치. [변경 evidence](newton-start-policy.md). Runtime/원본 일치를 C08/N7 시간 정확도 해결로 승계하지 않는다.
- [x] HHT-ADR-013 변경본의 전체802 Debug·공식 C08b 전체5 grid의 자연 종료와 판정. 제외 없는 전체 CTest는11384.61초·native8:799 PASS·C08 정확도 FAIL2·기존 C04a SKIP1이며 추가 예외0이다. C08b 5개 grid의 runtime finding은 CLOSED, 시간 정확도는 미완료다. Source·원본·binary identity 대조와 독립 bounded 검토는 [변경 evidence](newton-start-policy.md)를 따른다. execute.py의1800초 timeout native1과 최초 중단은 전체 완료 evidence가 아니다.
- [x] 2026-10-12 권장 후속 조사 실행: 소형 moving-null DAE의 전체 시점 차수 독립 검산, 실제 C08b 해상도 및 fixed-state P/history drift 분리, 같은 HHT carried-A private 후보의512–4096 native0 실행. [실행 보고서](temporal-remediation.md). Production 채택·C08/N7 통과·acceptance 변경을 의미하지 않는다.
- [x] 사용자 지정 모델·출력과 현행 dev 기준 확인.
- [x] 격리 worktree 및 Feature 핵심 문서 작성.
- [x] Requirement 초안: 원자적 요구사항과 acceptance intent 작성.
- [x] Research 초안: 일차·공식 근거의 열람 범위, 입력 생략 의미, 검증 후보와 근거 공백 정리.
- [x] 문서 간 범위·비교 정책·로컬 링크 및 reference 원본 보존 정적 검토.
- [x] 2026-10-11 질량 선택 반영: 이번 HHT 기본·구현 범위는 nodal lumped kinetic mass.
- [x] 나머지 물리·공개 parameter·공식 결과 범위 확정: HHT-ADR-009와 I/O 계약.
- [x] Formulation 후보 작성: HHT·정확한 유한회전 관성·초기화·잔차·접선·회복.
- [x] 독립 수식 검토와 variable-mass / moving-null 제조해 검산; 메인 재현 확인.
- [x] 추가 수치 근거 조사와 full Cartesian moving-null 독립 검산·재현.
- [x] Numerical Review의 내부 기준·검증 사례·reference 수치 비교 계약 검토 완료.
- [x] I/O 계약과 실제 field/schema binding 정의·정식화 대조.
- [x] HDF5 구현과 readback 검증: state/writer focused Debug suite와 원본 101-frame 비교 실행 완료. 후속 발견된 굽힘 단면력 복구 오류의 수정 후 HDF5 재검증은 별도 항목이다.
- [x] 지정 reference U 101 families PASS, UR row/RMS 경고 200건 기록. Reference 성공은 C08/physics 통과가 아니다.
- [ ] C08a/C08b 시간수렴 실패 해결: [독립 검토](implementation-numerical-review.md), [물리 검토](physics-evaluation.md). 현 알고리즘과 tolerance를 유지한 실패 재현 완료.
- [x] 2026-10-12 [HHT-ADR-014](ADR.md) 사용자 승인: C08b P absolute/balance 판정, 최종 finer grid 추가, 실제 shell reduced-coordinate HHT와 shell schema v2 의미 구분. 승인은 구현 통과가 아니다.
- [x] 2026-10-13 [HHT-ADR-015](ADR.md) 사용자 승인: C08a 원 grid 보존 및 최종512/1024 추가, hidden1/2 모든 frame normalized bound 판정. 승인은 검증 통과가 아니다.
- [x] 2026-10-13 [HHT-ADR-016](ADR.md) 사용자 승인: Reduced N3 whole/requested 증분의 실제 high+low 산술 검사와 저장 high의 RN-even 검사 분리. 승인은 검증 통과가 아니다.
- [x] 2026-10-13 [HHT-ADR-017](ADR.md) 사용자 승인: 병진 기준 만족 후 회전·보조변수 부분 행렬 보정, 실제 부분 행렬 N2-L 검사 및 full-model defect를 보존하는 N7. [독립 검토](numerical-review-channel-newton.md) 완료; 구현 통과와 구별한다.
- [ ] HHT-ADR-017 production/C08 controller 구현·trigger/thaw/100/rollback·omitted-U N7 회귀와 자연 C09/C08·원본·전체 Debug 재검증.
- [x] 2026-10-13 [HHT-ADR-018](ADR.md) 사용자 승인: 초기 analytic null 직교 보완공간의 fixed sparse basis와 부분구속 혼합 chart 정책. 승인은 solver 검증 통과가 아니다.
- [x] HHT-ADR-018 [상세 수식](formulation-fixed-null-basis.md) 및 [독립 정적 수치 검토](numerical-review-fixed-null-basis.md): sparse augmented blocks·scaled operator/undo·횡단성·초기화·N3/CA/N7 계약. Runtime PASS와 구별한다.
- [ ] HHT-ADR-018 production/controller 및 N3/CA/N7 변환·initial/부분구속/N5/C09·공식 C08·원본·전체 Debug 재검증.
- [ ] HHT-ADR-016 production/controller·표현 경계/산술 mutation 검사·C08·reference·전체 Debug 재검증.
- [x] HHT-ADR-015 변경본 C08a 전체7 grid의 공식 시간수렴·hidden1/2·N7 재검증: ADR-018 최종 controller 계수 수정본 Release native0·703.90초. C08b·전체 Debug·reference 완료와 구분한다.
- [ ] Carried-A production 산술 및 해당 N5/N7·BC·실패보존 검증.
- [ ] Reduced shell embedding·정확한 chain-rule/접선·초기화·부분구속·원 residual/hidden 검증.
- [x] Shell dynamic schema v2·public diagnostic A 의미·reader/comparator/readback focused 검증: state/writer 관련 Debug와 Python comparator47 PASS. Actual production 원본101-frame 비교와 전체 회귀는 아래 미완료 항목으로 구분한다.
- [ ] 승인된 C08b32768/65536/131072 실제 실행과 시간수렴·P/E/L 판정.
- [ ] HHT-ADR-011에 따른 가속도 복구 후보 정식화·독립 검증 후 채택 여부 결정.
- [x] 굽힘 단면력의 두께 계수 수정: 최신 Debug 관련 14 tests PASS, 원본 HDF5 재생성·비교 및 `M=t³Cκ/12` 독립 대조 완료. 전체 회귀 상태는 아래 항목과 구분한다.
- [ ] C09–C11 잔여 coverage: rigid translation 전체 이력, Newton100/101·실패 보존, 3회 결정론·partition·전체 모델 covariance.
- [ ] Solver 구현·구성된 build/test·독립 물리 및 reference 검증. 최신 Debug build 및 C08 temporal2개 제외 CTest는475 PASS/1 C04a SKIP; C08 실패와 전체 gate 미완료는 유지한다.
2026-10-13 동결 source의 reduced operator·actual N5·procedure·산술 Debug15 PASS 및
Release16 PASS를 확인했다. Large DIRECT의 Ar→좌표 재구성 상쇄를 실제 p 증분 누적으로
수정했으며 원 N3의 requested increment trace·기존 수치 기준을 유지했다.
[현재 실행 기록](temporal-remediation.md#좌표-증분-산술-수정-후-현재-범위)과
[구현 기록](implementation-c08-reduced.md)을 따른다. 원본 Release 실행은
증분39·t=3.9에서 increment trace 검사로 실패했다(CLI exit5).
C08b는 기존5 grid 실행 후 첫 추가 grid에서
hidden position 판정 실패로 종료했다(599.92초, native8). C08a의 추가 grid/hidden 판정은
[승인된 변경](c08a-refinement-proposal.md)이다. 승인 grid7개를 실행한 Release는
최종 오차·차수를 만족했으나 q increment trace 및 추가 velocity gate로 native8이었다.
누적 산술 수정과 계약 정정 후의 최신 검증을 별도로 수행한다.
보상 누적 변경본의 C08a 전체7 grid도 888.432초·native8로 종료했다.
Whole/requested 좌표 trace는 각각58건 실패했다. 독립 exact 검산에서
58개 모두 현재 값이 가장 가까운 binary64 좌표였으며 인접 좌표도 원 기준을
만족하지 못했다. [좌표 표현 분리 제안](c08-n3-coordinate-representation-proposal.md)은
HHT-ADR-016으로 승인됐으며 변경본의 검증은 진행 중이다. 승인 이전 FAIL 판정은 보존한다.
ADR-016 exact threshold 변경본은 전체 Debug target build 및 focused9개가 통과했다
(149.36초, native0). N3 산술6개, warped 공유 절점 실제 N5, genuine nonzero C1 및
독립5³ 관성 대조의 범위다. 초기 재구성 C09·공식 C08 grid·production reference·
전체 configured Debug 검증 완료를 뜻하지 않는다.
Actual N5 third-gradient mutation 검사는 통과했다. Proper-Q C09의 초기
행별 평형 실패는 canonical primitive-gradient 수정 후 통과했지만,
direct director increment 변경본도 increment1·outer100의 physical moment N2에서
실패했다. 요소 관련 Debug16개 PASS를 전체 C09 통과로 승계하지 않는다.
승인 N2 채널 기준 및 실제 재조립 scale와의
계약 정정은 [후속 실행 기록](temporal-remediation.md#10-보상-좌표-누적-적용-후-재검증)을 따른다.
문서 gate의 완료와 solver 기능의 완료를 구별한다. 현재 구현 단계에서는 내부 수치 검증, solver build/test 및 지정 reference 해석·비교를 실행한다. 통과 여부와 physics 평가는 실제 evidence로 갱신한다.
2026-10-13 ADR-017 구현 전 최신 Release 공식 C08a7-grid는470.47초·native0으로
통과했다. Configured Debug 관성13개·actual N5·partition 회귀는 통과하지만
C09 full Newton100은 실패했다(전체 focused15 PASS·1 FAIL). Helper/partition
추가 Debug 두 검사는 native0이다. 이 bounded evidence는 ADR-017 변경본의
검증으로 승계하지 않는다. [현재 실행 기록](temporal-remediation.md)을 따른다.
ADR-017 변경본의 configured Debug C09는 여섯 solver trajectory를 완료했지만
finite-rotation global covariance에서 native8·113.03초로 실패했다.
[실제 진단](channel-newton-covariance-diagnostic.md)은 matched-state assembly와
비선형 selector recurrence 차이를 분리했다. [고정 null 보완공간 제안](fixed-null-basis-proposal.md)은
HHT-ADR-018로 승인된 후속 chart/integrator 변경이며 기능 완료 checklist는 그대로 미완료다.
ADR-017 최종 parity의 Release C08a7-grid+helper2는 native0·760.84초에
통과했다(최소order1.80500237/N7 separation157.542906). Debug 실제 초기 이력
64-step+helper2도 native0·786.88초다. 이 bounded 결과는 C09 covariance,
C08b 전체8-grid·원본 production 비교·전체 configured Debug의 대체가 아니다.
ADR-018의 첫 configured Debug 전체 target build는 native0이며, 같은 동결 source의
focused26개가 native0·176.41초에 통과했다. 비영 initial analytic null의 비성분 basis,
부분구속 exact0·proper-Q 평면 변환·S/G 분리·계수 radius 보존·N3/제한 Newton/실패 보존과
실제 warped/shared-node mixed-time N5 및 항 누락 검사가 포함된다(N5 152.47초).
이는 C09 전체 이력, graph coefficient-BL certificate, 공식 C08·원본·전체 Debug의
완료 evidence가 아니다. 별도 private proper-Q 실행의 inner-graph100 실패도 보존하며
변경본 기능 checklist는 미완료다.
같은 첫 source epoch의 configured Debug C09는 native8·238.51초에 실패했다.
Proper-Q 병진 trajectory의 증분2·t=0.5에서 inner-graph100에 도달했다.
독립 raw 감사는 전체 q/z의4-cycle과 일부 phase의 정확한2-lag global-q 반복을
확인했다. Private z만 검사하던 기존 반복 감지의 보완은 원 endpoint 기준을
유지하는 수정으로 진행하며, 변경본 C09 통과와 공변성 판정은 아직 미완료다.
Actual-q 반복 감지와 graph certificate 보완을 포함한 후속 Debug binary의
경계12개 검사는 native0·2.86초, configured C09는 native0·117.23초에 통과했다.
Native basis 생성의7개 입력·63계수는 같은 raw binary64 입력과 고정 선택축의
독립 Decimal1000/1200 대조에서 실제 출력 radius 안에 있었다.
Controller 소스의 실행 중 한정 위치 이동·복원 후 hash 불일치는 별도로 기록하며,
이 실행을 완전한 source7 identity 일치로 표현하지 않는다. Production·검사 exporter·
실행 binary의 관련6개 hash는 일치한다. Projection/lift의 오차 반경을 실제
Neumaier 합산 순서로 재현하는 후속 소스와 fresh identity 검증은 진행 중이다.
공식 C08·원본·전체 Debug와 기능 완료 checklist는 계속 미완료다.
Neumaier source-order projection·p→z combined lift·실제 frame 중심 차이 반경을
반영한 최종 epoch의 configured Debug 전체 target build는 native0이다.
Controller 경계4개(native0·2.15초), reduced-core27개(native0·372.14초),
CA/제한 Newton/N7 omitted-U5개(native0·1.98초)가 통과했다.
Actual warped/shared mixed-time N5 및 항 누락 검사는314.76초에 통과했다.
소스6개와 실행 binary의7개 SHA는 실행 전후 모두 일치하며 소스 스냅샷도 보존했다.
Release C08a7-grid와 새 production 원본 해석은 실행 중이다. 해당 결과와
C08b8-grid·원본 비교·독립 물리·전체 Debug를 아직 완료로 표시하지 않는다.
같은 Neumaier epoch의 configured Debug C09는 native0·217.24초에 통과했다.
동결 source snapshot과 실행 binary를 보존했고, 후속 controller 수정은 해당
CTest 종료 후 승인된 수정 범위에서 수행했다.
Release C08a7-grid는 native8·819.31초로 실패했다. 실패83,520건은 모두 새
basis-lift 일관성 검사 하나이며, 다른 시간수렴·hidden·N7 오류는 보고되지 않았다.
Controller가 `LpᵀδA` 대신 `Lpᵀδa`를 비교한 `1+α` 누락을 독립 검토로 확인했다.
Production에는 해당 계수가 이미 올바르게 적용되어 있다. 기준을 유지한 controller
수정의 Debug build 및 비성분 basis 계수 누락 회귀는 native0·1.24초에 통과했다.
수정 후 공식 C08a7-grid 재검증은 아직 완료되지 않았다.
최종 controller 계수 수정본의 공식 Release C08a7-grid와 계수 관련 회귀2개는
native0·703.90초에 통과했다(C08a 자체703.39초). 승인된 마지막 세 grid의
최소 시간수렴 차수는1.80500237, 최소 N7 separation은157.615676이다.
소스6개와 Release 검사 binary의7개 SHA가 실행 전후 일치한다.
실행 원본과 별도 계산한 지표는 `adr018-filter-c08a-release.raw.log` 및
`adr018-filter-c08a-metrics.json`에 보존했다. 승인된 C08b 전체8-grid와
production 원본 해석은 실행 중이며, 원본101-frame 비교·독립 물리·전체
configured Debug와 기능 완료 checklist는 여전히 미완료다.
같은 동결 source에서 필수 `python scripts/execute.py`를 시작했다.
실행 시작 시 소스6개·Debug 검사 binary의7개 SHA가 이전 identity와 일치했다.
해당 실행은 전체 deadline1800초에 도달하여 2026-10-13 14:40 KST에
native1로 종료했다. 출력상44개 검사는 통과했으며45번 C08a 시간수렴
실행 중 timeout이었다. 이는 solver 검사 실패의 확정이나 전체 PASS가 아니다.
`adr018-filter-configured-harness`와 별도 `adr018-filter-harness-timeout/`에
종료 및 부분 CTest 기록을 보존했다. Debug 자식 프로세스가 남지 않았음을
확인한 뒤 동일 preset 전체 CTest를 직접 시작했으며, 최종 native 결과는
`adr018-filter-full-debug`로 별도 확인한다. 제외 검사나 기준 완화는 없다.
2026-10-13 16:33:50 KST 사용자가 세 실행의 종료와 저장 구간 비교를 요청했다.
원본 Release 해석·Release C08b·전체 Debug CTest 및 자식 프로세스를 모두
종료했으며 native exit는 각각 `-1`이다. 사용자 중단으로 분류한다.
Debug44/856 PASS와 완료된 `h=1/64` controller 요약의 Release 일치,
원본 증분99·t=9.9까지 accepted 로그의 수렴 상태를 검산했다.
중간 HDF5가 없어 현재 Abaqus U/UR 비교는 수행할 수 없다.
[중단 시점 비교](interrupted-validation-comparison.md)에 근거와 한계를 기록했다.
사용자 요청에 따라 hexa 완료·성능 최적화 후 전체 검증을 다시 수행하며,
이번 중단 후 해석·CTest를 재시작하지 않는다.