116 lines
10 KiB
Markdown
116 lines
10 KiB
Markdown
# 구현과 검증 상태
|
|
|
|
## 2026-10-20 MITC4 drilling 선택
|
|
|
|
초기 director 직접 스프링을 기본으로 하고 기존 상대 비틀림을 코드 한 곳에서 선택하는
|
|
구현을 선형·비선형 정적·pressure·frequency·HHT와 저장·reader·비교기에 연결했다.
|
|
직접 방식의 비객관성은 허용하며 raw/인공/보정 spatial 평형을 구별한다.
|
|
아래 실행 근거의 제품 source는 `6bbbb2ba8c8078c7a637886201750753da0af5c0`이다.
|
|
|
|
| 현재 실제 실행 | 결과와 captured exit |
|
|
| --- | --- |
|
|
| Native x64 Debug 전체 | unit915:904 PASS/10 FAIL/1 SKIP, exit1; integration74와 reference46은 모두 PASS, exit0/0 |
|
|
| CMake x64 Debug 전체 CTest | 같은1035 identity,1024 PASS/10 FAIL/1 SKIP, exit8 |
|
|
| 별도 Python 전체 |164 PASS, exit0; pytest9.1.1/NumPy2.4.6/h5py3.16.0의 격리 Python3.11 환경 |
|
|
| 기존 방식 별도 Debug 관련 검사 |162 unique=155 PASS/7 FAIL. 기존 물리5개와 Direct 기본값 전용 선택 오류2개를 분리하며 실제 FAIL은 보존 |
|
|
| 두 방식의 정식 linear/coarse-NL/eigen |실제 생성·기존 비교 모두 PASS. 현재 선형 변위와 eigen table은 두 방식에서 정확히 동일 |
|
|
| 직접 방식 정식 HHT |Release CLI0/비교0,729nodes·101frames, 외부9node U101 families PASS; 최대 정규화 RMS0.2282326248391787%, UR 경고200개 |
|
|
| 기존 방식 실제 HHT |별도 Debug 소형3frame CLI/readback PASS.729node 외부 U 재해석은 미실행 |
|
|
|
|
두 Debug build와 별도 기존 방식 Debug/공식 Direct Release build는 exit0이며 실제
|
|
MSVC19.51.36260.0 x64/v145, toolset directory14.51.36231과 probe false/OFF를 확인했다.
|
|
Compile source·등록/실행 identity·CL/link·staged/loaded DLL·원본 hash를 대조했다.
|
|
정식 원본34파일은 불변이고 실제10 HDF5/128평형 frame의 추가 marker·스키마·대수 관계를 검사했다.
|
|
실행 명령/exit·raw/XML·현재 실패 원인·선별/제외 목록과 hash는
|
|
`.build/drilling-options-20261020/T4/`에 보존했다. 이 자료가 없는 checkout의 현재 실행 근거로 간주하지 않는다.
|
|
|
|
Native/CTest의10 FAIL은 기존 D3·명시 Legacy constraint/C08·후속 mass-null/triad 원인과
|
|
현재 수치/실패 단계를 대조했다. N7 하나는 해상도 INCONCLUSIVE SKIP이다. Legacy의 선택 오류2개는
|
|
Direct mode literal 또는 production Direct 수용을 전제한 검사이며 기본 Direct 전체에서는 PASS했다.
|
|
반력·영운동·실제 Legacy marker는 별도 HHT 출력으로 확인했고, 오류 선택의 FAIL을 PASS로 바꾸지 않았다.
|
|
정식 fine/fine_02/pressure·새 thermal 자료 누락과 기존 NT11 수치 불일치도 남는다.
|
|
구현과 관련 실행은 확보했으나 전체 물리/시간정확도 검증 완료는 아니다. 성능 인증은 하지 않았다.
|
|
|
|
## 2026-10-19 수렴 실험 기록
|
|
|
|
2026-10-19 후속 사용자 결정으로 이번 MITC4 HHT 실험은 **변위 검증 통과·실패10개 보류로 조건부 완료**한다.
|
|
[수용 결정](decisions/0011-tolerance-experiment-acceptance.md)을 따르며 아래 전체 검사 raw 통계와
|
|
N7·자료 부재·미해결 물리 문제는 보존한다. 전체 물리/시간정확도 검증 통과로 확대하지 않는다.
|
|
남은729절점·101프레임 전체 상태 진단과 outer204→171회·관측 시간688.6446983초 감소를
|
|
[최종 결과](../abaqus-tolerance/results.md#후속-승인과-남은-단계의-완료)에 기록했다. 공식 speedup은 미확정이다.
|
|
|
|
2026-10-19 현재 실험 branch는 polar1회·관성 회전/Jacobian3차·질량 gate와 관련 테스트
|
|
오차1e-3을 유지하며, Abaqus2025 공개 field 규칙을 MITC4 HHT의 실제 종료에 연결했다.
|
|
Accepted 평균 이력과 hht-log-v2도 구현했다. Native Debug와 CMake Debug/CTest 전체는
|
|
각각998개 중987 PASS·10 FAIL·1 SKIP이다. Python145개와 별도 Release 정식 Hex8
|
|
5모델 CLI/비교기는 통과했다. Native unit883개 중10 FAIL·1 SKIP, integration72개와
|
|
reference43개는 모두 통과했다. 두 build 성공과 source/등록 identity/DLL 대조도 확보했다.
|
|
물리 실패·N7 해상도 미판정·실제 비선형 후보 시간 정확도 미완료로 전체 검증 완료는 아니다.
|
|
Strict 공식 기준6350.7895521초를 확보했다. 후속 변위 비교 요청에서 Release 후보 원본100증분을
|
|
5662.144854초에 완료하고 U PASS를 확인했으며 공식 speedup은 미성립이다.
|
|
정식 변위8모델의 Release 구성·실행 시간·오차는 [변위 비교](../abaqus-tolerance/reference-displacement-comparison.md)에 있다.
|
|
상세 revision·실행 증거는 [수렴 정책 실험 결과](../abaqus-tolerance/results.md)에 있다.
|
|
|
|
## 과거 통합 기준 시점
|
|
|
|
과거 통합 기준은 2026-10-18 HEAD `945d899`다. 과거 통과 수치는 각 검증 당시 기록의 범위이며
|
|
후속 source에서 새로 실행한 결과로 승계하지 않는다.
|
|
현재 용도는 개인 연구용 로컬 실행이며 장기 목표는 외부 사용자 배포다. 배포 형태·지원 환경·
|
|
dependency 재배포 조건은 확정되지 않았다.
|
|
|
|
## 구현과 실제 근거
|
|
|
|
| 영역 | 구현된 범위 | 확보된 검증과 한계 |
|
|
| --- | --- | --- |
|
|
| B33·MITC4 선형 정적 | 입력 → solve → 복구 → HDF5 | 2026-10-19 두 Debug 경로의 구성된 reference 실행·비교 포함. 일반 곡선 beam·광범위 distorted/curved shell 정확도를 뜻하지 않는다. |
|
|
| MITC4 비선형 정적·압력 | Full Newton·trial/commit·정적 follower pressure | 2026-10-19 정식 coarse 모델의 기존 비교를 포함한 구성 검사 실행. RF/RM은 review-only. Fine·추가 fine·pressure 자료 부재와 추가 fine 비교 계약 부재는 남는다. |
|
|
| Shell frequency | Lumped mass·실제 FEAST·null/finite 공간·전체 반환 pair 검증 | 2026-10-19 구성된 두 Debug 경로 reference 실행에 포함. 한정된 Value 10개 모드별5% 계약을 다른 고유치 비교로 확대하지 않는다. |
|
|
| Shell HHT | Reduced-coordinate·fixed-null·schema2·Abaqus2025 field 종료·log-v2 | 두 전체 경로에서 동일10 FAIL·N7 SKIP1. 실제 조기 종료·강체 oracle는 통과하나 비선형 시간 정확도와 후속 acceptance 실패는 미해결. Strict와 후속 Release field 후보 원본의9-node U 비교를 확보했다. |
|
|
| Hex8 | Mean-volume 강성·reference row-sum mass·정적/고유치/HHT·high+low | 2026-10-19 구성된 두 Debug 경로 전체 실행과 별도 Release 정식5모델의 새 HDF5·기존 비교 통과. 공식 성능 비교가 아니다. |
|
|
| DS4 thermal | 5 온도점·consistent capacity·BE·flux/reaction·원자적 출력 | 2026-10-19 구성된 unit/integration/reference 실행 완료. 기존 NT11 diagnostic 불일치와 새 필수 외부 reference 부재는 남는다. |
|
|
| 공통 구조·빌드 | Typed procedure/capability/outcome·private backend·Native/CMake | 2026-10-19 두 Debug build 성공, compile source223개·실행 identity998개·runtime DLL7개 일치. 수치 검증 전체 통과와 구분한다. |
|
|
| 성능 | MKL 행렬 연산·제한된 불변 cache·Hex8 SIMD·shell 산술 최적화 | Strict HHT 공식6350.7895521초 확보. 후보의1증분 호출 수 감소는 한정 진단이며 공식100증분 가속·목표 달성은 미확정. |
|
|
|
|
2026-10-18 통합 기록은 두 빌드 경로에서 unit 849·integration 72·reference 43, 총 964개
|
|
등록 identity가 일치한다고 보고한다. 사용자 지시로 정적·공통 631개(unit 555·integration 35·
|
|
reference 41)만 직접 실행과 CTest에서 검증했으며 failure/error/skip은 0이었다.
|
|
Python 합성·정책 145개도 통과했다. 보존된 비정적 333개는 당시 미검증이다.
|
|
|
|
정식 정적 5모델은 beam·shell·shellNL·Hex8 linear/nonlinear static이다.
|
|
Fresh Refactor·통합 Native·통합 CMake 실행물에서 같은 scratch 입력과 경로로 15회 실행했고
|
|
등록 비교·보고서 검증·schema/identity/field parity를 포함한 50단계가 exit 0이었다.
|
|
이는 선택된 정적 근거이며 source 전체의 수치 동등성이나 전체 green 선언이 아니다.
|
|
근거 보관 위치는 `.build/merge-verification/refactor-integration-final-20261018-01/`다.
|
|
해당 보관물이 없는 checkout에서는 실행물을 확보한 것으로 간주하지 않는다.
|
|
|
|
## 남은 작업과 의존 순서
|
|
|
|
사용자가 확인한 후속 범위는 남은 동해석·고유치·열해석 검증, 성능 개선과 미해결 이슈 처리다.
|
|
이 목록은 특정 기능의 자동 실행 지시나 장시간 작업·외부 solver 실행 승인으로 해석하지 않는다.
|
|
|
|
1. 정식 fine·추가 fine·pressure·새 thermal 기준자료의 제공 여부와 source/frame/hash 계약을
|
|
확정한다. 추가 fine는 자료뿐 아니라 전용 case identity와 comparator 연결이 필요하다.
|
|
2. 구성된 전체 실행 결과를 바탕으로 MITC4 local 미분/물리 실패와 실제 후보 후속 gate 실패를
|
|
분리한다. 후보 비선형 q/v/physical a 시간수렴·N7 및 후보 원본 비교를 확보한다.
|
|
전체 검사 실행 사실과 미해결 수치 검증을 구분하고, 자료가 필요한 비교는 확보 뒤 수행한다.
|
|
3. 기존 drilling 방식의 partial-BC raw 정적 gate 한계와 thermal 외부 불일치의 영향을 각각 판정한다.
|
|
기준 완화·질량 변경·원본 보정으로 해결하지 않는다.
|
|
4. 같은 물리·허용치·출력·정밀도를 보존한 상태에서 성능 회귀 원인을 조사하고 최종 source의
|
|
Release 시간과 수치 결과를 다시 측정한다. 검증되지 않은 가속을 완료로 기록하지 않는다.
|
|
|
|
위 순서는 자료·물리 판정·측정의 의존 관계다. 동해석·고유치·열해석 사이의 상세 우선순위와
|
|
새 기능 추가 순서는 사용자가 별도로 정하지 않았다.
|
|
|
|
## 성능 목표
|
|
|
|
| 모델 | 목표 초 | 과거 단일 baseline 초 |
|
|
| --- | ---: | ---: |
|
|
| hexa_nonlinearstatic | 2 | 10.914924 |
|
|
| hexa_dynnonlinear | 100 | 402.069447 |
|
|
| shellNL-dyn-meshfine | 100 | 6372.325621 |
|
|
|
|
Hex8 동적 개발 표본 117.7986225초는 native 0과 U 비교 통과였으나 100초 목표를 넘었다.
|
|
Refactor 당시 ShellNL elapsed 회귀 Native +86.52%·CMake +120.91%는 과거 단일 기록이며
|
|
원인·변산이 미확정이다. 2026-10-19 승인 local 근사본의 strict HHT는6350.7895521초였다.
|
|
현재 field 후보의 공식 Release 시간과 speedup은 수치 실패로 미성립이다.
|