4.4 KiB
4.4 KiB
MITC4 eigen 구현 계획
- Feature:
mitc4-shell-feast-eigen2; Owner: 메인 assistant. - 기준: 프로젝트 지침, PRD, ADR, 정식화, NR controls, 검증 사례, I/O.
- 실행 권한·현재 checklist는 Feature PRD, 시간 제한 해제는 Feature ADR의 ADR-009를 따른다.
변경 묶음과 소유권
| 묶음 | Owner / 실제 경로 | 구현과 검증 |
|---|---|---|
| 질량·stabilization | implementation-agent eigen2_mass_impl; include/fesa/elements/mitc4_shell.h, src/fesa/elements/mitc4_shell.cpp, 해당 element unit tests |
27점 consistent moments→derived lumped, trace mean. 독립 flat/warped mass, drill null·좌표/부분 BC와 기존 물리 kernel 검사 |
| FEAST backend | implementation-agent eigen2_feast_impl; 새 include/fesa/solvers/eigen/, src/fesa/solvers/eigen/와 unit tests |
실제 MKL 호출, fixed-lower count/search, controls·checked storage·all-c 검증·실패 evidence. 실제 known spectra/zero/repeated/endpoint 및 thread 복원 |
| 입력·Domain | implementation-agent eigen2_input_impl; model_types.h, domain.h/.cpp, domain_mapping_context.cpp, eigen mapper/model tests |
Material별 density, 독립 Frequency payload와 common boundary view, source Step-2/N 보존, exact allowlist와 fail-closed 진단 |
| 축소·procedure·state | 메인; 새 analysis/eigen_*, 관련 AnalysisModel/DofManager/prepared/application 연결 |
실제 BC→analytic null→nodal SPD whitening, sparse congruence, original-free 복구·정규화/Gram/에너지, 후보 state. 작은 직접 pencil 및 partial-BC 통합 검증 |
| 결과·비교·회귀 | 메인 또는 후속 명시 할당 owner; 새 eigen HDF5 writer/self-check, eigen reference comparator, 해당 tests와 기존 제외 inventory 변경 | Static schema 유지, source identity·N/c 구분, candidate 보존, TXT Value-only 공통 tolerance, retained static와 synthetic coverage |
| 빌드·Git·Feature 기록 | 메인; src/fesa/CMakeLists.txt, tests/CMakeLists.txt, 이 Feature의 관리/결과 문서 |
동시 빌드 충돌 방지, 명시 경로별 stage/commit, 사용자 변경 보존 |
서로 다른 owner의 파일을 덮어쓰지 않는다. Shared API는 구현 전에 메인에 전달하고 불일치는 계약 원본과 대조하여 수정한다. Vendor type은 private adapter에만 둔다. 이미 승인된 수식을 다시 선택하거나 시간 절약을 위해 dense global Schur·인공 mass·lower mode 누락을 허용하지 않는다.
검증 순서
- 현재 설정의 configure/build와 검사 inventory를 확인한다. 가능한 결함 재현 후 최소 수정하고 27개 사례와 IO-T01–11에 각 테스트를 연결한다.
- 묶음별 unit/integration 검사를 실행한다. Actual FEAST probe는 mock으로 대체하지 않는다. 수학/자료 조립을 변경하면 필요한 독립 numerical 검토를 받는다.
- CLI→원본 입력→HDF5→TXT Value comparison을 fresh 실행한다. 원본 TXT/CSV를 수정하거나 제외 예제의 옛 경로·복사본·cache로 성공 evidence를 만들지 않는다.
- 영향받는 shell/shellNL/linear-limit, nonlinear tangent/objectivity/평형·state, pressure synthetic·기타 기존 회귀를 보존한다. 제외된 복합 테스트의 retained 관찰은 분리한다.
- 기능 완료 시 구성된 전체 build/test와 필수 reference를 한 번 실행하고 독립 물리 검토와 실제 결과·실패·미실행을 기록한다. 실패 수치를 expected로 복사하거나 tolerance를 완화하지 않는다.
현재 .harness/config.json은 mfe-workspace-msvc-ninja-debug configure/build/test preset과
.harness/build-ninja-msvc-debug를 선택한다. 개인 preset의 dependency 경로는 commit하지 않는다.
Focused 실행은 해당 CMake target/CTest filter, 전체 검증은 python scripts/execute.py다.
메인이 빌드 실행을 직렬화한다. C++에는 MSVC x64 Debug /W4 /WX 기준을 적용한다.
실제 runtime·known spectra와 원본 모델을 실행했다. 현재 결과·수정 범위와 미완료 검증은 implementation-verification에 기록한다. 원본 eigen all-c residual과 S3 정적 계약 충돌을 사용자 결정 경계로 반환하며 기능 완료로 표시하지 않는다.