docs: define covariant MITC4 stabilization formulation

This commit is contained in:
KOKO\Mimi
2026-09-06 04:01:47 +09:00
parent b99a5e5309
commit 4d303839c2
9 changed files with 417 additions and 48 deletions
@@ -2,12 +2,13 @@
- Feature ID: `mitc4-shell-feast-eigen`
- Owner: `formulation-agent`
- Input contract revision: `r1`
- Input contract revision: `r2`
- 기본 보고서: [formulation.md](formulation.md)
[질량 유도 M1~M10](formulation-mass.md), [research evidence](research-evidence.md)의
`S03`~`S08`, `P01`, `R03/R04`를 적용한다. 아래 reduction은 기존 stabilized stiffness와
**derived lumped mass**의 pencil에 정확히 대응한다.
`S03`~`S08`, `P01`, `R03/R04/R07`를 적용한다. 아래 reduction은
[r2 scale](formulation-stabilization.md)로 개선된 원형상 stabilized stiffness와
**derived lumped mass**의 pencil에 정확히 대응한다. 기존 nonlinear trial tangent와는 별개다.
## E1. 조립, 단위 scaling과 실제 global 제약
@@ -64,12 +65,14 @@ P=\operatorname{blockdiag}(P_i^f),\quad Z=\operatorname{blockdiag}(Z_i),\quad
Reference의 full clamped flat mesh에서는 625개 interior node,
`nf=3750`, `nz=625`, `n=3125`가 예상된다. 실제 assembly와 rank evidence로 확인한다.
## E3. 기존 stiffness에서 decoupling의 정확한 증명
## E3. 개선된 stiffness에서 decoupling의 정확한 증명
공통 node director는 [shell geometry](../../src/fesa/model/shell_geometry.cpp)가 한 번
정의하고 [ElementFactory::CreateShell](../../src/fesa/elements/element_factory.cpp)이
node identity로 각 element에 전달한다. [MITC4 kernel](../../src/fesa/elements/mitc4_shell.cpp)의
`PhysicalTransformation20`, `DrillingTransformation4`, `EvaluateStiffness`는 M4를 구현한다.
`PhysicalTransformation20`, `DrillingTransformation4`, `Stiffness`에서 M4의 구조를 확인했다.
옛 계수만 [S1/S2](formulation-stabilization.md)로 대체하며 모든 incident element의
`k_d,e`는 finite positive다. Physical kernel과 공통 director·nodal drill map은 그대로다.
한 node에만 `[0;d_i]`가 있는 full vector `z_i`에 대해 `T_p A_e z_i=0`이다.
Drilling 부분은 해당 node에만 작용하므로
@@ -90,14 +93,18 @@ K_{pz}=P^TK_fZ=0,\quad K_{zz}=Z^TK_fZ=\operatorname{diag}(\kappa_i)\succ0,
Finite mode의 massless 성분은 `z=0`이다. 이 projection은 arbitrary small coupling을
버리는 근사가 아니라 승인된 physical/drilling separation의 항등식이다.
Null이 없는 부분 제약 node에서는 `P=I`이고 기존 drilling contribution이 `K_p`에
Null이 없는 부분 제약 node에서는 `P=I`이고 개선된 drilling contribution이 `K_p`에
그대로 남는다. 이를 빼면 원 constrained stabilized pencil을 바꾸므로 금지한다.
여기서 원 pencil은 r2의 실제 BC 적용 후 K/M이다. 옛 K와 새 K의 spectrum 동일성은
요구하지 않는다. S3의 complete K 공변성은 이 partial-BC contribution까지 포함한다.
실제 floating-point matrix와 basis의 `M_f Z`, `K_fZ-Z diag(kappa)`, `P^T Z`를
별도 evidence로 남긴다. 증명된 analytic null만 구조적으로 제거하고 계산된 tiny coupling을
근거 없이 threshold로 버리지 않는다. 이 항등식의 roundoff 검증 및 복원 후 full free
residual이 NR 기준을 넘으면 assembly/director/conditioning 실패로 중단한다.
추가 massless mode를 찾아 제거하거나 기존 K를 재조정하지 않는다.
추가 massless mode를 찾아 제거하거나 개선된 K를 재조정하지 않는다.
S5의 nonlinear Hessian에는 corotation coupling이 있으므로 E3/E4를 모든 nonlinear
상태, preload 또는 prestressed eigenproblem에 적용하지 않는다.
## E4. 일반 Schur 식과 비정상 rank의 의미