chore: remove retired workflow and historical material
This commit is contained in:
@@ -1,24 +0,0 @@
|
||||
# 외부 입력 subset과 독립 솔버
|
||||
|
||||
- 상태: 기존 승인·인터뷰 합의의 의미 유지
|
||||
- 결정 주체: 사용자와 기존 승인 계약의 담당자
|
||||
|
||||
## 배경
|
||||
|
||||
기존 모델을 읽고 외부 결과로 검증해야 하지만, 공개 입력 형식과 외부 솔버의 내부 알고리즘은
|
||||
같은 계약이 아니다. 파서 호환성을 제품 목표로 삼으면 검증 가능한 물리 의미보다 문법 수용이 앞설 수 있다.
|
||||
|
||||
## 결정
|
||||
|
||||
승인된 Abaqus keyword subset의 의미만 지원한다. S4/S4R 등 source 표기는 보존하고
|
||||
FESA 정식화로 연결한다. 외부 solver의 내부 적분·안정화·상태·결과 생성 동등성은 주장하지 않는다.
|
||||
|
||||
## 대안과 선택 이유
|
||||
|
||||
Full compatibility는 비공개 내부 동작까지 추정해야 하므로 채택하지 않는다.
|
||||
자체 입력 형식만 쓰는 방식은 기존 .inp와 외부 reference를 직접 활용하는 현재 작업 흐름과 맞지 않는다.
|
||||
|
||||
## 영향
|
||||
|
||||
입력과 kernel의 연결·차이를 명시해야 한다. Exact 수치 일치는 가능하지만 내부 동등성의
|
||||
증거가 아니다. Unknown model-affecting 입력은 silent approximation 대신 실패한다.
|
||||
@@ -1,24 +0,0 @@
|
||||
# 검증 환경과 private backend
|
||||
|
||||
- 상태: 기존 승인·인터뷰 합의의 의미 유지
|
||||
- 결정 주체: 사용자와 기존 승인 계약의 담당자
|
||||
|
||||
## 배경
|
||||
|
||||
수치 library의 package target·integer·resource와 Windows runtime이 core로 퍼지면
|
||||
물리 코드와 설치 환경을 독립적으로 검증하기 어렵다.
|
||||
|
||||
## 결정
|
||||
|
||||
현재 CMake/MSVC x64 Debug/CTest와 C++17 이상을 검증 기준으로 유지한다. MKL·TBB·
|
||||
HDF5·Win32는 backend-neutral 경계 뒤에 두고 project-owned dependency target과 runtime staging을 사용한다.
|
||||
|
||||
## 대안과 선택 이유
|
||||
|
||||
Vendor 타입을 public에 노출하면 adapter 교체가 core와 consumer 변경으로 전파된다.
|
||||
다른 toolchain의 즉시 지원 선언은 해당 환경의 numerical/runtime evidence 없이 할 수 없다.
|
||||
|
||||
## 영향
|
||||
|
||||
Dependency 추가마다 build뿐 아니라 실제 runtime closure를 확인한다. 개인 설치 경로를
|
||||
제품 계약으로 고정하지 않으며 실행기 MSBuild 지원을 FESA의 별도 제품 검증으로 취급하지 않는다.
|
||||
@@ -1,24 +0,0 @@
|
||||
# 모델 정의와 equation 소유권
|
||||
|
||||
- 상태: 기존 승인·인터뷰 합의의 의미 유지
|
||||
- 결정 주체: 사용자와 기존 승인 계약의 담당자
|
||||
|
||||
## 배경
|
||||
|
||||
Source label, 모델 배열과 equation 번호는 서로 다른 수명과 의미를 가진다. 실행별
|
||||
제약이나 procedure가 바뀌어도 원본 모델과 결과 identity는 보존되어야 한다.
|
||||
|
||||
## 결정
|
||||
|
||||
Domain이 전체 정의를 소유하고 AnalysisModel은 non-owning view로 둔다.
|
||||
DofManager가 DOF·partition·equation·sparse pattern을 전담한다. Semantic definition과 numerical object는 검증된 생성 경계로 연결한다.
|
||||
|
||||
## 대안과 선택 이유
|
||||
|
||||
Node/Element에 equation 번호를 저장하면 여러 실행 상태가 원본 정의에 섞인다.
|
||||
모델 복사는 별도 수명·동기화 비용을 만들고 source identity가 다른 복사본처럼 취급될 수 있다.
|
||||
|
||||
## 영향
|
||||
|
||||
Domain 수명을 view보다 길게 유지해야 한다. Parser나 consumer가 모든 concrete storage를
|
||||
알아야 하는 구조를 피하되 speculative clone·registry·사용하지 않는 capability는 추가하지 않는다.
|
||||
@@ -1,24 +0,0 @@
|
||||
# Local contribution과 결정적인 조립
|
||||
|
||||
- 상태: 기존 승인·인터뷰 합의의 의미 유지
|
||||
- 결정 주체: 사용자와 기존 승인 계약의 담당자
|
||||
|
||||
## 배경
|
||||
|
||||
병렬 계산의 속도를 얻으면서 같은 입력의 sparse 구조·합산·진단·결과 순서를
|
||||
재현해야 한다. Floating-point 누적 순서는 수치 결과에 영향을 준다.
|
||||
|
||||
## 결정
|
||||
|
||||
Local contribution은 index-owned buffer에 계산하고 join 뒤 stable COO와 고정된
|
||||
reduction으로 global matrix/vector에 반영한다. Global pattern은 DOF owner가 정의한다.
|
||||
|
||||
## 대안과 선택 이유
|
||||
|
||||
Worker의 직접 global CSR 갱신은 race 또는 lock 순서 의존을 만든다.
|
||||
Hash iteration에 의존한 누적도 stable source ordering을 보장하지 않는다.
|
||||
|
||||
## 영향
|
||||
|
||||
Contribution buffer와 정렬 비용을 부담한다. Optimization은 같은 순서·물리 의미·실패
|
||||
선택을 보존해야 하며 더 빠르다는 이유로 결정론을 선택 기능으로 만들 수 없다.
|
||||
@@ -1,24 +0,0 @@
|
||||
# Candidate 검증과 공식 HDF5
|
||||
|
||||
- 상태: 기존 승인·인터뷰 합의의 의미 유지
|
||||
- 결정 주체: 사용자와 기존 승인 계약의 담당자
|
||||
|
||||
## 배경
|
||||
|
||||
반복 중 일부 값 또는 저장 중 일부 dataset만 성공한 결과를 정상 해석으로 읽으면
|
||||
실패 뒤 기존 유효 결과까지 신뢰할 수 없게 된다.
|
||||
|
||||
## 결정
|
||||
|
||||
State와 recovery는 완성·검증된 candidate만 반영한다. 공식 결과는 입력 lexical sibling의
|
||||
HDF5이며 임시 파일의 self-check·close 후 최종 교체한다. Output lease로 동일 output pair의 동시 쓰기를 막는다.
|
||||
|
||||
## 대안과 선택 이유
|
||||
|
||||
실패 중간 state나 final 파일에 직접 누적하면 rollback 범위를 명확히 하기 어렵다.
|
||||
CSV를 공식 결과로 두면 계층적 위치·단위·identity 계약을 현재 방식으로 유지할 수 없다.
|
||||
|
||||
## 영향
|
||||
|
||||
Candidate와 readback 비용을 부담한다. State commit과 file finalize, final HDF5와
|
||||
진단 로그의 수명은 구분하며 실패 시 로그까지 동일하게 보존된다고 약속하지 않는다.
|
||||
@@ -1,24 +0,0 @@
|
||||
# Procedure별 lifecycle과 full residual
|
||||
|
||||
- 상태: 기존 승인·인터뷰 합의의 의미 유지
|
||||
- 결정 주체: 사용자와 기존 승인 계약의 담당자
|
||||
|
||||
## 배경
|
||||
|
||||
정적·비선형·고유치·동적 해석은 초기화·해법·종료·결과 의미가 다르다.
|
||||
반력과 free 잔차는 같은 수치 vector에 있어도 다른 물리적 역할을 가진다.
|
||||
|
||||
## 결정
|
||||
|
||||
각 procedure가 필요한 state와 solver lifecycle을 소유한다. 기존 선형 정적 해석은
|
||||
elimination의 coupling을 유지하고 full residual Kd-F에서 constrained 반력과 free 평형을 구한다.
|
||||
|
||||
## 대안과 선택 이유
|
||||
|
||||
Static lifecycle에 계속 분기를 누적하면 다른 procedure의 state·종료 의미가 섞인다.
|
||||
Constrained 외력만 부호 반전한 반력은 지정 변위와 stiffness coupling을 반영하지 못한다.
|
||||
|
||||
## 영향
|
||||
|
||||
새 procedure는 입력부터 output까지 연결해야 한다. 빈 free system은 유효한 경우
|
||||
지원하며 arbitrary penalty·regularization을 failure의 우회로로 사용하지 않는다.
|
||||
@@ -1,24 +0,0 @@
|
||||
# 원본 reference와 승인된 비교 정책
|
||||
|
||||
- 상태: 기존 승인·인터뷰 합의의 의미 유지
|
||||
- 결정 주체: 사용자와 기존 승인 계약의 담당자
|
||||
|
||||
## 배경
|
||||
|
||||
구현에 맞춰 기준 데이터를 고치거나 family마다 scale을 달리 정하면 수치 검증이
|
||||
구현과 기준의 순환적 자기 정당화가 된다.
|
||||
|
||||
## 결정
|
||||
|
||||
기존 reference의 경로·값을 보존하고 source identity·component를 먼저 일대일
|
||||
대응한다. Approved family/scale/near-zero/row/RMS/zero-scale 정책과 판정 영향을 유지한다.
|
||||
|
||||
## 대안과 선택 이유
|
||||
|
||||
Canonical naming·보조 metadata를 필수로 추가하는 방식은 실제 비교에 필요하지 않은
|
||||
정리 작업을 gate로 만든다. Missing row 무시·평균·floor·clamp는 다른 모델을 통과시킬 수 있다.
|
||||
|
||||
## 영향
|
||||
|
||||
필수 원본이 없으면 비교 미실행으로 남긴다. 정책 변경은 사용자 승인과 영향 검증을
|
||||
요구하며 새 evidence를 생성할 수 있지만 과거 실패 보고와 원본을 소급 수정하지 않는다.
|
||||
@@ -1,24 +0,0 @@
|
||||
# 수치·물리·외부 비교의 분리
|
||||
|
||||
- 상태: 기존 승인·인터뷰 합의의 의미 유지
|
||||
- 결정 주체: 사용자와 기존 승인 계약의 담당자
|
||||
|
||||
## 배경
|
||||
|
||||
유한한 해, 선형계 성공 또는 외부 변위 일치만으로 정식화·회복·에너지·시간 정확성을
|
||||
모두 확인할 수 없다. HHT의 reference 통과와 temporal 실패도 별개 증거다.
|
||||
|
||||
## 결정
|
||||
|
||||
동작 검사, analytical/invariant, 필요한 reference와 독립 numerical/physics 판단을
|
||||
구분한다. 수식·요소·재료·적분·상태 갱신 변경은 독립 검토를 받는다.
|
||||
|
||||
## 대안과 선택 이유
|
||||
|
||||
모든 기능에 같은 고정 benchmark 목록을 강제하면 의미 없는 검사를 늘린다.
|
||||
반대로 test count나 runner exit만으로 완료를 판정하면 검증되지 않은 물리를 통과로 오인한다.
|
||||
|
||||
## 영향
|
||||
|
||||
기능별 필수 evidence와 미실행·실패·제외를 명시해야 한다. Release-readiness 감사는
|
||||
별도 요청이며 독립 검토·감사 결과가 배포 권한을 부여하지 않는다.
|
||||
@@ -1,24 +0,0 @@
|
||||
# 필요한 전문 작업과 명시적 검증 실행
|
||||
|
||||
- 상태: 기존 승인·인터뷰 합의의 의미 유지
|
||||
- 결정 주체: 사용자와 기존 승인 계약의 담당자
|
||||
|
||||
## 배경
|
||||
|
||||
고정 stage·반복 인계·자동 Git·종료 hook 중심 운영은 실질적인 공학 판단보다
|
||||
형식적인 상태 유지와 중복 실행을 늘렸다.
|
||||
|
||||
## 결정
|
||||
|
||||
메인이 범위를 파악해 필요한 전문 작업만 배정한다. 실행기는 config·toolchain·
|
||||
backend 명령을 명시 호출 시 한 번 실행한다. 일반 실패는 현재 owner가 수정한다.
|
||||
|
||||
## 대안과 선택 이유
|
||||
|
||||
전용 coordinator·planning/correction profile·고정 상태기계·retry 예산을 유지하는
|
||||
방식은 폐기한다. 검증 script에 commit/push 권한을 묶는 방식도 채택하지 않는다.
|
||||
|
||||
## 영향
|
||||
|
||||
메인이 작업 범위와 evidence를 확인해야 한다. 반복 승인 없이 승인된 일반 작업을
|
||||
이어가되 원격·파괴·외부 비용·상위 계약 변경의 사용자 결정 경계는 유지한다.
|
||||
@@ -1,24 +0,0 @@
|
||||
# 공통 기준과 기능별 상세 계약
|
||||
|
||||
- 상태: 기존 승인·인터뷰 합의의 의미 유지
|
||||
- 결정 주체: 사용자와 기존 승인 계약의 담당자
|
||||
|
||||
## 배경
|
||||
|
||||
공통 기준에 모든 기능 진행상태를 누적하거나 같은 checklist를 여러 파일에 두면
|
||||
어느 기록이 현재 요구와 상태인지 모호해진다.
|
||||
|
||||
## 결정
|
||||
|
||||
공통 제품·수치 기준과 기능별 요구·정식화·I/O·결정을 구별한다. Feature의
|
||||
FEATURED_AGENTS·PRD·ADR을 유지하고 현재 checklist는 Feature PRD 한 곳에 둔다.
|
||||
|
||||
## 대안과 선택 이유
|
||||
|
||||
모든 기능에 빈 보고서·requirements·matrix를 일괄 만드는 방식은 중복을 늘린다.
|
||||
기존 계약을 새 파일명 규칙에 맞춰 자동 이동·재번호화하면 승인·evidence의 추적성을 잃는다.
|
||||
|
||||
## 영향
|
||||
|
||||
복잡한 상세 내용만 분리한다. 기존 ID·승인 근거·reference와 과거 운영 이력을 보존한다.
|
||||
전체 상태 요약이 기능별 필수 검사를 대체하지 않으며 공통 기준 변경은 별도 요청으로 다룬다.
|
||||
@@ -1,24 +0,0 @@
|
||||
# MITC4 고유치 첫 구현의 경계
|
||||
|
||||
- 상태: 기존 승인·인터뷰 합의의 의미 유지
|
||||
- 결정 주체: 사용자와 기존 승인 계약의 담당자
|
||||
|
||||
## 배경
|
||||
|
||||
MITC4 고유치의 첫 구현에서 외부 값 차이와 추가 정확도 개선을 분리해 진행할
|
||||
필요가 있었고, 사용자가 모드별 5% 범위의 첫 구현을 승인했다.
|
||||
|
||||
## 결정
|
||||
|
||||
실제 FEAST와 consistent에서 유도한 lumped mass를 사용한다. 외부 Value는 mode별
|
||||
singleton family의 상대오차·RMS 모두 5%로 판정하는 named policy를 적용한다.
|
||||
|
||||
## 대안과 선택 이유
|
||||
|
||||
공통 RMS 1%를 이 첫 구현에 그대로 요구하는 선택 대신 범위를 명시한 예외를
|
||||
채택했다. 다른 모드의 scale로 차이를 흡수하거나 reference를 보정하는 방식은 허용하지 않는다.
|
||||
|
||||
## 영향
|
||||
|
||||
다른 해석의 RMS 1%와 내부 eigen 잔차·정규화·직교성 기준은 유지한다.
|
||||
정확도 개선·보류한 검증은 해결된 것으로 취급하지 않고 과거 1% 실패 기록도 보존한다.
|
||||
@@ -1,31 +0,0 @@
|
||||
# 고유치·HHT의 lumped mass
|
||||
|
||||
- 상태: 2026-10-11 사용자 승인으로 질량 선택 갱신
|
||||
- 결정 주체: 사용자와 기존 승인 계약의 담당자
|
||||
|
||||
## 배경
|
||||
|
||||
유한회전 shell 동역학에서는 회전관성과 configuration에 따른 kinetic kinematics를
|
||||
다뤄야 한다. 고유치 계산의 질량 선택을 그대로 옮기면 다른 물리를 해석할 수 있다.
|
||||
|
||||
## 결정
|
||||
|
||||
고유치와 HHT는 lumped mass를 사용한다. MITC4 고유치의 기존 nodal block mass는 유지한다.
|
||||
MITC4 HHT는 `rho*N_i*dV0`의 nodal kinetic measure로 질량·관성력·convective 항·접선·
|
||||
운동에너지·운동량을 함께 계산한다. Hex8은 전체 요소 reference consistent matrix의
|
||||
행합을 대각에 넣은 뒤 경계조건을 축소한다. Shell의 회전 block까지 scalar diagonal로
|
||||
치환하는 결정은 아니다. Analytic null·부분구속·물리 가속도와 보조 가속도의 구분을 유지한다.
|
||||
|
||||
## 대안과 선택 이유
|
||||
|
||||
기존 consistent 선택과 질량만 바꾼 비교 연구는 과거 기록으로 보존한다. 이번 명시 승인으로
|
||||
기본 질량을 변경하며 solver 선택 옵션이나 fallback은 추가하지 않는다.
|
||||
임의 drilling inertia나 부분구속의 full-clamp 치환은 원래 모델을 바꾼다.
|
||||
|
||||
## 영향
|
||||
|
||||
비대칭 접선·moving null·regularity와 실제 shell temporal 검증 부담이 있다.
|
||||
현재 시간수렴 실패를 유지하며 가속도 복구 후보는 독립 검증·채택 전 승인된 해법으로 간주하지 않는다.
|
||||
|
||||
기능별 정확한 정의와 대체 이력은 [HHT-ADR-012](../../hht-implicit-dynamics/ADR.md#hht-adr-012--고유치hht-lumped-mass-채택)와
|
||||
[HEX8-ADR-010](../../hex8-structural-analysis/ADR.md#hex8-adr-010--고유치hht-reference-row-sum-lumped-mass)에 둔다.
|
||||
@@ -1,24 +0,0 @@
|
||||
# Uncoupled shell 열해석부터 구현
|
||||
|
||||
- 상태: 기존 승인·인터뷰 합의의 의미 유지
|
||||
- 결정 주체: 사용자와 기존 승인 계약의 담당자
|
||||
|
||||
## 배경
|
||||
|
||||
최종 목표는 양방향 열-구조 연성이지만, 현재는 온도장 자체의 transient 해석과
|
||||
검증 범위를 먼저 확정해야 한다.
|
||||
|
||||
## 결정
|
||||
|
||||
첫 범위는 단일 step uncoupled shell 열해석, 균질 단면의 온도점 5개와 상수 물성,
|
||||
고정 증분이다. 초기에 검토한 두께 방향 등온 범위는 5점 온도장으로 대체한다.
|
||||
|
||||
## 대안과 선택 이유
|
||||
|
||||
즉시 양방향 연성을 구현하는 방식은 현재 요구 범위를 넘는다. 두께 등온 모델은
|
||||
아랫면·윗면의 독립 지정 온도와 두께 방향 열전달 요구를 충족하지 못한다.
|
||||
|
||||
## 영향
|
||||
|
||||
열행렬·flux·반력·에너지·시간수렴을 별도로 검증해야 한다. 두 구간 이차 보간,
|
||||
Backward Euler, geometry 근사와 결과 schema는 제안 상태이며 이 범위 결정만으로 채택되지 않는다.
|
||||
@@ -1,20 +0,0 @@
|
||||
# 프로젝트 결정 목록
|
||||
|
||||
현재 유지하는 선택과 그 비용을 구분한다. 과거 승인 이력과 수치 기준은 그대로 보존하며,
|
||||
아래 기록은 새로운 physics·acceptance 승인이 아니다. 열해석의 제안 방법은 채택 목록에 넣지 않는다.
|
||||
|
||||
| 파일 | 유지하는 선택 |
|
||||
| --- | --- |
|
||||
| `0001-independent-solver.md` | 외부 입력 subset과 독립 솔버 |
|
||||
| `0002-build-and-backends.md` | 검증 환경과 private backend |
|
||||
| `0003-model-and-equations.md` | 모델 정의와 equation 소유권 |
|
||||
| `0004-ordered-assembly.md` | Local contribution과 결정적인 조립 |
|
||||
| `0005-state-and-output.md` | Candidate 검증과 공식 HDF5 |
|
||||
| `0006-procedure-lifecycle.md` | Procedure별 lifecycle과 full residual |
|
||||
| `0007-reference-evidence.md` | 원본 reference와 승인된 비교 정책 |
|
||||
| `0008-layered-verification.md` | 수치·물리·외부 비교의 분리 |
|
||||
| `0009-explicit-development.md` | 필요한 전문 작업과 명시적 검증 실행 |
|
||||
| `0010-feature-contract-ownership.md` | 공통 기준과 기능별 상세 계약 |
|
||||
| `0011-eigen-first-implementation.md` | MITC4 고유치 첫 구현의 경계 |
|
||||
| `0012-hht-kinetic-mass.md` | 고유치·HHT의 lumped mass |
|
||||
| `0013-thermal-staged-scope.md` | Uncoupled shell 열해석부터 구현 |
|
||||
@@ -1,230 +0,0 @@
|
||||
# 미해결 문제
|
||||
|
||||
## Hex8 제공 고유치 원본과 최저10 모드 불일치
|
||||
|
||||
- 현재 상태(2026-10-11): 사용자가 고유치·HHT lumped mass를 승인했다. 변경본의 실제
|
||||
MSVC Debug CLI와 원본 10개 Value 비교는 모두 native0/PASS이며 이 modal 불일치는
|
||||
해소됐다. 새 evidence는 `.dryforge/lumped-mass-adoption-20261011/references/hexa_freq/`
|
||||
아래 `native.json`·`comparison.json`이다. 전체 회귀와 다른 절차의 재검증은 별도로
|
||||
진행한다. 아래 consistent 구현의 실패와 당시 미승인 상태는 과거 조사 이력이다.
|
||||
|
||||
- 조건·재현: 체적 평균 구현 `18b36c1`의 실제 `hexa_freq.inp` CLI native0 결과에
|
||||
2026-10-11 제공된 `reference/hexa/hexa_freq.txt`를 비교한다. 명령과10개 metric은
|
||||
[최종 비교](../hex8-structural-analysis/verification.md#2026-10-11-제공된-고유치-원본의-최종-비교)에 있다.
|
||||
- 관찰: 입력·원본 hash·모드1–10·HDF5/finite/quantity/unit 사전검사 PASS이나 비교 native1,
|
||||
mode3/4/5/6/7/9/10의 singleton RMS/S가1%를 초과한다. Mode5는
|
||||
λ=63489.09126468376 대 원본52797로20.2513234932%이며 row5%도 초과한다.
|
||||
- 영향: 원본은 준비됐지만 FEM-REQ-HEX8-022–024의 필수 modal 비교 PASS와 기능 완료를
|
||||
충족하지 못한다. 정적2·동적2 PASS와 내부 original-pencil 검증은 이 차이를 없애지 않는다.
|
||||
- 초기 원인 분리의 한계: 제공 TXT에는 mode shape와 외부 조립 K/M·실제 element/mass
|
||||
formulation evidence가 없다. 고유치 차이만으로 강성·질량 중 어느 원인인지 확정할 수 없다.
|
||||
승인된 consistent M·평균 trace energy·1% 기준을 원본 값에 맞춰 변경할 근거가 아니다.
|
||||
- 후속 방향: 동일 입력의 원본 modal element/mass 설정과 mode shape 또는 matrix evidence를
|
||||
확보해 차이를 분리한다. Physics·acceptance 변경이 필요하면 근거와 영향을 사용자에게
|
||||
전달한다. 원본 수정·모드 재매칭·frequency 변환·tolerance 완화로 통과시키지 않는다.
|
||||
- 후속 조사(2026-10-11): [원본 질량·요소 설정 조사](../hex8-structural-analysis/reference-mass-investigation.md)에서
|
||||
Abaqus 공식 문서의1차 요소 row-sum lumped mass를 확인했다. 동일 평균 trace K의
|
||||
private 계산에서 consistent M은 실제 FESA λ를 상대차이4.57e-12 이내로 재현했고,
|
||||
lumped M은 원본10개 λ 모두 상대차이0.00196105% 이내였다. 질량 선택 차이가
|
||||
불일치의 주된 원인이라는 강한 근거다. 실제 원본 operator 직접 확인은 아니며 현재
|
||||
FEM-REQ-HEX8-007/HEX8-ADR-002의 consistent 계약과 필수 modal FAIL은 유지한다.
|
||||
채택하려면 eigen/HHT 공통 질량 정책과 영향 검증 범위를 먼저 결정해야 한다.
|
||||
|
||||
## Hex8 이전 표준 full8 정식화의 원본 불일치와 변경 후 검증
|
||||
|
||||
- 변경 후 관찰: 승인된 체적 평균 구현 `18b36c1`의 새 두 정적 CLI는 native0이며,
|
||||
공식 비교기의 source/model/schema/point/frame/finite 사전검사와 U/RF/S 모든 행이
|
||||
통과했다(native0). 실제 출력의 독립 mean energy·내력·응력·반력 ledger도 bounded
|
||||
physics PASS다. 비선형 free residual은 기존 static 기준 내 비영 값이며 exact equilibrium이
|
||||
아니다. 상세 수치는 [새 verification](../hex8-structural-analysis/verification.md#2026-10-10-체적-평균-energy-구현과-현재-재검증)에 있다.
|
||||
정적 불일치는 변경본에서 해결됐고 새 두 동적 원본도 각각101-frame U 비교 PASS다.
|
||||
실제 원본의 독립 수치·물리 검토도 bounded PASS다. 전체787 회귀는784 PASS·기존
|
||||
FAIL2·SKIP1(native8)으로 종료했고 추가170개 모두 PASS·새 예외0이다. 전체 green은 아니며,
|
||||
제공된 modal Value의 수치 불일치는 위 별도 문제로 남는다. 아래 과거 실패 근거는 보존한다.
|
||||
|
||||
- 과거 조건·현상: `e2c3c5b`의 실제 CLI가 byte-identical scratch 입력
|
||||
`hexa_linearstatic.inp`에서 native exit0으로 공식 HDF5를 생성했다. 원본13개의 SHA와
|
||||
scratch SHA는 보존됐다. Source step/factor1↔Increment10,442절점·300요소·IntPt1–8,
|
||||
좌표·tensor·단위·finite를 독립 확인했지만 U1326/RF51/S14400의 RMS/S는 각각
|
||||
`0.0167395197235`/`0.0681889252819`/`0.0427090341746`으로 공통1%를 초과했다.
|
||||
행 실패는79/34/7783개다. RF는 전체442행을 먼저 확인한 뒤 구속51성분으로 투영했다.
|
||||
- 당시 영향: 필수 원본 family PASS와 전체 기능 검증 완료 조건을 충족하지 못했다.
|
||||
CLI 성공·내부 평형·HDF5 correctness는 외부 수치 일치와 별개다. 현재 checklist는
|
||||
[기능 PRD](../hex8-structural-analysis/PRD.md)에 있다.
|
||||
- 당시 해결하지 못한 이유: 독립 standard full8 `BᵀCB` 조립·solve가 당시 변위와 일치하고
|
||||
같은 원본 형상·변위의 Gauss 구성식도 현재 stress/strain을 재현한다. 승인된 full8 식을
|
||||
원본 값에 맞춰 조용히 바꾸거나 tolerance를 완화할 근거가 아니다. 원본 응력의 체적 성분은
|
||||
요소 평균 trace로 재구성하면 크게 가까워지지만 이것만으로 private algorithm을 증명하지 않는다.
|
||||
- 후속 방향: 정식 비교기·독립 수치 검토를 완료했다. 두 정적 공식 결과는 source/schema
|
||||
검사와 CLI native0이나 U/RF/S family가 모두 FAIL이다. 별도 선형 체적 평균 energy의
|
||||
독립 Python 후보는 unchanged 수치 기준에 일치했으며 현재 생산 구현의 PASS가 아니다.
|
||||
[승인된 변경 근거](../hex8-structural-analysis/reference-discrepancy-proposal.md)에 영향을
|
||||
구체화했고, 사용자가 2026-10-10 B로 체적 평균 energy 도입과 전체 재검증을 승인했다.
|
||||
변경본의 energy/force/Hessian·다섯 절차·필수 원본을 다시 검증한다. 원본·수치 기준을
|
||||
유지하며 승인이나 private 선형 후보의 일치를 변경본 PASS로 처리하지 않는다.
|
||||
|
||||
## Hex8 동해석의 엄격 잔차와 내부 상태 정밀도
|
||||
|
||||
- 조건·현상: Hex8 동적 구현 `f661864`에서 `reference/hexa/hexa_dynlinear.inp`와
|
||||
`hexa_dynnonlinear.inp`를 실행하면 세 번째 증분100회 제한에서 실패했다. 이 과거 원본
|
||||
physical residual 비율은 `1.77739e-8`·`8.73572e-9`, 기준은 `1e-10`이다.
|
||||
- 영향: 원본101개 endpoint의 필수 검증과 동해석 완료 조건을 충족하지 못했다.
|
||||
현재 전체 요구와 checklist는 [기능 PRD](../hex8-structural-analysis/PRD.md)에 있다.
|
||||
- 현재 해결하지 못한 이유: 실제 fresh 변위 보정의 반올림 소실을 확인했지만 제한된
|
||||
단일·두 좌표 탐색과 보상 가산에서도 passing candidate를 얻지 못했다. 실패한 탐색은
|
||||
Float64 해의 부재를 증명하지 않으며, 수렴 기준·원본을 변경할 근거로 쓰지 않는다.
|
||||
- 후속 방향: [실패 근거](../hex8-structural-analysis/lessons.md)를 보존하고, 전체 물리
|
||||
상태의 high+low 계산과 Float64 출력의 반올림 의미를 정하는
|
||||
[승인된 변경안](../hex8-structural-analysis/precision-proposal.md)을 구현했다.
|
||||
사용자가 2026-10-09 선택 A로 승인했고 소규모 상태·시간수렴·수지와 두 원본의 세 증분
|
||||
관측을 검증했다. 독립 full-pair 재계산에서 원래 모든 free의 strict gate를 통과했다.
|
||||
이후 frozen `c49cae4`의 두 원본은101 endpoint를 모두 native0으로 완료했고, `e2c3c5b`의
|
||||
두 공식 CLI도101 frame을 native0으로 출력했다. 원래 strict gate를 유지한 이전 pointwise
|
||||
구현의 정밀도 해결 evidence이며 동적 U 외부 비교는 각각101 family 중88 FAIL이다.
|
||||
체적 평균 변경본의 전체 실행과 비교는 별도로 필요하며 acceptance 기준은 유지한다.
|
||||
|
||||
## HHT shell의 시간수렴
|
||||
|
||||
- 최신 상태(2026-10-13 사용자 중단): ADR-018의 C09와 공식 Release C08a7-grid는
|
||||
통과했다. 진행 중이던 전체 Debug·Release C08b·원본 해석은 사용자 요청으로
|
||||
종료했으며 native `-1`을 수치 실패나 PASS로 분류하지 않는다. 원본99증분의
|
||||
accepted 로그는 있으나 현재 HDF5/U/UR이 없어 Abaqus 변위 오차는 계산할 수 없다.
|
||||
[저장 구간 비교](../hht-implicit-dynamics/interrupted-validation-comparison.md)를
|
||||
보존하며, hexa 완료·성능 최적화 후 전체 재검증 전까지 남은 판정은 미완료다.
|
||||
|
||||
- 조건·현상: 실제 shell의 두 시간수렴 사례에서 요구한 수렴 성능을 만족하지 못한
|
||||
재현 기록이 남아 있다. 원본 변위 reference 통과와 함께 존재하는 실패다.
|
||||
- 영향: 변위 일치만으로 동적 가속도·관성·에너지·전체 시간 정확성을 보장할 수 없다.
|
||||
HHT 전체 기능 완료를 선언할 수 없다.
|
||||
- 미해결 이유: 정확한 초기화 후에도 full-coordinate recurrence의 물리적 a 차수1
|
||||
소형 반례가 존재하며 실제 shell 후보의 정식화·독립 검증·채택 판단이 필요하다.
|
||||
C08b의 고주파 해상도와 정확 P 보존에 대한 strict-decrease 계약 문제도 구별해야 한다.
|
||||
- 후속 방향: 기존 물리 질량·허용 오차를 유지한 재현에서 dt refinement별 q/v/물리 a와
|
||||
hidden constraint 차수를 분리하고 후보 변경의 영향을 검증한다.
|
||||
- 후속 근거(2026-10-12): [시간 정확도·운동량 후속 검증](../hht-implicit-dynamics/temporal-remediation.md).
|
||||
소형 DAE의 독립 검산과 실제 C08b finer-grid·fixed-state P 분리를 수행했다.
|
||||
같은 HHT의 carried-A private 후보는512–4096 native0이나 원 grid 정확도 FAIL과
|
||||
strict P 조건은 유지한다. Production·N7·acceptance·public schema 변경은 미채택이다.
|
||||
- 후속 상태(2026-10-13): [HHT-ADR-014/015](../hht-implicit-dynamics/ADR.md)는
|
||||
reduced shell 구현·schema v2, C08b P 판정/최종 finer grid, C08a 최종 grid/hidden1·2
|
||||
판정을 승인했다. 위 미채택 문구는 승인 전 기록이다. 최신 C08b Release는 원5 grid
|
||||
이후 h=1/32768·증분4에서 위치 제약 normalized 약3.54e-10으로 실패했다.
|
||||
동일 좌표의 독립 검산은 analytic constraint와 조립된 내력의 불일치를 확인했고,
|
||||
Rodrigues coefficient의 작은 각도 미분 상쇄를 안정적인 전체 Jet 급수로 바꾼
|
||||
별도 진단은 원 기준을 통과했다. 현재 production 변경본의 전체 시간 이력·N7·
|
||||
Debug/원본 검증은 미완료다. [수치 검토와 재현 근거](../hht-implicit-dynamics/numerical-review-reduced-coordinate.md)를 따른다.
|
||||
- 후속 좌표 표현 finding(2026-10-13): 보상 누적 C08a7 grid도 native8이다.
|
||||
Required 좌표 trace58개 모두 현재 high가 가장 가까운 binary64이며 양쪽 이웃도
|
||||
원1e-12 기준에 실패한다. 누적 pair의 exact requested target 오차는 최대7.70e-34로,
|
||||
추가 덧셈 보정만으로 원 stored-high 판정을 통과시킬 수 없다. 기능 완료·전체 N3
|
||||
판정에 영향을 주며 [비교 대상 분리 제안](../hht-implicit-dynamics/c08-n3-coordinate-representation-proposal.md)은
|
||||
HHT-ADR-016으로 사용자 승인됐으며 변경본 구현·검증을 진행한다. 이전 acceptance의 실패 로그를 보존한다.
|
||||
Proper-Q actual 초기 재구성 실패는 canonical primitive gradient로 정정 후 초기 gate를
|
||||
통과했다. 후속 C09는 첫 증분100 correction 뒤 physical moment N2 비수렴으로 실패했다.
|
||||
Tiny rotation에서 director increment가 full director의 반올림에 흡수되어 물리힘과
|
||||
tangent가 불일치하는 bounded RED/GREEN을 확보했고, 동일한 direct increment를
|
||||
force·tangent·recovery energy에 적용한 Debug 요소16개는 통과했다.
|
||||
후속 actual 관성 소실을 `M*a+c`의 안정적 수축으로 수정한 Debug는 관성12개 및
|
||||
N5가 통과했으나 C09 초기 재구성에서 실패했다. 독립8-row 감사는 plain partition
|
||||
누적의 잡음을 분리했으며 초기화와 같은 compensated 수축으로 정정했다.
|
||||
작은 가속도에서 Dq 관성 접선과 Ldot의 소실도 별도 해석식 재현에서 확인됐다.
|
||||
원 state·N2 scale·허용오차를 유지한 coefficient-first 산술의 Debug 관성13개와
|
||||
actual N5는 통과했다. 최신 Release C08a7-grid도 통과했지만 전체 검증은 미완료다.
|
||||
C09 초기 재구성은 통과하나 full Newton100은 잔차 기준에 실패한다. Read-only
|
||||
병진 고정 진단은 두 회전/auxiliary 보정 후 원 endpoint 기준을 만족했다.
|
||||
[제안과 독립 검토](../hht-implicit-dynamics/c09-channel-newton-proposal.md)는
|
||||
부분 행렬 N2-L 검사 영역 및 N7 full-model defect 보존을 명시한다.
|
||||
HHT-ADR-017로 사용자 승인됐으며 production/controller 구현과 자연 trajectory 검증을 진행한다.
|
||||
ADR-017 변경본 actual Debug C09의 여섯 trajectory는 자연 종료했지만 global-frame
|
||||
covariance 비교에서 native8·113.03초로 실패했다. 원1e-10 기준을 유지하며
|
||||
fixed selector의 비선형 chart 전환과 reduced HHT 이산화 영향을 조사한다.
|
||||
[Read-only 진단](../hht-implicit-dynamics/channel-newton-covariance-diagnostic.md)은
|
||||
순수 병진 비교 PASS와 유한회전 비교 FAIL을 분리했다. 같은 q/v/a의 회전된
|
||||
assembly는 일치하지만 selected-coordinate 변환은 Newmark recurrence를
|
||||
보존하지 않는다. [고정 null 보완공간 제안](../hht-implicit-dynamics/fixed-null-basis-proposal.md)은
|
||||
별도 chart/integrator 변경으로 사용자 결정 전이며 기존 기준을 완화하지 않는다.
|
||||
[실행 범위와 실패 기록](../hht-implicit-dynamics/temporal-remediation.md)을 따른다.
|
||||
|
||||
## Lumped shell C08b의 새 회전 좌표 예외
|
||||
|
||||
- 조건·현상(2026-10-12): 승인된 nodal lumped kinetic 변경본의 전체 Debug CTest에서
|
||||
C08b는 `h=1/64,1/128`을 완료한 뒤 `h=1/256`에서 `invalid-dynamic-rotation`으로
|
||||
종료했다. 이전 consistent 실행의 다섯 grid 완료 후 정확도 실패와 다른 경로다.
|
||||
- 발견 당시 영향: 남은 세 grid와 마지막 refinement의 시간수렴·물리 기준이 미검증이었다.
|
||||
원본 U 비교 PASS와 local 관성 검사의 통과로 이 예외를 대체할 수 없다.
|
||||
최종 독립 diff 검토도 이를 FEM-REQ-HEX8-024의 P1 완료 blocker로 판정했다.
|
||||
[후속 개발 인계](../hex8-structural-analysis/lumped-mass-adoption.md#최종-검토와-인계)에
|
||||
필요한 관측량과 재검증 범위를 기록했다.
|
||||
- 조사 상태: 별도 Debug probe에서 증분56·Newton 반복3·t=0.21875의 node index4
|
||||
회전 좌표 `(0.64127523,-1.19777570,3.61620987)`가 유한하지만 크기가 π보다
|
||||
큼을 확인했다. 후속 독립 조사에서 반복0부터 큰 보정이 생기며, q_n 시작의 큰 관성
|
||||
잔차와 moving null의 미분이 정상적인 drilling 대수 접선을 거의 상쇄함을 확인했다.
|
||||
확인한 상태·방향의 history·관성 항등식·접선 차분·선형 solve는 일치했다. Gate·
|
||||
좌표 clamp·허용값은 유지한다. [상세 원인·후보 evidence](../hht-implicit-dynamics/newton-rotation-investigation.md).
|
||||
- 후속 해결(2026-10-12): 사용자 요청으로 [HHT-ADR-013](../hht-implicit-dynamics/ADR.md)의
|
||||
두 초기 형상·자유 energy 잔차 선택을 구현했다. 관련37/37 Debug PASS와 독립 source
|
||||
검토, 실제 h=1/64..1/1024 전체5 grid 완료·새65-frame runtime 회귀 PASS로 조사한
|
||||
회전 예외는 재발하지 않았다. [현재 구현·검증](../hht-implicit-dynamics/newton-start-policy.md).
|
||||
원본101-frame U 재비교와 독립 kinetic/balance 대조도 완료했다.
|
||||
- 남은 범위: C08b는 시간 정확도·차수와 roundoff 수준 P의 감소 기준에서 여전히 FAIL이다.
|
||||
현재 C08b noise separation은 PASS이며 C08a noise INCONCLUSIVE와 구별한다. 전체802
|
||||
Debug는11384.61초 뒤 native8:799 PASS·C08 정확도 FAIL2·기존 C04a SKIP1로 자연
|
||||
종료했고 추가 예외0·검증 전후 source/원본/binary hash 동일성을 확인했다.
|
||||
Runtime 개선을 가속도 정확도 해결이나 전체 green으로 표시하지 않는다.
|
||||
|
||||
## Python 운영 계약 검사의 기대값 불일치
|
||||
|
||||
- 추가 관찰(2026-10-10 Hex8 비교기 작업): 설정된 전체 Python 명령에 h5py dependency를
|
||||
추가해 실행했으나 기존 `msvc_harness`·폐기된 `scripts.hooks` import의 collection5
|
||||
오류로 native2·실행0개였다. 관련 comparator124/124 native0과 구분하며 전체 PASS가 아니다.
|
||||
정확한 명령과 raw는 [Hex8 verification](../hex8-structural-analysis/verification.md)에 있다.
|
||||
- 조건·현상: `tests/test_agent_skill_workflow_contract.py`의 inventory 검사는 11개
|
||||
profile을 기대하지만 현재 `.codex/agents`에는 7개가 있다. 같은 파일은 루트 지침의
|
||||
고정 단계 표를 parsing하고, 과거 phase 실행 예제를 검사한다. 현재 명시 실행기와
|
||||
필요한 전문 작업만 호출하는 운영 원칙에 맞지 않는다.
|
||||
- 영향: 이 검사를 현행 운영의 통과 증거로 쓰거나 통과시키기 위해 삭제된 절차를
|
||||
복원하면 잘못된 개발 흐름을 다시 도입한다. 루트 문서 재구성 이후에는 옛 표 위치에
|
||||
의존하는 검사도 조정 대상이다.
|
||||
- 현재 해결하지 않는 이유: 2026-10-04 문서 정리에서는 source 정적 대조만 했고 Python
|
||||
검사를 실행하지 않았다. 이후 위 collection 문제를 실제 관찰했지만 Hex8 기능 작업에서
|
||||
기존 운영 검사나 폐기된 절차를 복원하는 수정은 범위 밖이다.
|
||||
- 후속 방향: 유효한 동작·권한·검증 범위를 검사하도록 기대값을 정리하고 Python suite를
|
||||
별도로 실행한다. 현재 CTest의 성공으로 대체하지 않는다.
|
||||
|
||||
## Shell 열해석의 새 필수 reference 비교 대기
|
||||
|
||||
- 조건·현상: 기존 INP/CSV는 `reference/shell-thermal/`에 보존돼 실제 비교했다.
|
||||
Step-1/t=37/NT11의729행 중87행 FAIL, RMS/S 약0.0496741로 공통1%를 초과했다.
|
||||
승인식의 독립 oracle도 같은 불일치를 보였으며 [사용자 결정](../shell-transient-heat-transfer/ADR.md#sth-adr-015-원본-reference-진단-전환과-새-모델-비교)에 따라 diagnostic으로 유지한다.
|
||||
- 영향: 구현·내부 검증과 별개로 새 필수 외부 family의 통과가 없어 열해석 기능 검증
|
||||
완료를 선언할 수 없다. 원본 NT11 한 성분·시점은 flux·반력·두께 분포의 대체 검증도 아니다.
|
||||
- 현재 해결하지 않는 이유: 사용자가 새 모델·CSV를 별도 경로에 준비 중이다.
|
||||
문서 정리는 reference 생성·보정이나 Abaqus 실행을 포함하지 않는다.
|
||||
- 후속 방향: 새 파일의 경로·source identity·시점·성분·hash를 확정하고 승인 tolerance로
|
||||
실제 비교한다. 원본 diagnostic의 행·값·실패 metric과 물리 한계를 유지한다.
|
||||
|
||||
## 외부 배포 결정의 공백
|
||||
|
||||
- 조건·현상: 외부 사용자 배포는 장기 목표지만 배포 형태·지원 환경·dependency 재배포
|
||||
조건과 외부 입력의 신뢰 범위는 정해져 있지 않다. 사용자가 별도 보안 정책은 없다고 확인했다.
|
||||
- 영향: 현재 로컬 실행·개인 연구 범위를 외부 서비스의 보안·설치·지원 보장으로 설명할 수 없다.
|
||||
- 현재 해결하지 않는 이유: 제품 배포 범위와 권리 검토는 아직 요청되지 않았으며 코드만으로
|
||||
사용자의 배포 방식을 정할 수 없다.
|
||||
- 후속 방향: 배포를 실제 추진할 때 형식·대상·설치·검증·데이터 취급 조건을 구체화한다.
|
||||
|
||||
## 기존 one-equation PARDISO 반복 호출의 간헐적 heap 실패
|
||||
|
||||
- 조건·현상(2026-10-14): 성능 작업에서 기존 static partial shell fixture의 free
|
||||
1×1 SPD 해법을 반복 호출할 때 native `0xc0000374`를 관찰했다. SpMV 없이
|
||||
PARDISO factor/solve/release만 호출한 진단에서도 재현했다. 같은 입력·진단 소스를
|
||||
개선 전 Release library에 연결한 기본 8-thread 실행은 62번째 호출에서 종료했다.
|
||||
[입력·runtime·실행 근거](../calculation-performance/mkl-coverage.md#baseline-pardiso-heap-failure와-제한)를 보존한다.
|
||||
- 영향: 새 MKL SpMV 회귀와 분리된 기존 backend 노출이지만 vendor 내부 원인은
|
||||
미확정이다. 반복 검사나 실제 실행의 crash를 정상 종료 또는 검사 통과로 표시하지 않는다.
|
||||
- 현재 처리와 한계: 기본 정책의 1×1 PARDISO 호출에 한해 local 1-thread를 적용하고
|
||||
호출 뒤 TLS를 복원했다. 독립 검토와 관련 lifecycle·동시성·크기 전환 검사는 통과했다.
|
||||
보조 반복 100회 통과가 라이브러리 전체 문제 해결을 보장하지 않으며, 호출자의
|
||||
비영 TLS override와 더 큰 시스템에는 기존 정책을 유지한다.
|
||||
- 후속 방향: 최종 전체 Debug 검사와 원본 결과에서 새 실패를 별도로 확인한다.
|
||||
재발 시 실제 입력·phase·thread·DLL hash와 native crash 자료를 유지하여 backend를
|
||||
조사한다. 원인 근거 없이 dispatch·pivot·수치 기준이나 설치 환경을 바꾸지 않는다.
|
||||
@@ -1,71 +0,0 @@
|
||||
# 개발 현황
|
||||
|
||||
기준일은 2026-10-12이다. 주목적은 개인 연구용 솔버 개발이며 외부 사용자 배포는 장기
|
||||
목표다. 아래는 실제 실행과 기능별 계약을 대조한 요약이며 상세 checklist를 대신하지 않는다.
|
||||
2026-10-04 문서 정리 당시의 기존 기능 기록과 이후 Hex8 개발의 실행 증거를 구분한다.
|
||||
|
||||
종료된 전체 MSVC x64 Debug 통합 회귀는 source `9f7fb2e`에서 **617개: 614 PASS·2 FAIL·1 SKIP**,
|
||||
native CTest exit **8**이다. 기존 478개 검사가 포함되고 추가139개 모두 PASS다.
|
||||
두 HHT 실패와 skipped 항목은 구현 전 baseline의 status·metric body와 정확히 같다.
|
||||
실행·복구·보존 경로는 [전체 회귀 보고서](../shell-transient-heat-transfer/implementation-verification.md#통합-전체-회귀와-남은-완료-조건)에 있다.
|
||||
dev 병합 `858e87b`는 검증한 구현과 동일한 tree이고 별도의 새 실행을 뜻하지 않는다.
|
||||
Hex8 연결 후 source `1eb9cdd`의 전체 build는 native exit0이며, 발견된780개 CTest의
|
||||
제외 없는 실행은 native8,777 PASS·2 FAIL·1 SKIP으로 종료됐다. 추가163개는 모두 PASS이며
|
||||
기존 예외3개의 이름·status·metric body는 baseline과 같다. 이는 이전 pointwise 구현의
|
||||
기록이다. 2026-10-10 승인된 체적 평균 energy는 root `18b36c1`에 연결했고 관련65/65,
|
||||
작성자150/150과 네 시간수렴 사례가 PASS다. 변경본의 전체787 CTest도 제외 없이 자연
|
||||
종료했다(native8:784 PASS·기존 FAIL2·SKIP1). 기존617개를 보존했고 추가170개는 모두
|
||||
PASS·새 예외0이다. 두 기존 실패의 metric body는 동일하고 SKIP은 이름·상태만 대조했다.
|
||||
|
||||
## 구현과 검증 상태
|
||||
|
||||
| 영역 | 구현 상태 | 확인된 evidence와 한계 |
|
||||
| --- | --- | --- |
|
||||
| Abaqus 입력·Domain·source identity | 구현됨 | 최신 통합 회귀의 기존 reader/mapper 검사는 PASS. 허용 subset·identity는 [공통 계약](../contracts.md)을 따름 |
|
||||
| B33·MITC4 선형 정적 | 구현됨 | 기존 local·integration·reference 검사 PASS. [Beam](../linear-static-3d-euler-beam/README.md)·[Shell](../linear-static-mitc4-shell/README.md)의 과거 readiness를 현재 release 통과로 승계하지 않음 |
|
||||
| MITC4 비선형 정적·표면 압력 | 구현됨 | 기존 Newton·pressure tangent·결과/reference 검사 PASS. [비선형](../nonlinear-static-newton-raphson/README.md)·[압력](../shell-surface-pressure-load/README.md)의 물리 coverage와 경고 범위를 유지 |
|
||||
| MITC4 frequency | 승인된 첫 구현 완료 기록 | 당시417개 검사·외부 Value5%·독립 검토 PASS, 최신 기존 회귀도 PASS. [S3·정확도 개선](../mitc4-shell-feast-eigen2/README.md#실패와-남은-범위)은 보류 |
|
||||
| HHT 동해석 | 입력부터 HDF5까지 구현, 기능 검증 미완료 | 101-frame U 비교 PASS 기록·UR 경고200건. [두 시간수렴 실패와 잔여 coverage](../hht-implicit-dynamics/README.md#실패시행착오다음-작업) 유지 |
|
||||
| HHT 굽힘 단면력 복구 | 두께 계수 수정됨 | 관련 Debug 14 tests와 원본 HDF5 재생성·독립 식 대조 완료 기록. 전체 동해석 완료와 별개 |
|
||||
| HHT 관련 전체 CTest | Newton 시작 정책 변경본802개 자연 종료, 전체 green 아님 | native8:799 PASS·C08a/C08b 정확도 FAIL2·기존 C04a SKIP1, 추가 예외0. [초기 Newton 정책](../hht-implicit-dynamics/newton-start-policy.md)은 관련37/37 PASS·C08b 5개 grid 회전 예외 해소·원본 U101 PASS. 과거789개 FAIL4와 후속 focused 결과는 별도 이력이며 현재 시간 정확도·coverage는 미완료 |
|
||||
| HHT ADR-018 최신 재검증 | C09·공식 Release C08a7 통과, 전체 검증 사용자 중단 | 2026-10-13 Debug44/856 PASS 후45번 중단. Release C08b·원본도 사용자 중단이며 원본은99증분·t=9.9까지 accepted 로그만 존재. 현재 HDF5가 없어 새 Abaqus 변위 비교 불가. [중단 구간 비교와 후속 순서](../hht-implicit-dynamics/interrupted-validation-comparison.md)에 따라 hexa 완료·성능 최적화 후 전체 재검증 |
|
||||
| Shell transient heat transfer | 구현·내부 검증 완료, 필수 외부 비교 대기 | [추가139개 PASS·수렴/수지·독립 수치/물리 검토](../shell-transient-heat-transfer/README.md). 기존 NT11은87/729행 수치 FAIL인 diagnostic; 새 모델·CSV 준비 중 |
|
||||
| Hex8 선형·기하비선형 강성·lumped mass | 구현·필수 원본 비교·검토·인계 완료, 최신 전체 통합 판정 유예 | [최종 인계](../hex8-structural-analysis/final-handoff.md): 현재 관련C++91·Python96·보존된 원본5개 재대조 PASS. Hex8 경로의 source와 원본 hash 동일성 및 독립 수치·물리 검토 확인. 기존38/137·전체802·원본101-frame smoke는 과거 근거이며 최신 전체 통과로 승계하지 않음. 사용자 요청에 따라 장시간 전체 검증은 성능 최적화 후 수행 |
|
||||
| Python 검증 실행기 | 구현됨 | 명시 build/test runner와 별도 Python suite가 존재. 일부 운영 계약 검사는 현행 절차와 맞지 않는 기대값을 유지 |
|
||||
| 외부 사용자 배포 | 계획 | 배포 방식·설치·지원 정책과 dependency 재배포 검토가 아직 정해지지 않음 |
|
||||
|
||||
## 남은 작업과 의존성
|
||||
|
||||
Hex8은 2026-10-10 사용자 B 승인에 따른 다섯 절차의 체적 평균 energy 구현과 재검증,
|
||||
2026-10-11 승인된 lumped mass 변경본의 필수 원본5개 비교를 완료했다.
|
||||
기존 정식화와 원본의 차이는 [미해결 문제](findings.md)에 과거 근거로 보존했다.
|
||||
원본·tolerance·strict gate·HHT 계수·schema layout은 유지했다. 최신 전체 회귀는
|
||||
자연 종료한 FAIL이며, [최종 검토와 인계](../hex8-structural-analysis/lumped-mass-adoption.md#최종-검토와-인계)는
|
||||
완료했다. 후속 사용자 요청에 따라 [초기 Newton 정책](../hht-implicit-dynamics/newton-start-policy.md)을
|
||||
구현해 실제 C08b 5개 grid의 회전 runtime 실패를 해소했다. 시간 정확도·P 감소 실패는
|
||||
유지하며 전체802 회귀는799 PASS·2 FAIL·1 SKIP으로 자연 종료했다.
|
||||
FEM-REQ-HEX8-024의 최종 완료 판정은 아직 보류다.
|
||||
[원인 조사](../hht-implicit-dynamics/newton-rotation-investigation.md)의 private 후보와
|
||||
현재 production 정책·닫힌 검사 evidence를 구분한다.
|
||||
세부 현재 checklist는 기능 PRD 한 곳에 유지한다.
|
||||
후속 [질량·요소 설정 조사](../hex8-structural-analysis/reference-mass-investigation.md)에서
|
||||
공식 Abaqus1차 요소 row-sum lumped 질량 설명과 별도 mean K+lumped M의10개 λ 재현을
|
||||
확인했다. 그 private 조사 이후 명시 승인으로 production 질량을 변경했다. 새 원본 modal
|
||||
비교 PASS는 실제 변경본 evidence이며 다른 해석의 완료를 대신하지 않는다.
|
||||
|
||||
1. Shell 열해석은 준비 중인 새 reference 모델·CSV의 별도 경로·identity·시점·hash를
|
||||
확정하고 승인 tolerance로 필수 비교를 실행한다. 기존 NT11 diagnostic FAIL과 고정
|
||||
5점 두께 모델의 해상도·곡면·접합부 검증 한계를 유지한다. 구현을 처음부터 재개하지 않는다.
|
||||
2. HHT는 기존 시간수렴 실패를 유지한 상태에서 물리 가속도 복구 후보의 정식화·독립
|
||||
검증·채택 여부를 결정한다. 강체 병진 전체 이력, Newton 경계·실패 보존, 반복 결정론,
|
||||
partition·좌표변환 coverage를 완료한다. 변경 후 관련 검사와 필수 전체 검사를 수행한다.
|
||||
3. Python 운영 계약 검사는 폐기된 profile·고정 단계·phase 인자 기대값을 현행 명시
|
||||
실행 절차에 맞게 정리하는 별도 작업이 필요하다. 현재 문서 수정에 테스트 코드 변경을
|
||||
포함하지 않는다.
|
||||
4. Eigen 첫 구현 이후 정확도 개선과 보류한 검증을 별도 범위로 정한다. 현재 승인된
|
||||
5% 기준을 다른 해석으로 확대하거나 과거 실패 기록을 수정하지 않는다.
|
||||
5. 이후 양방향 열-구조 연성과 외부 사용자 배포의 구체적인 요구·지원 범위를 정한다.
|
||||
두 장기 목표 간 순서나 일정은 정해지지 않았다.
|
||||
|
||||
각 기능의 세부 checklist와 승인 이력은 기존 기능 단위로 유지한다. 전체 요약의 상태가
|
||||
상세 계약·필수 검사·실패 기록을 대체하지 않는다.
|
||||
Reference in New Issue
Block a user