docs: define MITC4 mass and FEAST formulation

This commit is contained in:
KOKO\Mimi
2026-09-06 02:33:45 +09:00
parent a7c13ff378
commit 2c3a86aa69
8 changed files with 819 additions and 4 deletions
@@ -0,0 +1,69 @@
# MITC4 질량행렬과 FEAST 고유치 정식화
- Feature ID: `mitc4-shell-feast-eigen`
- Owner: `formulation-agent`
- Input contract revision: `r1`
- 요청 outcome: `pass`; 다음 owner: `numerical-review-agent`.
- 상태: 독립 numerical review 요청이며 자기 승인이나 workflow 전이가 아니다.
필수 입력은 [FEATURED_AGENTS](FEATURED_AGENTS.md), [PRD](PRD.md), [ADR](ADR.md),
[requirements](requirements.md), [requirements evidence](requirements-evidence.md),
[research](research.md), [research evidence](research-evidence.md)이다.
[프로젝트 지침](../../AGENTS.md), [프로젝트 PRD](../PRD.md), [ARCHITECTURE](../ARCHITECTURE.md),
[공통 ADR](../ADR.md), [TOLERANCE](../TOLERANCE.md), [agent 계약](../SOLVER_AGENT_DESIGN.md),
[문서 소유권](../FEATURE_DOCUMENTATION.md)을 적용했다.
## 핵심 계약
1. 기존 원형상 MITC4 운동학·강성·director·global 6 DOF 의미를 유지한다.
Physical 3 translation/2 tangent rotation의 consistent mass와 구성 scalar moments를
같은 Jacobian으로 계산한다. Trilinear mapping의 mass integrand는 각 축 최대 4차이므로
mass는 3×3×3 Gauss로 충분하며 곡면의 odd-thickness coupling을 유지한다.
식과 단위·strong/weak form: [mass M1~M5](formulation-mass.md).
2. 계산된 consistent moment를 row-sum하여 global nodal 6×6 block lumped mass를 만든다.
총 병진 질량·spatial centroid·할당된 thickness moments를 보존하고 drilling은 정확한 null이다.
일반 운동에너지 차이는 nonnegative Jensen identity로 명시한다.
보존/근사 범위와 독립 평판 oracle: [mass M6~M10](formulation-mass.md).
3. 실제 homogeneous global constraints를 먼저 적용한다. Free space에 완전히 포함된
director null만 분리한다. 기존 nodal stabilization에 의해 Kpz=0, Kzz>0임을 입증하여
finite spectrum을 nodal projection으로 보존하며 부분 BC에 남는 stabilization은 유지한다.
Sparse block whitening, rank 예외와 global 복원: [eigen E1~E5](formulation-eigen.md).
4. Actual FEAST mass와 모든 modal 검증은 derived lumped다. `.inp`의 N을 유지하고
finite enclosure·prefix count·cluster capacity·count/solve 일치와 독립 eigenpair 검증을
결합한다. Endpoint/conditioning 한계를 count theorem으로 과장하지 않는다.
Backend 경계와 bounded search, 상태 보존: [eigen E6~E8](formulation-eigen.md).
## Requirement coverage
아래 ID는 모두 `FEM-REQ-MITC4-EIGEN-` 접두사다. Requirements matrix의 acceptance 원본을
복제하지 않으며 formulation의 기여와 다음 owner를 구분한다.
| IDs | 정식화/검증 연결 | 후속 확인 |
| --- | --- | --- |
| `001`, `002`, `004` | mass M1~M4: 원형상, 기존 MITC4·director·재료·기하·단위 | NR, I/O |
| `003` | mass M1/M5: 양의 일정 rho와 section별 연결 전제 | I/O semantic validation |
| `005`, `006`, `026` | mass M5~M10, verification V2: consistent→lumped, coupling, positivity/null, 보존/근사 | NR independent oracle |
| `007`, `008` | eigen E1~E5, verification V3: stable assembly, 실제 BC/null, finite spectrum 및 복원 | NR rank/conditioning |
| `009`, `010`, `011`, `012` | eigen E6~E8, verification V6: 낮은 N, multiplicity, 실제 FEAST, 유한 실패 | NR numerical controls, real runtime |
| `013`, `014`, `018` | verification V1~V5: lumped residual/Gram/energy/rigid/density/좌표, source/global 복원 | NR, Physics |
| `015`, `016` | mass M2 및 eigen E1/E6: 무감쇠 단일 procedure·동차 BC·input N authority | I/O exact syntax/no-op/exclusion |
| `017`, `019` | eigen E8: lambda/normalization 의미, source identity, candidate/final 보존 | I/O additive schema/failure |
| `020`, `021`, `022` | verification V6: 지정 TXT Value-only, identity 사전검사/common tolerance | NR family, I/O mapping |
| `023`, `024`, `025` | 기존 K 경로 유지 및 owned 수식/evidence 연결; 실행 결과는 주장하지 않음 | Planning TDD/MSVC/회귀, Physics/Release closure |
## Evidence와 handoff
실제 kernel의 PhysicalTransformation20/DrillingTransformation4와 kd 선택식,
ElementFactory의 공통 nodal director 전달을 대조했다. 원본 두 reference의 SHA-256은
requirements/research와 일치한다. 출처와 실제 read/hash 명령·미실행/위험은
[verification V7](formulation-verification.md)에 있다.
Source/reference/upstream을 편집하지 않았고 수치 실행 결과를 통과로 보고하지 않는다.
현재 새 physics/scope/compatibility 선택이나 사용자 미결정은 없다.
Numerical Review는 [verification V6](formulation-verification.md)의 dimensionless metric,
zero branch, analytic rank와 finite algorithm을 독립 검토하여 threshold, FEAST control/budget,
필수 benchmark 및 reference mode/frame family를 고정한다. I/O는 영속 schema를 정의한다.
이번 formulation stage는 완결된 수학 계약을 NR에 인계하며, 실제 구현 진입에 필요한
전체 계약 bundle은 NR의 수치 기준과 후속 I/O/planning 이후 완성된다.
Count의 floating-point 한계, near-null conditioning, shifted sparse fill와 보수적 count
scratch 비용은 아직 실제 runtime evidence가 필요하다. Release readiness를 주장하지 않는다.