docs(mitc4): record drilling choices and current verification limits

This commit is contained in:
KOKO\Mimi
2026-10-20 15:17:40 +09:00
parent 45ac118d68
commit f09b3e1249
20 changed files with 378 additions and 20 deletions
+13 -1
View File
@@ -15,6 +15,9 @@ Mass는 `3×3×3` 적분의 scalar thickness moments를 row-sum하여 nodal `6×
3 병진·2 director 접평면 회전 관성과 warped geometry cross coupling을 보존한다.
Numerical drill은 analytic mass null이며 인공 drilling inertia를 넣지 않는다.
Stabilization scale은 초기 physical rotary diagonal 8개 trace 평균의 `10^-3`이다.
2026-10-20부터 모델 전체의 코드 설정은 직접 초기 director 스프링을 기본으로 하며
기존 상대 비틀림도 선택할 수 있다. 원형상 eigen의 K/M과 drilling block은 두 방식에서
같다. Artificial drilling mass를 추가하거나 서로 다른 spectrum을 만들지 않는다.
Global 실제 BC를 먼저 적용하고 analytic null과 free 공간의 교집합만 제거한다.
Partial rotational BC를 full clamp로 대체하지 않고 finite constrained spectrum을 유지한다.
Positive nodal mass space를 whitening하고 sparse symmetric 문제를 FEAST에 전달한다.
@@ -41,6 +44,9 @@ HDF5는 `schema_version=0`, `eigen_schema_version=1`, procedure `linear-frequenc
Constrained 성분은 exact zero이고 sign은 최대 scaled global component의 stable rule로 정한다.
Raw 작은 음수 lambda를 clamp하지 않는다. Frequency는 lambda>=0 mode subset만 생성한다.
`verification`에는 전체 c개 residual·Gram·null 검사와 backend call/control evidence를 보존한다.
실제 선택은 `/metadata`의 `mitc4_drilling_formulation`과 U64LE
`drilling_diagnostics_version=1`에 기록한다. Eigen에는 평형 frame이나 가상 drilling
moment dataset을 만들지 않는다. Typed 비교 report의 진단 frames도 빈 배열이다.
| 원본 | 비교 계약 |
| --- | --- |
@@ -69,10 +75,16 @@ Domain→local K/M→ordered assembly→reduced solve→global phi 복원→all-
## 실제 evidence와 미해결 범위
2026-10-20 source `6bbbb2b`의 두 방식 별도 실행에서 정식10-mode 생성·비교를 통과했고
실제 eigen table은 정확히 같았다. 전체 Debug Native/CTest는 각각1035개 중
1024 PASS·기존10 FAIL·1 INCONCLUSIVE SKIP이다. 해당 Value 비교 통과와 전체 물리 검증을 구분한다.
2026-09-10 사용자 승인 첫 구현에서 전체 417/417 PASS와 원본 10 Value의 모드별5% 통과 기록이 있다.
최대 외부 상대차는 약 `4.261331%`다. 이전 RMS1% 불일치 이력은 소급 PASS로 고치지 않는다.
이 기록은 당시 revision의 evidence이며 이번 문서 정리는 새 build/test를 실행하지 않았다.
Rational mass oracle·Jensen energy·좌표 재계산 공변성·density scaling·all-c 실패 주입이 보완 근거다.
S3 public static 평형 충돌과 Abaqus Value 정확도 개선은 후속 보류다.
S3 partial-BC의 public static은 직접 방식에서 인공 모멘트 차감 후 기존 gate를 통과한다.
기존 방식의 raw gate 실패는 명시적 검사로 보존했다. 이는 partial BC를 full clamp로
바꾸거나 Value 허용치를 완화한 해결이 아니다. Abaqus Value 정확도 개선은 후속 보류다.
실제 512회 vendor 호출 또는 실제 HDF5 close-error의 모든 조합을 주입한 것은 아니다.
Retained shell/shellNL 회귀와 내부 검증 의무를 유지하며 `reference/temp` 제외 예제를 재사용하지 않는다.
@@ -136,7 +136,14 @@ spectrum·static response의 공변성을 검증한다. 다른 BC를 같은 문
여섯 물리 rigid modes는 양의 mass를 갖는다. Pure numerical drill `[0;di]`는 mass=0,
stiffness>0이다. Linear UR에 full spatial Omega를 넣는 field와 이 physical 대표값을 구분한다.
## S2. 비선형 objective potential과 고정 scale
## S2. 비선형 drilling 선택과 고정 scale
2026-10-20 현재 기본값은 초기 global 단위 director `d_i0`를 사용한 직접 스프링이다.
`gamma_i=d_i0·phi_i`, `Pi_d=0.5*kd*sum(gamma_i²)`,
`r_i=kd*gamma_i*d_i0`, `K_ii=kd*d_i0*d_i0^T`이며 병진·절점 간 coupling은0이다.
Drilling polar/swing/atan2를 평가하지 않고 유한 강체 회전의 인공 모멘트를 허용한다.
S1의 초기 scale과 mass null은 유지한다. 원형상 선형/eigen block은 두 방식에서 같다.
다음 objective 유도는 선택 가능한 기존 상대 비틀림 방식에 한정한다.
기존 [nonlinear 정식화 §10](../nonlinear-static-newton-raphson/formulation.md)의 polar
corotation, total nodal rotation, minimal swing 및 objective `gamma_i=atan2(s_i,c_i)`를
@@ -148,7 +155,9 @@ corotation, total nodal rotation, minimal swing 및 objective `gamma_i=atan2(s_i
K_d=k_d\left(D_\gamma^TD_\gamma+\sum_i\gamma_iD^2\gamma_i\right). \tag{S2}
\]
Polar/swing/atan2의 미분과 branch validation을 생략하지 않는다. Trial마다 scale을 바꾸지 않는다.
기존 방식에서는 polar/swing/atan2의 미분과 branch validation을 생략하지 않는다.
현행 구현의 polar1과 미분 정확도 실패를 보존하며 과거 polar12로 복원하지 않는다.
두 방식 모두 trial마다 scale을 바꾸지 않는다.
일반 nonlinear Hessian 전체의 SPD는 주장하지 않는다. 초기에도 Dgamma는 corotation coupling을
포함하므로 linear Td와 동일시하지 않는다. 기존 physical 선형극한, directional residual/Hessian,
objective rigid orbit·state rollback을 검증한다. 새 eigen에는 이 nonlinear state를 전달하지 않는다.
@@ -173,3 +182,7 @@ Static 대응 load는 node1의 tangent moment `m=(5/3)M0 b`, 다른 load=0이다
`d·m=0,mZ=M0`; `theta1Z=M0/Kff`, full residual `r=Kq-F`다.
회전 뒤 `m'=Qm`을 사용한다. Pure global eZ moment는 drilling 성분 때문에 기존 load
계약에 부합하지 않는다. Eigen의 constrained residual을 static reaction으로 출력하지 않는다.
2026-10-20 현재 이 static 사례의 직접 방식은 별도 인공 spatial 모멘트를 차감한 기존
gate를 통과하고, 기존 방식은 raw gate에서 계속 거부된다. S3의 K/M/lambda target이나
partial BC를 바꾼 결과가 아니며 Value 비교 예외를 정적 평형에 적용하지 않는다.