Files
FESADev/docs/mitc4-shell-feast-eigen2/numerical-review-cases.md
T

89 lines
8.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 필수 검증 사례와 요구사항 연결
- Feature ID: `mitc4-shell-feast-eigen2`; Owner: `numerical-review-agent`; revision `r2` (2026-09-10, E2-C25의 승인된 첫 구현 profile 반영).
- 기본 보고서: [numerical-review](numerical-review.md); 판정 수치: [controls](numerical-review-controls.md).
- 아래는 구현의 필수 관찰이다. 문서 r1 시점의 실제 수학 oracle는 [evidence](numerical-review-evidence.md)이며,
최신 실행·미실행 분류는 [첫 구현 검토](implementation-first-version-review.md)를 따른다.
[이전 case C01–C24](../mitc4-shell-feast-eigen/numerical-review-cases.md)의 synthetic fixture와
독립 oracle를 읽고 새 formulation에 대조해 아래에 채택한다. 숫자·fixture 상세는 그 문서를
참조하되 **이 문서의 새 controls와 아래 예외가 우선**한다. 기존 requirement prefix,
RED 고정 순서·phase/release 절차·test 이름/개수·이전 pass는 채택하지 않는다.
Old C25–C27의 실행·portfolio 지시는 아래 새 정의로 대체한다.
| 새 Case ID | 필수 입력·관찰과 반증 기준 |
| --- | --- |
| E2-C01 | Affine rectangle 4×2, rho3,t1/2: independent C0 matrix, C1=0,C2=t²C0/12, nodal m3,j1/16; full24/physical20, energy·rank·drill null |
| E2-C02 | 이번 rational warped director fixture의 모든 Ck/rows/first moment를 독립 적분. C1 강제0, 2-point mass, flat C2 비례식 mutation 검출. Custom director는 kernel-level이며 새 input 기능 아님 |
| E2-C03 | Consistent 원본 snapshot→row sum→block 연결, C1/C2 perturbation 전파; 직접 nodal energy 및 Jensen pairwise integral. 각 mass의 energy를 따로 검증 |
| E2-C04 | Square [-1,1]², rho=t1, m=1,2,4 mesh, velocity(x,0,0): consistent work4/3, lumping 차8/(3m²), uniform translation work4. 일반 spectrum 수렴차수 약속 아님 |
| E2-C05 | Proper rational Q 및 shift(7,-3,5), geometry/director/frame부터 두 mass 재계산; d=(1,1,1)/sqrt3의 full row-sum 실패 mutation |
| E2-C06 | 공유 node·상이 rho/t/material sections, source labels/order 변화, sequential/parallel의 stable contribution/reduction 및 정확한 scatter |
| E2-C07 | Density missing/duplicate/unresolved/nonpositive/nonfinite/dependent, invalid thickness/material/geometry/27점 평가 실패. Density 없는 static 허용 |
| E2-C08 | NR-MFE-001의 원/회전 geometry부터 complete K/ML 새 계산: kd19/4800,Mff3/50,Kff10369/7500,lambda10369/450. Node1 URZ만 free; min-diagonal mutation은 실패 |
| E2-C09 | 같은 partial BC와 admissible moment(5/3)b, thetaZ7500/10369; 회전 load와 full Kq-F reaction covariance. Pure eZ moment로 대체 금지 |
| E2-C10 | Rotary inventory[0,0,2,4,0,6,0,4]→kd.002; independent tangent changes. Allzero/negative/nonfinite/overflow/underflow 실패; zero 포함 분모8 |
| E2-C11 | Free affine element physical K20 rank14, complete K24 rank18/nullity6, consistent physical mass rank20와 lumped rank5/node. 여섯 rigid fields·positive mass Gram·drill null 분리 |
| E2-C12 | 기존 nonlinear fixture의 frozen initial kd, exact unchanged trial/commit/rollback; objective gamma potential의 1·2차 variation, finite rigid motion, physical 선형극한·recovery 제외 |
| E2-C13 | d축정렬/기울임, full/partial/all-fixed rotations와 drill-only free를 지원 global component BC로 구성. Expected null은 constrained director exact-zero 교집합, tiny nonzero 보존. Global n0/N>n 실패 |
| E2-C14 | d=(2p/(1+p²),0,(1-p²)/(1+p²)), m=j1,h0, URX fixed. p=1/2000와1e-8 모두 analytic rank5; 두 번째 conditioning failure, p0만 exact null1. Rank cutoff mutation 검출 |
| E2-C15 | K[[6,2],[2,4]],Mdiag(2,0)의 lambda5/2,z=-p/2; 단순 삭제3을 거부. Production shell에 Kpz/nonpositiveKzz 위반 주입 후 실패, general dense fallback 추가 안 함 |
| E2-C16 | M[[2,1],[1,2]],K[[6,4],[4,6]]→lambda2,10/3. Whitening/복원/original M normalization; wrong lambda/mass/vector/constraint mutation 검출 |
| E2-C17 | 실제 FEAST: n1 lambda2; [0,0,0,2,5,9] N1/4/6; [1,2,4,8] N1/2/4; n4 allzero N1/4. Production bound search로 lowest N·zero·N=n 확인 |
| E2-C18 | 실제 FEAST n64의 첫40개 lambda1, 나머지2..25, N1/41; [1,1+2^-28,1+2^-27,8] N2와 고정 Givens dense congruence. Repeated group>N, c 전체 Gram, distinct cluster merge 금지 |
| E2-C19 | [-2,0,3],[-1e-12,0,1] raw negative 및 정확한 ±tau_zero 경계. Significant negative 실패, nearzero 분류/raw 보존, 양수화/삭제 금지 |
| E2-C20 | rho×4→M×4,lambda/4,normalized amplitude1/2; 길이×1024,rho/1024³,E/1024,t×1024의 단위변환 lambda 불변. Same physical BC와 baseline s 사용 |
| E2-C21 | Count info1은 certified empty 아님. Optional failed/unknown prefix는 certified enclosure로 fallback, successful nonmonotone count는 실패. Final count/solve mismatch와 invalid/SPD/inner-solver/nonfinite/Gram/residual 등 status 주입은 C5의 retry/즉시실패 분류대로 검사 |
| E2-C22 | 실제 endpoint/cluster probes 및 mock count512/solve3/초기count3 한계, budget 직전 fallback·예약 불충분 실패. n²/nm0/nnz+1/index/byte overflow·allocation 실패. a0 below spectrum은 독립 bound로 검증; empty count 성공을 필수로 기대하지 않음 |
| E2-C23 | 원본 single Step-2/N10/density/blank bounds/normalization, source Lanczos/SIM/acoustic-free 의미; unsupported preload/acoustic/mixed/damping/비영 BC 등의 silent no-op 금지. I/O allowlist로 구체화 |
| E2-C24 | Source renumbering, HDF5 self-check와 final normalized modes/used mass/backend/count evidence; solve/validation/write/close/replace failure의 기존 state/final 보존. 정확한 layout은 I/O |
| E2-C25 | [Reference model](reference-model.md)의 원본 Value 10개, per-modal-frame singleton families·identity/finite 전검사. 승인된 `mitc4-eigen-first-implementation`에서 inclusive row/RMS 각각5%, 바로 밖은 실패; nearzero/zero scale 유지. 다른 공통 family RMS1% 보존; reordered rows/동일값 distinct IDs 허용, missing/extra/duplicate 거부 |
| E2-C26 | Retained shell/shellNL/linear-limit fresh solve·기존 U blocking/UR warning·reaction review-only, density-free static, partial-BC response, Newton tangent/objectivity/force/moment/free residual/energy/rollback·pressure synthetic·기타 기존 회귀 |
| E2-C27 | 향후 구현 시 구성 MSVC x64 Debug 전체 CMake/CTest와 actual FEAST/필수 reference를 한 번 연결. Source identity로 등록/선택/실행/제외를 구분하고 관련 없는 회귀 보존. 고정 과거 test 수 또는 중복 manual/automatic 실행 요구 없음 |
E2-C17/18/22는 mock만으로 충족하지 않는다. E2-C21의 실패 주입은 actual FEAST를
바꾸는 행위가 아니라 adapter 경계 테스트다. Expected eigenvalues로 production bounds를
설정하거나 동일 production 함수를 oracle로 호출하지 않는다. Actual FEAST의 G01/G02
installed probes에는 occupied/empty/endpoint count 반환·flag reset·full m0=n/zero matrix·
workspace/ABI/thread 복원이 포함된다. r1 문서 시점에는 **NOT RUN**이었으며,
이후 실행 여부는 [첫 구현 검토](implementation-first-version-review.md)의 evidence와 구분한다.
E2-C26은 excluded original/copied/cached examples를 절대로 사용하지 않는다.
제외된 혼합 시험에 있던 retained shellNL force/moment balance·free force/moment residual
네 관찰, nonzero constrained resultant 및 shell/linear-limit 원본 보존 관찰은 retained fixture에
따로 연결한다. Pressure external fresh coverage 부재를 내부 synthetic 통과로 대체하지 않는다.
## 27개 requirement coverage
접두사는 `FEM-REQ-MITC4-EIGEN2-`, Case 접두사는 `E2-C`를 생략한다.
| Requirement suffix | Cases |
| --- | --- |
| 001 | 23,25 |
| 002 | 01,08,12,23,26 |
| 003 | 06,07,23 |
| 004 | 01,02,07 |
| 005 | 01,02,03 |
| 006 | 01,03,11,13 |
| 007 | 06,13,27 |
| 008 | 08,13,14,15,16 |
| 009 | 13,17,18,19,22,23 |
| 010 | 17,18,25,27 |
| 011 | 03,16,17,23,25 |
| 012 | 14,19,21,22,24 |
| 013 | 11,16,17,18,21 |
| 014 | 01,02,03,04,05,08,11,20 |
| 015 | 23,25 |
| 016 | 07,21,23 |
| 017 | 24,25 |
| 018 | 06,13,16,24,25 |
| 019 | 21,22,24 |
| 020 | 25,26 |
| 021 | 25 |
| 022 | 25 |
| 023 | 27 |
| 024 | 09,12,26,27 |
| 025 | 27 |
| 026 | 01,02,03,04,05 |
| 027 | 08,09,10,11,12,26 |