119 lines
11 KiB
Markdown
119 lines
11 KiB
Markdown
# C08b Newton 잔차 재정식화 후보
|
||
|
||
상태: 연구 후보이며 production 채택·수치 정확도 승인이 아니다. 2026-10-12 formulation owner 작업은 이 문서만 소유한다. 질량·시간적분·내력·초기화·tolerance·원본을 바꾸지 않는다. 독립 numerical review와 실제 prototype 결과는 별도 owner가 소유한다.
|
||
|
||
계약: [기존 정식화](../../docs/hht-implicit-dynamics/formulation.md), [관성·null 상세 §4](../../docs/hht-implicit-dynamics/formulation-inertia.md#4-mass-null과-초기-일관성), [ADR-010/012](../../docs/hht-implicit-dynamics/ADR.md). 실제 trial은 [analysis.json](analysis.json)에 있으며 아래 기전 설명은 그 수치를 바탕으로 한 조사 후보이다.
|
||
|
||
## 1. 적용 가정과 보존량
|
||
|
||
우선 대상은 9 nodes, 54 DOFs가 모두 free인 C08b 평판 fixture이다. 절점 순서는 기존 source identity이며 각 node의 좌표는 `q_i=(u_x,u_y,u_z,phi_x,phi_y,phi_z)`다. 시간별 미지수는 total rotation chart의 `q`; `v(q),a(q),A(q)`는 기존 HHT/Newmark 종속량이다. Director는 `d=exp([phi]x)d0`, `B=D_phi d=-[d]x J_l`이며 `|phi|<pi`와 모든 기존 geometry 조건을 유지한다.
|
||
|
||
채택한 nodal kinetic mass는 rank 5/node이며 inertia covector는 `I=M(q)a+c(q,v)`다. Physical/drilling energy, constitutive law, quadrature, force sign 및 recovery는 그대로 유지한다. 아래 식의 `K_int`는 physical와 numerical drilling을 모두 포함한다. C08b의 force는 0이며 follower/시간변화 force가 없다.
|
||
|
||
Endpoint 방정식과 정확한 total derivative를 정의한다.
|
||
|
||
\[
|
||
E(q)=I(q,v(q),a(q))+g(q),\qquad g=f_{int}-F,
|
||
\]
|
||
\[
|
||
K_{eff}=D_qE=K_{int}+D_qI+\frac{\gamma}{\beta h}D_vI+
|
||
\frac{M}{(1+\alpha)\beta h^2}.
|
||
\]
|
||
|
||
`E_u`는 force, `E_phi`는 force·length이다. `phi`는 rad, `v_phi,a_phi`는 각각 1/time, 1/time²이다. 새 equation은 회전 residual의 단위를 바꾸지 않는다.
|
||
|
||
## 2. Moving null 미분과 raw Newton 약화의 후보 기전
|
||
|
||
각 node에 대해 rotational null과 단위 null을 정의한다.
|
||
|
||
\[
|
||
\nu_i=J_l(\phi_i)^{-1}d_i,\qquad
|
||
n_i=\nu_i/|\nu_i|,\qquad
|
||
N_i=[0;n_i]
|
||
\]
|
||
|
||
`N`의 열은 서로 다른 node에만 지지하므로 all-free fixture에서는 orthonormal이다. `B_i nu_i=0`, `M N=0`, `N^T I=0`는 같은 state의 kinetic mapping에서 성립한다. 임의 방향 `p`에 대한 analytic derivative는
|
||
|
||
\[
|
||
D\nu_i[p]=J_l^{-1}\{B_i p_{\phi i}-DJ_l[p_{\phi i}]\nu_i\},
|
||
\]
|
||
\[
|
||
Dn_i[p]=\frac{(I_3-n_in_i^T)D\nu_i[p]}{|\nu_i|}.
|
||
\]
|
||
|
||
Translation 방향은 `Dn=0`이다. 작은 각에서는 기존 analytic series를 사용한다. Null 부호를 매 평가마다 임의 뒤집거나 unnormalized null의 미분을 unit null에 그대로 사용하지 않는다. `psi` 자체를 다시 scaling/normalization하면 그 configuration derivative도 필요하다.
|
||
|
||
연속 대수 residual은 `psi=N^T g`이고 `N^T E=psi`이다. 이 identity를 HHT trial mapping을 포함해 미분하면
|
||
|
||
\[
|
||
\boxed{N^T K_{eff}=D\psi-(DN)^TE.}
|
||
\]
|
||
|
||
따라서 큰 off-root `E`에서는 `-(DN)^T E`가 실제 algebraic derivative `Dpsi`를 상쇄할 수 있다. 이것은 정확한 raw Jacobian 자체에서도 가능한 Newton conditioning 기전이며, 위 identity가 검증됐다고 kernel bug가 증명되는 것은 아니다.
|
||
|
||
Newton 시작을 `q_n`으로 두면 `q_n-q_p=O(h)`이며 `A=(q-q_p)/(beta h²)`는 일반적으로 `O(1/h)`인 시험 가속도를 만든다. 이것은 accepted acceleration이 발산했다는 뜻이 아니다. 작은 h에서 off-root inertia residual과 moving-null connection 항이 커질 수 있는 한 경로다. 현재 inc56의 큰 null correction은 이 경로와 일치하는 후보 evidence이며 최종 인과 판정은 독립 numerical owner가 수행한다.
|
||
|
||
## 3. 같은 endpoint root를 갖는 정확한 잔차 후보
|
||
|
||
`P`는 각 node의 `ux,uy,uz,phi_x,phi_y` equation을 선택하는 고정 45×54 matrix이다. 이는 coordinate row 선택이지 positive-mass 공간으로의 직교 projector가 아니다. 다음 54 equations를 푼다.
|
||
|
||
\[
|
||
\boxed{\mathcal F(q)=\begin{bmatrix}PE(q)\\\psi(q)\end{bmatrix},\qquad
|
||
\mathcal J(q)=\begin{bmatrix}P K_{eff}(q)\\D\psi(q)\end{bmatrix}.}
|
||
\]
|
||
\[
|
||
\boxed{D\psi[p]=(DN[p])^Tg+N^TK_{int}p.}
|
||
\]
|
||
|
||
현재 고정 force에서는 위 식이 정확하다. Configuration-dependent external force를 지원하는 다른 계약에서는 `K_int`를 `Dg=K_int-D_qF`로 바꿔야 하며 현재 후보의 지원 범위를 자동 확대하지 않는다. Prototype의 finite difference derivative는 위 analytic 식의 독립 검증용이며 production derivative 채택이 아니다.
|
||
|
||
`T(q)=[P;N(q)^T]`라 두면 `mathcal F=T E`이다. 현재 선택에서는 각 `n_i,z != 0`가 필요하고 충분한 가역 조건이다. 유효한 지역에서
|
||
|
||
\[
|
||
\mathcal F=0\iff E=0.
|
||
\]
|
||
|
||
보존되는 것은 정확한 root 집합이다. Root 근처에는 `mathcal J=T K_eff`; off-root에는 null rows에 `(DN)^T E`가 추가되므로 Newton correction은 달라진다. 단순한 row preconditioning `T K_eff delta=-T E`는 가역 T 아래 raw correction과 같아 이 후보 효과를 만들지 못한다.
|
||
|
||
후보는 `mathcal J delta q=-mathcal F`, `q<-q+delta q`의 full Newton이다. 차분 tangent나 frozen null 미분을 생략한 modified Newton으로 해석하지 않는다. 대수 row는 artificial mass·drill torque·물리 damping을 추가하지 않는다. 다만 기존 `E`에 대한 full Newton에서 다른 nonlinear residual에 대한 full Newton으로 iteration 정책이 바뀌므로 ADR-010의 명시 계약과 별도 채택 경계가 필요하다.
|
||
|
||
가역성이 충분히 유지되고 같은 지역 root로 수렴한 경우 discrete endpoint/history는 기존 방정식의 해다. Multiple roots와 branch selection이 있는 비선형 문제에서는 root 집합 동일성이 같은 branch 선택까지 보장하지 않는다.
|
||
|
||
## 4. Scaling·판정·state update
|
||
|
||
정확한 arithmetic에서 nonsingular constant row/column scaling은 correction을 바꾸지 않지만 floating-point conditioning은 달라진다. Translation과 rotation의 단위가 다르므로 raw unscaled condition number의 절댓값을 보편적 물리 기준으로 사용하지 않는다. Existing scale-aware 검사와 numerical review의 dimensionless 분석을 병행한다.
|
||
|
||
매 linear solve에서 `W mathcal J C y=-W mathcal F`, `delta q=C y`와 같이 같은 W/C를 적용하는 algebraic scaling은 허용 연구이다. 이를 `W(q) mathcal F(q)`라는 새 nonlinear residual로 정의하면 `DW·mathcal F`가 정확한 derivative에 필요하다. 두 해석을 혼합하지 않는다. Null normalization derivative는 위 §2처럼 포함한다.
|
||
|
||
성공은 기존 **raw E residual, translation/rotation correction, chart/geometry, finite quantities, history/recovery gates**로 판정한다. `psi`만 작거나 transformed residual만 작다고 accept하지 않는다. 동일 trial에서 `v,a,A`를 재계산하고 기존 accepted frame identity에 맞춰 commit한다. 실패 trial은 폐기하며 history와 final output을 보존한다. Rechart·clamp·cutback·mass shift는 없다.
|
||
|
||
## 5. 일반 mesh와 부분 BC 경계
|
||
|
||
Element assembly 후에도 같은 nodal director/null convention으로 `N^T I=0`를 확인해야 한다. Mesh 연결로 새 unconstrained inertia null이 생기거나 geometry/rank 조건이 깨지면 현 후보의 nodal-rank 가정이 성립하지 않는다.
|
||
|
||
Zero fixed BC에서는 full variation을 `delta q=L delta q_f`로 놓는다. 필요한 basis는 `ker(M_ff)`의 **실제 admissible null**이며 nodal null에서 constrained 성분을 단순 제거한 벡터가 아니다. Current nodal block mass에서는 node의 constrained rotational component 중 null 성분이 하나라도 nonzero이면 그 nodal null은 free space에 속하지 않는다. Translation BC만으로는 rotational null이 제거되지 않는다. 이 구분은 chart에 따라 달라질 수 있어 support interval의 constant rank를 확인해야 한다.
|
||
|
||
General case는 `E_f=L^T E`, `N_f^T E_f=psi_f`, `T_f=[P_f;N_f^T]`가 가역인 local coordinate selection을 정의해야 한다. `Dpsi_f`에는 free-coordinate null derivative가 들어간다. 동적 null basis 선정/rank threshold/pivot 전략은 이번 all-free 고정-P probe로 승인되지 않는다.
|
||
|
||
현재 `phi_z` 제외 방식은 flat fixture의 `|n_z|`가 0에서 멀다는 조건에 한정한다. 일반 유한회전 mesh에서는 가장 큰 null 성분에 대응하는 coordinate row를 빼는 선택이 가능하지만, 결정적 pivot과 전환 시 local smoothness·conditioning을 독립 검토해야 한다. Silent fallback으로 `phi_z`를 항상 drilling coordinate라고 가정하지 않는다. Time-varying BC는 현재 제외된 범위이다.
|
||
|
||
## 6. 다른 후보와 조사 순서
|
||
|
||
| 후보 | 바뀌는 내용 | 조사상 의미와 한계 |
|
||
| --- | --- | --- |
|
||
| 본 `PE/psi` 정확 Newton | off-root algebraic equations의 linearization | Moving-null connection으로 인한 raw row 약화를 직접 분리. Endpoint physics/time scheme는 보존하나 nonlinear iteration 정책 채택 필요 |
|
||
| Predictor 시작 | 첫 trial만 `q_n` 대신 extrapolated q 사용 | Off-root inertia를 줄일 수 있으나 원본 h=.1의 invalid geometry가 ADR-010의 채택 이유였다. 모든 지원 입력의 유효성 확인 없이는 전역 변경 불가 |
|
||
| Line search/trust region | Newton step 크기 선택·trial sequence | Chart 이탈을 피할 수 있으나 이미 conditioning이 나쁜 방향의 구조를 직접 없애지 않는다. 단위에 맞는 merit function, trial rejection 및 기존 정책 변경 결정 필요 |
|
||
| Physical/null condensation | reduced unknowns 또는 nested algebraic solve | `psi_q N` regularity와 implicit-function branch를 검증해야 한다. Moving basis derivatives·BC 처리가 필요하며 단순 raw matrix Schur solve는 원 correction을 바꾸지 않음 |
|
||
| Rate/acceleration constraint recovery | discrete history 또는 별도 출력 | C08a/C08b 시간정확도 문제와 연결되지만 현재 runtime Newton 후보와 별도 문제. ADR-011의 미채택 recovery를 자동 승계하지 않음 |
|
||
|
||
## 7. 필수 반증과 미해결 결정
|
||
|
||
1. 동일 실패 직전 state에서 `N^T I=0`, `N^T K_eff=Dpsi-DN^T E`, `Dpsi` directional FD와 null derivative를 독립 검증한다. 물리/director-null·numerical drill contribution을 구별한다.
|
||
2. `T`의 가역성, raw/변환 residual root 동등성, scaled conditioning과 linear backward error를 대조한다. Near-root 두 Newton correction의 차이가 residual과 함께 줄어드는지 확인한다.
|
||
3. 동일 start/h/coefficients/iteration cap/strict gates에서 fixture의 실패 증분과 전체 5 grids를 비교한다. Physics/reference tolerance나 accepted chart를 완화하지 않는다.
|
||
4. C08a 및 C08b의 q/v/physical-a 시간정확도·hidden1/hidden2·energy/momentum을 별도로 판정한다. Runtime 완료만으로 이 항목들을 PASS로 바꾸지 않는다.
|
||
5. Production 채택에는 independent review, all-free 이외 실제 BC/mesh 지원 범위 검증, original reference·affected regression, ADR-010과의 algorithm 계약 결정이 남는다. 본 문서는 그 승인이나 수치 통과를 하지 않는다.
|
||
|
||
본 owner는 자체 수식 유도와 기존 계약 대조만 수행했다. Build/test/solver 실행은 하지 않았고, 기존 JSON의 수치를 새 통과 evidence로 재분류하지 않았다.
|