# MITC4 Shell Mass·FEAST Eigen 2 PRD - Feature ID: `mitc4-shell-feast-eigen2` - Owner: 메인 assistant - Requirement baseline revision: `r2` (022의 외부 accuracy 기준 변경) - 상태: **사용자 승인 첫 구현 완료**. 전체 417개 검사와 모드별 외부5% 비교, 독립 수치 검토를 통과했다. S3와 후속 정확도 개선은 보류한다. 기준: [프로젝트 지침](../../AGENTS.md), [프로젝트 PRD](../PRD.md), [공통 ADR](../ADR.md#adr-028). 지역 지침은 [FEATURED_AGENTS](FEATURED_AGENTS.md), 결정 근거는 [Feature ADR](ADR.md)을 따른다. ## 사용자 결정과 현재 적용 범위 새 MFE2 baseline은 이전 유용한 수학 근거를 명시적으로 채택하되 실행·검증 결과는 승계하지 않는다. 사용자 승인 첫 구현은 residual stopping과 모드별 외부5% 정책이다. [ADR-011](ADR.md#mfe2-adr-011--feast-residual-stopping과-s3-후속-분리)· [ADR-012](ADR.md#mfe2-adr-012--첫-구현의-외부-고유치-5-수용)에 채택 이유와 승인 이력을 남긴다. 옛30분 문서 작업 제한·당시 Git 운영 요청은 현재 기능 개발의 제약·권한이 아니다. ## 솔버 기능의 요구 범위 요약 기존 사용자 결정에 기록된 다음 의미를 새 요구사항의 출발점으로 사용한다. 승계 근거와 후속 전문 판단 경계는 [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#requirements)에 둔다. 이 PRD에는 수식·threshold·schema를 중복 정의하지 않는다. ## Acceptance 요약과 원본 아래 ID는 `FEM-REQ-MITC4-EIGEN2-` prefix를 생략하며 링크는 상세 matrix의 원본을 가리킨다. | 영역 | Requirement IDs | 요구되는 결과와 검증 의도 | | --- | --- | --- | | 입력·물리 범위 | [001~004, 015~016](requirements.md#requirements--requirement-verification-matrix) | 밀도·section·geometry·boundary·mode 요청의 의미를 보존하고 미지원 조합을 명확히 진단 | | 질량·stabilization | [005~008, 014, 026~027](requirements.md#requirements--requirement-verification-matrix) | 두 질량의 유도 관계, 물리 관성·drilling null, 대칭성·에너지·좌표 공변성 검증 | | FEAST·modal evidence | [009~013](requirements.md#requirements--requirement-verification-matrix) | 실제 backend, 낮은 N개·multiplicity, 동일 사용 질량의 residual·normalization·orthogonality 및 실패 보존 | | 결과·reference | [017~022](requirements.md#requirements--requirement-verification-matrix) | HDF5 source/mode identity, Value-only 대응, completeness·finite 사전검사와 공통 tolerance | | 회귀·완료 | [023~025](requirements.md#requirements--requirement-verification-matrix) | 제외 예제를 사용하지 않는 남은 static·내부 물리 검증, 필요한 실제 실행 evidence와 미실행의 구분 | 각 영역의 원자적 ID·검증 방법·출처는 requirements 및 [근거 문서](requirements.md#requirements-evidence)를 따른다. 과거 문서의 `pass`, 362/352 test count나 stage 완료를 이 baseline의 실행 결과로 사용하지 않는다. ## 현재 checklist - [x] MFE2 요구사항·정식화·수치 기준·I/O·기존 MFE 대응과 독립 검산 확정. - [x] Density/Frequency, mass·공변 stabilization, constraint-first modal reduction·실제 FEAST 구현. - [x] State/procedure·HDF5 candidate 보존·Value 비교 및 failure/normalization·mass oracle 보강. - [x] 2026-09-10 첫 구현 전체417/417 PASS·원본10개 Value 최대 상대차 약4.261331%·독립 수치/물리 검토 기록. - [x] FEAST residual stopping으로 원본 전체 c의 독립 잔차 실패 해소·저장 controls 검증. - [ ] Abaqus Value 정확도 개선. 이전 RMS1% 불일치는 이력으로 보존. - [ ] S3 public static 평형 계약 충돌의 후속 검토. ## 실행과 미검증 범위 [실행 보고서](implementation-verification.md)와 [구현 독립 검토](implementation-review.md)는 당시 명령·수치·수정 전 실패·실제 주입 범위를 기록한다. 실제512회 vendor 호출과 HDF5 close-error 전체 주입은 하지 않았다. 이후 통합 회귀는 [전체 현황](../tracking/status.md)이 연결하며 첫 구현 범위를 release 또는 임의 모델 정확도 보증으로 확대하지 않는다.