Files
FESADev/docs/mitc4-shell-feast-eigen2/requirements-evidence.md
T

11 KiB

요구사항 근거와 적용 경계

  • Feature ID: mitc4-shell-feast-eigen2
  • Requirement baseline revision: r1
  • Owner: requirement-agent
  • 작성일: 2026-09-08
  • 원본: requirements.md, 현재 작업: PRD.

기준은 프로젝트 지침, 프로젝트 PRD, ADR-028, 새 Feature ADR이다. 이 문서는 근거와 미실행을 구분하며 새 수학·구현 acceptance 승인이나 solver readiness 판정이 아니다.

근거의 종류와 재사용

근거 재사용하는 내용 이번 기준선으로 가져오지 않는 것
2026-09-08 사용자 요청과 새 PRD 새 Feature 이름, requirement부터 재시작, 유용한 기존 자료 참고, 작업 중 commit; 최종 지시로 requirement 단계만 수행 Research 이후 실행 권한·전체 단계 자동 진행·push 권한
기존 ADR의 MFE-ADR-001/002/004/005 MKL FEAST, consistent→derived lumped→eigen, 지정 reference의 Value-only, 입력의 mode count 권위 Mass variant 선택 API, 다른 backend, 외부 mode-shape acceptance
같은 ADR의 MFE-ADR-007 좌표 공변적 stabilization 개선 및 영향받는 static/eigen 검증의 명시 사용자 승인 특정 trace 공식 또는 기존 NR pass의 자동 채택
같은 ADR의 MFE-ADR-013 reference/temp 네 예제와 옛 경로·복사·cache 검증 제외 과거 14개 blob·이동 commit·검사 수를 이번 재확인으로 보고
기존 requirements r3, 기존 evidence r3 27개 관찰 의무, 단위·identity·실패·남는 static/internal portfolio, 알려진 partial-BC 반례 기존 revision의 수식·threshold·영속 문자열이 새 Feature에 자동 승인되었다는 문구
기존 research evidence, formulation, NR, I/O 후속 전문 작업에서 필요한 근거·후보·반례를 찾을 위치 이번에 새로 조사·검토·검증한 evidence라는 주장
기존 PRD 사용자 요구 명시 release-readiness 감사 요청의 이력 보존 옛 고정 9-stage 순회, Hook·phase 상태·중복 수동/자동 실행의 복원

기존 r3 요구 문서는 현재 worktree의 미커밋 자료를 읽었다. 링크는 그 작업 자료를 가리키며 과거 HEAD/commit에 동일 내용이 있다고 가정하지 않는다. 과거 공개 문헌 조사도 기존 evidence에 기록된 당시 이력으로만 참조한다. 이번 작업은 외부 문헌 조사·정식화 유도· 독립 수치 검토를 수행하지 않았다.

기존 NR-MFE-001은 같은 물리 partial rotation BC에서 좌표를 회전하고 stiffness를 재계산할 때 나타난 반례다. 기존 evidence의 numerical 값은 재계산하지 않았다. 014/027은 알려진 사례를 검증에서 배제하지 않는 의도를 승계한다. 이전 행렬을 단순 기저변환하는 검사만으로 geometry부터 재계산한 complete K의 공변성 검사를 대체하지 않는다. 기존 linear 요구 FESA-REQ-LSMITC4-034/056과 nonlinear formulation §10.3의 scale 선정 부분이 영향 대상이며 다른 물리·lifecycle 의미를 교체하지 않는다.

기존 ID와 새 ID 대응

기존 열은 prefix FEM-REQ-MITC4-EIGEN-, 새 열은 prefix FEM-REQ-MITC4-EIGEN2-를 생략한다. 27개 ID를 1:1로 대응하며 아래 요약은 요구사항 본문의 acceptance를 대신하지 않는다.

기존 suffix 새 suffix 보존하는 관찰 의무·변경 경계
001 001 원형상·무응력 단일 무감쇠 procedure
002 002 S4/S4R의 기존 물리 의미와 stabilization 개선 분리
003 003 Material/section의 양의 유한 밀도 연결과 진단
004 004 기존 geometry/director/thickness 유효성
005 005 Consistent mass의 계산·독립 oracle·lumping 원본
006 006 물리 병진/회전 관성과 drilling null
007 007 같은 DOF/constraint·결정적 조립
008 008 실제 partial BC에서 유한 spectrum 보존·FEAST admissibility
009 009 입력 요청의 낮은 N개·zero modes·불가능 요청 진단
010 010 오름차순 mode identity·multiplicity
011 011 Derived lumped mass로 실제 MKL FEAST 실행
012 012 Backend 실패·미수렴·불완전 모드의 성공 반영 금지
013 013 같은 lumped M의 residual·normalization·orthogonality
014 014 두 mass와 complete K/eigen의 물리·좌표 불변식
015 015 원본 Frequency 및 부수 옵션의 명시적 의미 처리
016 016 미지원 모델·옵션의 silent no-op 거부
017 017 HDF5 quantity·단위·source/mode/backend/mass 식별
018 018 내부 modal vectors와 source/physical DOF 대응
019 019 검증 candidate 반영과 state/final output 실패 보존
020 020 지정 eigen TXT Value-only 외부 비교
021 021 Tolerance 전 identity/quantity/schema/finite 검사
022 022 공통 tolerance 유지; family는 후속 NR/I/O 정의
023 023 현행 behavior tests·관련 검사·완료 시 전체검증; 고정 RED/중복 실행 삭제
024 024 남는 shell/shellNL 및 내부 static 회귀·밀도 없는 static 유지
025 025 메인의 evidence 추적 완료 판단·필수 독립 검증; 고정 stage 삭제·감사 요청 이력 보존
026 026 Consistent에서 유도한 lumped의 질량·관성 보존 검사
027 027 좌표 공변적 비물리 stabilization 및 partial-BC 정적/eigen 검증

현재 원본의 정적 관찰

아래는 메인이 2026-09-08 전달한 read-only 관찰이다. Python pathlib·regex·finite 검사와 keyword inventory는 exit 0이었고 solver 실행은 아니다. Requirement owner는 원본을 다시 읽거나 hash·산술 검사를 반복하지 않았다. 과거 hash를 현재 확인값으로 옮기지 않는다.

대상 메인이 확인한 현재 사실
reference/shellNL-eigen-meshfine/shellNL-eigen-meshfine.inp 729 nodes, 676 S4 elements; density 2700., shell section 0.5, 5
Step/BC 한 *Step, name=Step-2, nlgeom=NO, perturbation; Set-2 DOF 1~6의 homogeneous boundary 행
Frequency eigensolver=Lanczos, sim, acoustic coupling=on, normalization=mass; data 10, , , , ,
shellNL-eigen-meshfine eigenvalues.txt Mode IDs 1~10, finite Value, 중복 mode ID 없음
Value 순서 219507, 885523, 885523, 1855340, 2740230, 2775150, 4149410, 4149410, 6733790, 6733790
표시값 반복 (2,3), (7,8), (9,10)에서 같은 표시 Value; 이것만으로 실제 spectral multiplicity를 판정하지 않음
남는 static artifact rg --files로 reference/shell·reference/shellNL 각각 inp 및 displacements/reactions/stresses CSV 존재 확인; 내용·수치 통과 확인은 아님

TXT의 표시 Value는 보정하지 않는다. 단위계는 수치 크기로 추론하지 않는다. 기존 관찰은 선행 static/load가 없는 단일 frequency 모델과 TXT의 분리된 Value/Freq를 기록한다. 입력의 유일한 step과 TXT mode를 연결할 수 있다는 것은 요구 정리를 위한 관찰이며, comparison readiness·HDF5 projection·frame/family의 최종 정의는 후속 NR/I/O 책임이다.

reference/temp 원본은 이번에 읽거나 실행하지 않았다. 네 제외 예제와 남는 coverage의 원본은 requirements이며 과거 검사 개수나 cache로 현재 실행 검증을 대체하지 않는다.

후속 전문 판단과 사용자 결정 경계

아래는 requirement 작성의 blocker가 아니라 후속 작업이 필요할 때 구체화할 사항이다. 이번 요청으로 그 작업을 시작하지 않는다.

후속 owner 필요한 판단·고정 경계
Formulation Consistent→lumped 유도, 정확한 관성 불변식·좌표 block, massless drilling과 실제 global BC의 유한 spectrum 보존, FEAST admissibility, 낮은 N개 완전성. 특정 quadrature·row-sum·projection/whitening 공식은 자동 채택하지 않음
Formulation·NR 공변 stabilization과 기존 nonlinear 초기 고정 scale lifecycle의 정합, partial-BC 반례·대응 static response 및 개선된 pencil 재검증. 기존 trace scale 공식·NR pass를 새 승인으로 간주하지 않음
NR 독립 내부 oracle·scale/threshold·검증 충분성·FEAST controls 검토. 외부 eigen Value는 blocking acceptance이며 비교 family는 공통 TOLERANCE의 같은 model/step/frame/quantity/차원/좌표/판정 영향 규칙 안에서 정의; 과거 singleton family 판정을 자동 채택하지 않음
I/O 최소 syntax/무해 옵션/진단, source step·mode·modal vector 의미와 HDF5 projection. Exact layout·영속 contract/stabilization 문자열은 이번에 고정하지 않음; 기존 public 호환성 보존
메인·Implementation·Physics 실제 retained test 선택과 실행 evidence·독립 물리 판단. 옛 362/352 수, 미실행·실패·stale를 통과로 소급하지 않으며 명시 감사 요청은 후속 범위와 함께 관리

질량 흐름·backend·입력 count·Value-only·stabilization 개선·제외 목록은 기존 명시 결정으로 해결되어 재질문하지 않는다. 현재 추가 사용자 결정이 필요한 material conflict는 발견하지 않았다. 후속 증거가 새 물리 근사·지원 축소·공개 호환성/영속 schema의 비호환 변경 또는 acceptance 변경을 필요로 할 때만 근거와 함께 메인에게 반환한다. Reference 변경이나 공통 tolerance 완화로 충돌을 해소하지 않는다.

정적 확인과 미실행

Requirement owner는 Get-Content·rg로 할당 관리문서, 기존 r3 요구·근거, 관련 사용자 ADR와 프로젝트 PRD/ARCHITECTURE/ADR-028/TOLERANCE 절을 읽었다. 명령 exit 0. python -B -X utf8 - 문서 작성 및 정적 검사는 exit 0으로 27개 새 matrix ID의 유일성·연속성, 27개 old→new 대응과 상대 파일 링크 존재를 확인했다. 수정 대상은 할당된 두 문서이며 checklist는 PRD 한 곳에서 관리한다.

C++·FEAST·CMake/CTest·Harness·pytest·외부 solver·reference 수치 비교·독립 numerical/physics review·release-readiness는 requirement-only 요청 때문에 미실행이다. 문서 완료는 이 검사의 통과나 새 수학·구현 acceptance 승인을 뜻하지 않는다. Source·test·공통 정책·기존 Feature· phase·reference와 Git 작업은 변경하지 않았다.