# MITC4 Shell Mass·FEAST Eigen 2 PRD - Feature ID: `mitc4-shell-feast-eigen2` - Owner: 메인 assistant - Requirement baseline revision: `r1` - 상태: requirement/formulation/NR/I/O r1 문서 완료. 후속 사용자 요청에 따라 implementation·실행 검증 진행 중이다. 기준: [프로젝트 지침](../../AGENTS.md), [프로젝트 PRD](../PRD.md), [공통 ADR](../ADR.md#adr-028). 지역 지침은 [FEATURED_AGENTS](FEATURED_AGENTS.md), 결정 근거는 [Feature ADR](ADR.md)을 따른다. ## 사용자 요청과 적용 범위 2026-09-08 사용자는 기존 작업을 `mitc4-shell-feast-eigen2`라는 이름으로 requirement부터 다시 시작하고, 기존 `docs/mitc4-shell-feast-eigen/`의 유용한 문서를 참고하며 작업 중 변경사항을 Git에 커밋하도록 요청했다. 이어 **모든 단계를 진행하지 말고 requirement 단계만 진행**하도록 범위를 명시했다. 이후 사용자가 **research부터 io-definition까지** 진행하도록 요청했다. 현재 범위는 research, formulation, 독립 numerical review, I/O 계약 문서와 단계별 커밋이다. 구현 계획·코드, solver build/test·reference 비교와 release 감사는 포함하지 않는다. 별도 coordinator나 phase 상태기계를 만들지 않는다. 작업시간 제한은 30분이다. 시작은 2026-09-08 12:07:56 UTC이며 12:37:56 UTC에 도달하면 진행 중인 작업을 중지하고 실제 완료·미완료 항목과 지연 이유를 보고한다. 2026-09-09 KST 사용자는 **implementation 단계를 진행**하도록 요청하고 **implementation 단계의 30분 제한은 없다**고 명시했다. 현재 범위는 [구현 계획](implementation-plan.md)에 따른 코드·테스트·실제 FEAST 및 필수 reference/회귀 검증과 작업별 커밋이다. 앞의 30분 제한은 완료된 문서 작업의 이력이다. 원본 reference 생성·변경과 push/release는 포함하지 않는다. ## 솔버 기능의 요구 범위 요약 기존 사용자 결정에 기록된 다음 의미를 새 요구사항의 출발점으로 사용한다. 승계 근거와 후속 전문 판단 경계는 [ADR](ADR.md)에 기록한다. 1. MITC4 shell consistent mass를 계산하고 그 결과로부터 lumped mass를 유도한다. 2. 실제 무감쇠 선형 고유진동 해석은 derived lumped mass와 Intel MKL FEAST를 사용한다. 3. 원형상·무응력 상태와 승인된 shell/constraint 범위를 대상으로 하며, requested mode count는 `.inp`의 `*FREQUENCY`에서 얻는다. 4. 지정 `reference/shellNL-eigen-meshfine`의 기존 입력·고유치 TXT를 보존하고 외부 eigen 비교는 `Value`만 사용한다. Mode shape는 내부 검증 대상이며 외부 acceptance를 추가하지 않는다. 5. 좌표 공변적인 numerical drilling stabilization 개선과 영향받는 기존 선형·비선형 정적 및 새 eigen 검증을 포함한다. 기존 물리 kernel·source identity·output 의미·공통 tolerance는 보존한다. 6. `reference/temp`로 제외된 예제는 검증에 사용하지 않는다. 남는 정적 회귀와 내부 물리 검증 의무를 명시한다. 지속할 상세 계약이 필요하므로 요구사항과 verification matrix 원본은 [requirements.md](requirements.md)에 둔다. 이 PRD에는 수식·threshold·schema를 중복 정의하지 않는다. ## Acceptance 요약과 원본 아래 ID는 `FEM-REQ-MITC4-EIGEN2-` prefix를 생략하며 링크는 상세 matrix의 원본을 가리킨다. | 영역 | Requirement IDs | 요구되는 결과와 검증 의도 | | --- | --- | --- | | 입력·물리 범위 | [001~004, 015~016](requirements.md#requirement-verification-matrix) | 밀도·section·geometry·boundary·mode 요청의 의미를 보존하고 미지원 조합을 명확히 진단 | | 질량·stabilization | [005~008, 014, 026~027](requirements.md#requirement-verification-matrix) | 두 질량의 유도 관계, 물리 관성·drilling null, 대칭성·에너지·좌표 공변성 검증 | | FEAST·modal evidence | [009~013](requirements.md#requirement-verification-matrix) | 실제 backend, 낮은 N개·multiplicity, 동일 사용 질량의 residual·normalization·orthogonality 및 실패 보존 | | 결과·reference | [017~022](requirements.md#requirement-verification-matrix) | HDF5 source/mode identity, Value-only 대응, completeness·finite 사전검사와 공통 tolerance | | 회귀·완료 | [023~025](requirements.md#requirement-verification-matrix) | 제외 예제를 사용하지 않는 남은 static·내부 물리 검증, 필요한 실제 실행 evidence와 미실행의 구분 | 각 영역의 원자적 ID·검증 방법·출처는 requirements 및 [근거 문서](requirements-evidence.md)를 따른다. 과거 문서의 `pass`, 362/352 test count나 stage 완료를 이 baseline의 실행 결과로 사용하지 않는다. ## 현재 checklist - [x] 새 Feature ID·작업 브랜치와 requirement-only 범위를 설정한다. - [x] 기존 자료의 참고·승계·후속 재검토 경계를 정한다. - [x] Requirement specialist가 새 요구사항·verification matrix와 근거를 작성한다. - [x] 메인이 사용자 요구 coverage, 전문 owner 경계와 미해결 사항을 정적으로 확인한다. - [x] 상대 링크·ID를 검사하고 커밋 대상이 새 Feature 문서 5개뿐인지 확인한다. - [x] Research: [연구](research.md)와 [근거](research-evidence.md)에 일차 출처·질량/축소/stabilization 후보 및 실제 runtime 확인이 필요한 FEAST 두 항목을 기록했다. - [x] Formulation: [정식화](formulation.md)에 질량·공변 stabilization·constraint-first 축소·FEAST·복구 수학 계약을 작성했다. 독립 numerical review는 별도 항목이다. - [x] Numerical review: [독립 검토](numerical-review.md)는 `pass-for-io-definition`이다. 새 수학 oracle 2개와 27개 verification cases, 내부 controls 및 Value-only reference family를 정의했다. 실제 solver 검증은 미실행이다. - [x] I/O definition: [I/O 계약](io.md)에 입력·진단·additive eigen schema·source step/mode mapping·실패 보존과 검증 의무를 정의했다. - [x] 신규 문서의 링크·계약 일관성, 27개 요구사항의 NR/I/O coverage와 변경 범위를 정적으로 확인하고 단계별 변경을 커밋한다. 이 checklist는 문서 작업 상태다. Solver 구현·실제 FEAST 실행·회귀 및 외부 reference 비교의 통과를 뜻하지 않는다. - [ ] 질량·stabilization과 독립 analytical/invariant 테스트 구현·검증. - [ ] 실제 FEAST backend·count/cluster/zero/실패 controls와 runtime 검증. - [x] Density/Frequency semantic·source identity·진단 및 입력 테스트. 기존 정적 PREPRINT 회귀를 보존했다. - [ ] Constraint-first 축소·modal recovery·별도 eigen state/procedure 구현. - [ ] HDF5 additive schema·candidate 보존·Value comparator 및 통합 테스트. - [ ] 제외 예제 사용 없이 남는 static/내부 회귀·전체 build/test·필수 reference 실행. - [ ] 관련 독립 numerical/physics 확인, 결과·한계 기록과 커밋. 현재 구현·실행은 [implementation-verification](implementation-verification.md)에 기록했다. 실제 mass/reduction/FEAST/procedure/HDF5 경로와 focused 검사가 있으며, 체크되지 않은 항목이 전부 미구현이라는 뜻은 아니다. 원본 eigen의 전체 c residual 실패와 S3 public static 계약 충돌, 세부 case의 미완료 evidence 때문에 기능 전체 acceptance는 완료하지 않았다. ## 이전 문서 단계의 결과와 구현 입력 Research부터 I/O까지 요청한 문서 작업과 독립 수학 검산을 30분 제한 안에 완료했다. 19개 Feature 문서의 링크·UTF-8·diff와 27개 요구/검증 case identity·coverage를 확인했다. 기존 Feature/phase의 사용자 변경 16개는 보존했다. Source·test·config·reference는 변경하지 않았다. 다음 작업의 입력은 [정식화](formulation.md), [독립 검토](numerical-review.md), [controls](numerical-review-controls.md), [cases](numerical-review-cases.md), [I/O](io.md)다. 문서 단계 종료 당시 Density/Frequency semantic·mass/FEAST·eigen state/writer 구현, 실제 backend와 MSVC build/test·reference·물리 검증은 미실행이었다. 현재 사용자가 승인한 구현은 [implementation-plan](implementation-plan.md)에 따라 이 후속 실행을 포함하며, 진행 상태는 위 checklist를 따른다. Pressure 제외 예제의 fresh 외부 coverage 부재는 유지한다.