1.8 KiB
Procedure와 상태 수명
Analysis는 준비된 Domain을 procedure별로 실행하고 equation·backend·trial·commit·recovery를 조정한다. Concrete HDF5 layout이나 vendor handle을 공개 state에 저장하지 않는다.
-
AnalysisModel은 Domain의 non-owning view다. State에는 해당 procedure가 실제 사용하는 mutable 해와 recovery만 둔다. 새 procedure를 static lifecycle의 조건문으로 누적하지 않는다.
-
Linear static은 Kff factorization 뒤 load assembly, effective RHS, full 해와 residual 복구를 수행한다. Empty free를 singular로 오인하지 않는다.
-
Nonlinear/HHT는 trial을 committed state/history와 분리한다. 수렴·finite·recovery 검증을 모두 마친 candidate만 반영하고 실패한 trial의 일부 값이 history에 남지 않게 한다.
-
HHT physical a, auxiliary A, 공간 angular acceleration을 구분하고 승인된 lumped kinetic mass·analytic null·부분구속 의미를 유지한다. 시간수렴 실패를 기준 완화로 숨기지 않는다.
-
Frequency reduction은 null/finite 공간과 공개 mode 수·내부 검증 수를 구분한다.
-
초기화, nonzero BC, all-constrained, 증분·반복 종료 경계, 실패 보존, temporal convergence, 반복 결정론과 backend failure를 검증한다. 한 reference의 U 일치로 모든 physics를 통과시키지 않는다.
-
공통 AnalysisProcedure 선택과 family별 typed outcome을 유지한다. EquilibriumAlgorithm은 iteration만 조정하고 typed candidate는 procedure-local EquilibriumStep이 소유한다. Static1/HHT0 시작·inclusive endpoint와 실패 보존을 유지한다.
-
ShellHhtIntegrator는 predictor/rate 복원만 담당한다. Chart/root/solver/callback은 borrowed call view이며 출력 rate buffer는 입력·서로와 alias하지 않는다. Accepted history는 소유하지 않는다.