Files
FESADev/docs/hht-implicit-dynamics/formulation-c08b-newton-research-20261012.md
T
2026-10-18 14:32:55 +09:00

12 KiB
Raw Blame History

C08b Newton 잔차 재정식화 후보

읽기 구분: 2026-10-12 full-coordinate C08b의 잔차 후보 연구다. 아래 현재·기존·미해결은 연구 당시의 상태이며 이 후보 전체의 채택을 뜻하지 않는다. 현재 Newton·graph 경로는 축소 좌표·고정 null 기저, 검증 상태는 기능 요약을 따른다.

작성 당시 상태: 연구 후보이며 production 채택·수치 정확도 승인이 아니다. 2026-10-12 formulation owner 작업은 이 문서만 소유한다. 질량·시간적분·내력·초기화·tolerance·원본을 바꾸지 않는다. 독립 numerical review와 실제 prototype 결과는 별도 owner가 소유한다.

계약: 기존 정식화, 관성·null 상세 §4, ADR-010/012. 조사 당시 원자료 analysis.json의 실제 trial 수치를 근거로 하며 아래 기전 설명은 그 수치를 바탕으로 한 조사 후보이다. 현재 README는 원자료 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로 재분류하지 않았다.