eaa5cbeb21
Integrate Hex8 mass verification and fixed-null-basis shell dynamics with numerical and physics handoff evidence. Preserve interrupted reference and full-validation status; full integration validation is deferred until after performance optimization.
508 lines
47 KiB
Markdown
508 lines
47 KiB
Markdown
# HHT 연구 근거와 수치 설계
|
||
|
||
2026-10-11 질량 정책 변경: [HHT-ADR-012](ADR.md)에 따라 현재 고유치·HHT는 lumped mass를 사용한다. 아래 consistent 질량을 전제로 한 수식 후보·검토·PASS/FAIL은 해당 시점의 이력이다. 변경본 통과로 승계하지 않으며 현재 수식은 [formulation](formulation.md), 재검증 상태는 [PRD](PRD.md)의 현재 checklist를 따른다.
|
||
|
||
2026-10-12 후속 조사: [C08 시간 정확도·P 감소 실패 해결 후보](#temporal-remediation-research)는
|
||
현행 lumped mass·HHT-ADR-013 변경본의 evidence를 대상으로 한다. 해결 후보의 조사이며
|
||
새 적분법·startup·수치 기준의 채택 또는 solver 변경 승인이 아니다.
|
||
|
||
|
||
|
||
<a id="research"></a>
|
||
|
||
<a id="research--hht-implicit-dynamics-연구-근거"></a>
|
||
## HHT implicit dynamics 연구 근거
|
||
|
||
- Feature: `hht-implicit-dynamics`
|
||
- Date: `2026-09-22`
|
||
- Status: `Research evidence; formulation and acceptance not approved`
|
||
- 기준: [프로젝트 지침](../../AGENTS.md), [PRD](../PRD.md), [ARCHITECTURE](../ARCHITECTURE.md), [ADR-028](../ADR.md#adr-028).
|
||
|
||
조사 범위는 HHT 계수·평형식 후보, reference 입력의 공개 의미, shell 관성의 적용 한계와
|
||
검증 후보다. 코드·reference·상위 계약을 변경하지 않았다. 아래 **사실**은 열람한 자료,
|
||
**도출/추론**은 명시한 가정에서의 계산, **공백**은 후속 owner가 결정·검증할 항목이다.
|
||
Abaqus 자료는 공개 입력·출력 의미를 해석하는 근거이며 내부 알고리즘 동등성의 목표가 아니다.
|
||
후속 사용자 결정으로 이번 HHT 구현의 질량은 consistent mass로 확정되었다.
|
||
아래 lumped 비교·검증 후보는 연구 이력이며 현재 지원 요구에서 제외한다.
|
||
|
||
<a id="research--1-결론과-결정-후보"></a>
|
||
### 1. 결론과 결정 후보
|
||
|
||
| 질문 | 근거와 결론 | 후속 결정 경계 |
|
||
| --- | --- | --- |
|
||
| HHT 계수 | 원래 음수 alpha 관례의 표준 후보는 `-1/3 ≤ alpha ≤ 0`, `gamma=1/2-alpha`, `beta=(1-alpha)^2/4`다. `alpha=0`이면 평균가속도 Newmark다. [S1](research.md#research), [S2](research.md#research) | beta/gamma 독립 입력을 허용할지, 기본 alpha와 허용 범위는 requirement/formulation에서 확정 |
|
||
| 안정성 | 선형 안정성은 큰 dt의 정확도, 비선형 Newton 수렴 또는 임의 유한회전 에너지 안정성을 보장하지 않는다. [S3](research.md#research), [S8](research.md#research) | 시간 수렴과 반복 수렴 evidence를 별도로 지정 |
|
||
| reference 하중 | 무접촉 기본 application은 transient fidelity이고 무 amplitude 하중은 STEP이다. 공개 기본 계수는 `(-0.05,0.275625,0.55)`다. [S4](research.md#research), [S5](research.md#research) | FESA의 지원 의미와 첫 시점 하중/초기 가속도 계약을 명시 |
|
||
| shell mass | 현재 eigen의 consistent 원본·derived nodal lumping·drilling null은 재사용 검토 근거다. [L1](research.md#research) | 후속 사용자 결정: shell 속도 보간의 운동에너지를 그대로 적분하는 consistent mass 채택; lumped는 이번 지원 요구에서 제외 |
|
||
| reference coverage | 작은 변위, 성긴 dt, 9개 절점 U/UR만 확인한다. 큰 회전·가속도·에너지 검증은 부족하다. | 아래 독립 검증 후보와 함께 사용 |
|
||
|
||
<a id="research--2-hht-이론-및-잔차-후보"></a>
|
||
### 2. HHT 이론 및 잔차 후보
|
||
|
||
**사실.** S1은 HHT 원논문의 서지·초록을 확인한 근거이고, 이번 열람에서는 본문 PDF가
|
||
초록 페이지로 이동했다. 계수 관계는 공식 S2 §4.11.1.3에서 교차 확인했다.
|
||
위 표의 결합 계수는 선형 문제에 대해 널리 쓰이는 2차 정확도·무조건 안정성의 충분한
|
||
선택이다. 이를 beta/gamma 자유 조합의 필요충분조건으로 주장하지 않는다.
|
||
특히 `beta>0`, `gamma≥1/2`만으로 HHT 안정성을 인증할 수 없다.
|
||
`alpha=0`과 위 결합 관계를 함께 적용해야 `beta=1/4`, `gamma=1/2`가 된다. [S1, S2]
|
||
|
||
**도출: 일정 M,C, 가산 변위 좌표, 외력 f(t) 후보에 한정.**
|
||
`g(q,v,t)=f_int(q)+Cv-f(t)`로 두면 force-weighted 후보는 다음과 같다.
|
||
|
||
\[
|
||
R_{n+1}=M a_{n+1}+(1+\alpha)g_{n+1}-\alpha g_n=0,
|
||
\]
|
||
\[
|
||
q_{n+1}=q_n+h v_n+h^2[(1/2-\beta)a_n+\beta a_{n+1}],\qquad
|
||
v_{n+1}=v_n+h[(1-\gamma)a_n+\gamma a_{n+1}].
|
||
\]
|
||
|
||
Newmark 운동학을 대입하고 `q_(n+1)`로 미분하면 Newton 후보는
|
||
|
||
\[
|
||
K_{eff}=\frac{M}{\beta h^2}+(1+\alpha)\frac{\gamma}{\beta h}C
|
||
+(1+\alpha)K_t,\qquad K_{eff}\Delta q=-R.
|
||
\]
|
||
|
||
이는 S2/S3의 계수·선형 유효강성 관계와 대조할 **독립 미분 결과**이며 채택 정식화가 아니다.
|
||
Follower load라면 외력의 configuration 미분, 상태 의존 감쇠·질량이라면 해당 미분과 관성항이
|
||
추가된다. `f_int((1+alpha)q_(n+1)-alpha q_n)`와
|
||
`(1+alpha)f_int(q_(n+1))-alpha f_int(q_n)`는 비선형에서 일반적으로 다르다.
|
||
외력도 endpoint 가중인지 중간시각 평가인지 고정해야 한다. 선형 force/displacement weighting의
|
||
동등성을 비선형으로 확장하거나 서로 다른 자료의 부호 관례를 혼합하면 안 된다.
|
||
|
||
**사실/주의.** S3는 `alpha=1`을 Newmark로 사용하는 별도 관례다. 제시된 beta/gamma와
|
||
endpoint를 대조하면 본 문서 관례와의 관계는 `alpha_OpenSees=1+alpha`다.
|
||
그 페이지의 변환식 설명은 이 endpoint와 부호상 충돌하므로 그 한 문장을 그대로 사용하지 않는다.
|
||
Abaqus 공개 허용범위 `[-1/2,0]` 및 moderate-dissipation 기본값을 원 HHT의
|
||
`[-1/3,0]` 표준 후보와 혼동하지 않는다. [S3, S4]
|
||
|
||
**추론.** HHT의 algorithmic damping은 h와 진동주기에 의존하는 이산화 효과다.
|
||
재료·점성 감쇠 `C` 또는 Rayleigh 계수의 물리 모델과 별개이며, 알고리즘 alpha를
|
||
질량비례 감쇠 계수로 사용하면 안 된다. 정밀한 선형 무감쇠 문제에서 alpha=0은
|
||
에너지 보존 검증 후보이나, 비선형에서 같은 결론을 자동 적용할 수 없다. S8은
|
||
Newmark 계열의 비선형 에너지·각운동량 보존 한계를 직접 다룬다.
|
||
|
||
<a id="research--3-reference-입력의-공개-의미"></a>
|
||
### 3. reference 입력의 공개 의미
|
||
|
||
**사실: Abaqus 2025 문서 기준.** 버전 metadata를 reference readiness의 추가 조건으로
|
||
요구하지 않는다. 아래 기본값을 기존 CSV에서 역으로 식별했다는 주장도 하지 않는다.
|
||
|
||
| 입력 | 공개 의미 및 출처 |
|
||
| --- | --- |
|
||
| `*Dynamic,direct` / `0.1,10.` | 데이터 첫 항목은 dt, 두 번째는 step 기간이다. Contact impact/release가 없는 DIRECT는 고정 dt이므로 이 모델에서는 100 increment 후보다. `DIRECT=NO STOP`은 별도 옵션이며 현재 입력에는 없다. [S4: DIRECT, Data line] |
|
||
| application/alpha 미지정 | 무접촉 기본 `TRANSIENT FIDELITY`, `HHT-TF`; Table 1의 alpha/beta/gamma는 `-0.05/0.275625/0.55`. [S4: APPLICATION; S5: Additional Control over Integrator Parameters] |
|
||
| amplitude 미지정 | 이 application은 STEP, quasi-static은 RAMP 기본이다. STEP은 step 시작부터 지정 크기이며 첫 increment 길이에 비례해 축소되지 않는다. [S5: Default Amplitude for Loads; S6: AMPLITUDE] |
|
||
| `NLGEOM=YES` | 기하 비선형 고려를 요청한다. 관측 응답이 실제로 큰 변형이라는 뜻은 아니다. [S6: NLGEOM] |
|
||
| `inc=1000` | increment 수 상한이다. Newton 반복 수나 dt 개수가 아니다. [S6: INC] |
|
||
| `*Cload`, no `FOLLOWER` | 일반 집중력 지정이며 FOLLOWER가 있으면 nodal 회전을 따라 방향이 변한다. 본 INP에는 TRANSFORM도 없다. [S7: AMPLITUDE, FOLLOWER] |
|
||
| no initial acceleration override | transient fidelity는 step 시작 가속도 계산이 기본이다. 초기조건 keyword가 없다는 이유로 가속도를 모두 0으로 놓을 근거는 아니다. [S5: Controlling Calculation of Accelerations at the Beginning of a Dynamic Step] |
|
||
|
||
**도출/공백.** 일정 질량의 독립 연속문제라면 초기 평형은
|
||
`M a(0+) = f(0+) - f_int(q0) - C v0`다. 실제 FESA에는 구속 분할과 mass-null
|
||
조건을 함께 적용해야 한다. STEP의 `0-`/`0+`, 저장 frame 0의 상태, 첫 HHT old-force
|
||
history와 가속도 초기화의 결합은 formulation/I/O owner가 명시해야 한다.
|
||
공개 STEP 문구와 U/UR CSV만으로 Abaqus의 첫 residual history 생성 절차는 확인할 수 없다.
|
||
초기 U/UR=0은 초기 a=0의 증거가 아니다.
|
||
|
||
<a id="research--4-shell-mass와-유한회전-관성"></a>
|
||
### 4. shell mass와 유한회전 관성
|
||
|
||
**사실: 기존 FESA 계약.** [L1](research.md#research)의 M1–M7은 작은 회전의
|
||
`v=H q_dot`, `M_C=integral rho H^T H dV`와 scalar thickness-moment 기반
|
||
nodal block lumping을 정의한다. 일반 global-component row sum이 아니다.
|
||
Consistent와 lumped는 총질량·uniform translation energy를 공유하지만 일반 속도장의
|
||
운동에너지·orbital inertia·고유치가 동일하지 않다. 기존 eigen 진단에서 consistent가
|
||
reference에 더 가깝다는 전달 결과는 조사 동기이며 동적 질량 채택의 증명이 아니다.
|
||
|
||
**도출: mass-null 좌표.** Director shell에서 `delta d=theta cross d`이고
|
||
`theta`가 `d`와 평행하면 director 속도가 0이므로 해당 drilling 성분에는 이 운동학의
|
||
물리 질량이 없다. Constant null basis `Z`에 `MZ=0`이면 반이산 방정식은
|
||
`Z^T(f_int-f_ext)=0`라는 대수조건을 포함한다(여기서는 C=0).
|
||
따라서 전체 M 역행렬로 초기 가속도를 구할 수 없어도 coupled effective system은
|
||
풀릴 수 있다. Stiffness가 null 좌표를 묶는지 별도로 확인해야 한다.
|
||
초기 대수조건을 무시하거나 작은 임의 질량을 넣어 해결하는 것은 원 모델과 다르다.
|
||
Basis가 configuration에 따라 회전하면 그 시간미분도 검토해야 한다.
|
||
|
||
**도출: 유한회전 공백.** 현재 공간으로 회전하는 director의 속도는 각속도로부터 구한다.
|
||
유한회전 파라미터의 단순 시간미분을 각속도와 동일시할 수 없다.
|
||
일반화 좌표에서 `T(q,q_dot)=1/2 q_dot^T M(q) q_dot`라면 관성력은
|
||
`d/dt(partial T/partial q_dot)-partial T/partial q`이며 단순 `M(q) q_ddot`보다
|
||
많은 항을 가진다. 반면 reference 보간이 고정된 병진 continuum에는 일정 질량이 가능하다.
|
||
따라서 “NLGEOM이면 질량을 반드시 매번 재조립”도 “초기 M 고정이면 모든 유한회전 지원”도
|
||
일반 명제가 아니다. 회전 좌표·inertial virtual work·gyroscopic 항·consistent tangent·
|
||
관성의 좌표 공변성을 선택한 shell 운동학에서 유도해야 한다. S8은 보존량 검증 필요성을 뒷받침한다.
|
||
|
||
**결정 후보.** 작은 회전의 일정 질량 동역학과 유한회전 shell 동역학을 구분하여 승인 범위를
|
||
정한다. 후자를 지원한다면 기존 비선형 static internal force에 초기 M만 더하는 방식을
|
||
독립적으로 정당화해야 한다. 이 문서는 mass 종류·drilling 처리·회전 적분을 채택하지 않는다.
|
||
|
||
<a id="research--5-현재-reference의-evidence와-한계"></a>
|
||
### 5. 현재 reference의 evidence와 한계
|
||
|
||
<a id="local-evidence"></a>
|
||
|
||
- **L1:** [기존 eigen mass 정식화](../mitc4-shell-feast-eigen2/formulation-mass-stabilization.md), M1–M7. 작은 변형 eigen 계약의 읽기 전용 근거다.
|
||
- **L2:** [원본 INP](../../reference/shellNL-dyn-meshfine/shellNL-dyn-meshfine.inp), [원본 CSV](<../../reference/shellNL-dyn-meshfine/shellNL-dyn-meshfine displacements.csv>). 실제 열람은 main checkout의 동일 상대 경로에서 수행했다. 이름·bytes를 변경하지 않았다.
|
||
|
||
**입력/CSV 사실.** 인계된 모델 inventory는 729 nodes/676 S4, 평판 10×10,
|
||
두께 0.5, `E=2.1e11`, `nu=.3`, `rho=2700`, 외곽 6 DOF 고정이다.
|
||
INP 끝부분에서 section·material·BC와 node 2를 담은 Set-1의 각 방향
|
||
`(-100000,-100000,-100000)` CLOAD, dynamic/step 옵션을 직접 대조했다.
|
||
CSV를 독립 집계하여 909 rows, 101 frames, 9 labels
|
||
`[2,21,22,69,70,165,309,442,586]`, 최대 `|U3|=4.91895989e-5`를 확인했다.
|
||
Frame은 increment 0–100/time 0–10, instance는 `PART-1-1`이고 비교 성분은 U/UR다.
|
||
V/A/energy/reaction은 이 CSV에 없다.
|
||
|
||
**계산/추론.** `max|U3|/t=9.83791978e-5`이므로 관측 횡변위는 작은 편이다.
|
||
메인이 동일 node/connectivity map을 대조한 [eigen reference](<../../reference/shellNL-eigen-meshfine/shellNL-eigen-meshfine eigenvalues.txt>)의 `f1=74.567 cycles/input-time`을
|
||
사용하면 `T1≈0.01341076 input-time`, `dt/T1=7.4567`이다. 이 f1은 이번 조사에서
|
||
재계산하지 않았다. SI 단위 선언은 확인되지 않아 Hz로 단정하지 않는다.
|
||
0.1 간격 시계열은 이 첫 모드 주기조차 해상하지 못하며 Nyquist 주파수도
|
||
`5 cycles/input-time`뿐이다. 기존 CSV 일치가 transient phase 정확도나 dt 수렴의 근거가 될 수 없다.
|
||
중앙 U3는 t=.1의 `-4.91895989e-5`와 t=.2의 `-7.04349895e-6`처럼 교대로 변동하며
|
||
감쇠하는 양상이므로 작은 변위라는 이유로 quasi-static 결과라고 분류하지 않는다.
|
||
`NLGEOM=YES`와 작은 횡변위만으로 모든 회전 크기를 단정하지 않되, 이 사례가 큰 회전
|
||
관성항을 충분히 자극한다는 evidence는 없다. Reference의 기존 `U1/U2/U3` blocking,
|
||
`UR1/UR2/UR3` warning-only 분류를 보존한다. Numerical Review는 이 분류와
|
||
[공통 tolerance 정책](../TOLERANCE.md) 안에서 구체적인 family와 mapping을 확정한다.
|
||
|
||
<a id="research--6-독립-검증-후보-및-공백"></a>
|
||
### 6. 독립 검증 후보 및 공백
|
||
|
||
아래는 **검증 설계 후보**이며 실행·통과 기록이 아니다. 허용오차와 영속 schema는 정하지 않는다.
|
||
|
||
| ID | 후보 evidence | 검출할 오류/한계 |
|
||
| --- | --- | --- |
|
||
| HHT-E01 | 선형 SDOF 자유진동 `q=q0 cos(omega t)+(v0/omega)sin(omega t)`, `omega=sqrt(k/m)` | U/V/A 위상·진폭, 초기 가속도·단위 |
|
||
| HHT-E02 | alpha=0 무감쇠 선형 자유진동의 Newmark 비교와 `E=(mv²+kq²)/2` | alpha 부호, 운동학 update, 선형 에너지 보존; 비선형 보존으로 확대 금지 |
|
||
| HHT-E03 | Step force, zero U/V: `q=(F/k)(1-cos(omega t))`, `a(0+)=F/m`; 별도 smooth forced case | STEP/RAMP 혼동, 0+/old force, 외력 weighting; 불연속 onset과 smooth 구간 수렴을 분리 |
|
||
| HHT-E04 | 독립 3×3 amplification matrix/주파수 sweep, alpha=0 및 음수 alpha | 저주파 위상오차와 고주파 algorithmic damping; 물리 damping과 분리 |
|
||
| HHT-E05 | 같은 종단시각에서 h,h/2,h/4 및 충분히 수렴한 nonlinear solve | 이산화 수렴과 Newton 수렴 분리; smooth 문제의 2차 거동 후보 |
|
||
| HHT-E06 | `M=diag(m,0)`, coupled symmetric K에서 대수좌표 제거한 SDOF와 full solve 대조; 일관/불일관 초기조건 | mass-null 좌표, drilling 부하, 임의 epsilon mass 도입, singular algebraic block |
|
||
| HHT-E07 | Shell 총질량·rigid translation energy·director drilling null·좌표회전 공변성; consistent/lumped 각각 공간 수렴 | 질량 구성·moment 보존·index/mapping; eigen 오차와 time error 분리 |
|
||
| HHT-E08 | 독립 nonlinear oscillator manufactured force와 residual directional derivative; 큰 회전 자유운동/forced shell의 h 수렴·work/energy/momentum | nonlinear weighting, tangent 누락, 관성 좌표 변환; HHT에 exact nonlinear energy conservation을 요구하지 않음 |
|
||
| HHT-E09 | 원본 CSV time/instance/node/component 결정적 비교 및 중복·누락·nonfinite 음성 사례 | reference projection integrity; 다른 솔버 내부 방식 동일성은 증명하지 않음 |
|
||
| HHT-E10 | S9의 공개 1-element HHT 검증 input/hand-derived U/V/A 절차를 참고해 독립 재현 | 알려진 이산 단계의 arithmetic oracle; vendor rounded table을 tolerance나 일반 해석 정답으로 사용하지 않음 |
|
||
|
||
**미해결 owner 항목.** Requirement/main: 지원 element/비선형 범위·기본 계수·fixed dt 및
|
||
실패 정책·물리 감쇠/초기조건 범위. Formulation: force weighting·initial consistency·
|
||
mass-null/drilling·finite rotation inertia. I/O: U/V/A와 frame 0·reaction의 시간/좌표 의미.
|
||
Numerical Review: nonlinear convergence와 time convergence의 판정·reference 비교량.
|
||
원논문 전문의 정리 조건 대조는 추가 근거 후보이며 이번 research 완료를 원논문 증명
|
||
전체 검토로 표시하지 않는다. 외부 solver, build/test, reference 생성은 실행하지 않았다.
|
||
|
||
<a id="sources"></a>
|
||
|
||
<a id="research--출처와-열람-범위"></a>
|
||
### 출처와 열람 범위
|
||
|
||
모든 web source의 `accessed: 2026-09-22`. ID는 본문에서 사용한 안정적인 locator다.
|
||
|
||
| ID | 서지/URL 및 정확한 위치 | 적용 한계 |
|
||
| --- | --- | --- |
|
||
| S1 | Hilber, H.M., Hughes, T.J.R., Taylor, R.L. (1977), *Improved numerical dissipation for time integration algorithms in structural dynamics*, Earthquake Engineering & Structural Dynamics 5, 283–292. [DOI:10.1002/eqe.4290050306](https://doi.org/10.1002/eqe.4290050306), Abstract/Article Information | 원논문 서지·초록 확인, 전문 미열람 |
|
||
| S2 | Sandia National Laboratories, *Sierra/SM User Manual 5.20*, [§4.11.1.3 HHT Parameters](https://www.sandia.gov/files/sierra/SM_Users_5_20/main/implicit/integration.html) | 결합 계수·Newmark 한계 교차 확인; Sandia 기본값을 FESA에 도입하지 않음 |
|
||
| S3 | OpenSees, [§3.2.6.7 Hilber-Hughes-Taylor Method](https://opensees.github.io/OpenSeesDocumentation/user/manual/analysis/integrator/HHT.html), Notes/Theory | 선형 안정성 범위와 shifted alpha; 변환 설명 부호 충돌 및 nonlinear force 평가 변형에 주의 |
|
||
| S4 | Dassault Systèmes, Abaqus 2025, [*DYNAMIC](https://docs.software.vt.edu/abaqusv2025/English/SIMACAEKEYRefMap/simakey-r-dynamic.htm), Optional parameters/Data line for a transient dynamic analysis | 공개 keyword 의미만 |
|
||
| S5 | Dassault Systèmes, Abaqus 2025, [Implicit Dynamic Analysis Using Direct Integration](https://docs.software.vt.edu/abaqusv2025/English/SIMACAEANLRefMap/simaanl-c-dynamic.htm), Table 1/Default Amplitude for Loads/Initial Conditions | 공개 기본값·하중·초기조건 의미만 |
|
||
| S6 | Dassault Systèmes, Abaqus 2025, [*STEP](https://docs.software.vt.edu/abaqusv2025/English/SIMACAEKEYRefMap/simakey-r-step.htm), AMPLITUDE/INC/NLGEOM | 입력 의미만 |
|
||
| S7 | Dassault Systèmes, Abaqus 2025, [*CLOAD](https://docs.software.vt.edu/abaqusv2025/English/SIMACAEKEYRefMap/simakey-r-cload.htm), AMPLITUDE/FOLLOWER | 입력 의미만 |
|
||
| S8 | Simo, J.C., Tarnow, N., Wong, K.K. (1992), *Exact energy-momentum conserving algorithms and symplectic schemes for nonlinear dynamics*, CMAME 100, 63–116. [DOI:10.1016/0045-7825(92)90115-Z](https://doi.org/10.1016/0045-7825(92)90115-Z), Abstract | 비선형 보존 한계의 1차 논문 근거; 대체 integrator 채택 아님 |
|
||
| S9 | Idaho National Laboratory, MASTODON, [Hilber-Hughes-Taylor (HHT) Time Integration Verification](https://mastodon.inl.gov/sqa/v_and_v/kernels/time_integration/hht.html), Problem Statement and Results/Complete Input File | 재현 가능한 검증 설계 후보; 외부 solver 실행하지 않음 |
|
||
|
||
<a id="numerical-research"></a>
|
||
|
||
<a id="numerical-research--hht-수치-제어검증-설계-추가-근거"></a>
|
||
## HHT 수치 제어·검증 설계 추가 근거
|
||
|
||
- Feature: `hht-implicit-dynamics`
|
||
- Date: `2026-09-22`
|
||
- Status: `Evidence and verification candidates; numerical thresholds not selected`
|
||
- 기준: [프로젝트 지침](../../AGENTS.md), [PRD](../PRD.md), [ADR](../ADR.md#adr-028), [기존 연구](research.md#research).
|
||
|
||
[관성 정식화](formulation-inertia.md)와 [독립 probe](numerical-review.md#numerical-review-probes)를 읽고
|
||
남은 질문만 조사했다. 기존 SDOF/moving-null 계산은 재실행하지 않았다.
|
||
**사실**은 열람한 일차 자료, **도출**은 명시한 수학적 계산, **후보**는 검증 제안이다.
|
||
수치 threshold·질량 채택·물리 범위·입출력 계약은 이 문서에서 결정하지 않는다.
|
||
현재 질량 선택은 사용자 결정으로 consistent mass가 확정되었다. Shell 속도 보간의
|
||
운동에너지를 그대로 적분하며, lumped는 이번 HHT 구현의 지원 요구에서 제외한다.
|
||
|
||
<a id="numerical-research--1-physical-acceleration-startup와-dae-적용-경계"></a>
|
||
### 1. Physical acceleration, startup와 DAE 적용 경계
|
||
|
||
**사실 [N1].** Brüls–Arnold (2008) author postprint pp.3–4, Eq. (5)–(8)은
|
||
물리적 `q_ddot`와 보조 acceleration-like variable을 구분하고 보조 초기값을
|
||
물리적 초기 가속도와 같게 둔다. 이 문서의 `A`가 논문의 보조 `a`에 대응한다.
|
||
`alpha_m=0`, `alpha_f=-alpha`를 대입하면 현재 후보의
|
||
`A_(n+1)=(1+alpha)a_(n+1)-alpha a_n`이다. 같은 논문은 variable M일 때 이를
|
||
force-level 가중 평형과 동일시할 수 없다고 명시한다. 이 질문에는 기존 출처가 충분하다.
|
||
|
||
**사실 [N1]: 정리의 가정은 정확히 구분한다.** Printed p.6, “Equivalent model”은
|
||
`[[M,-L],[-h_qddot,I-h_y]]` block의 비특이성과 index-3 조건
|
||
`Phi_q g*_lambda`의 비특이성을 사용한다. 여기의 `h`는 논문 Eq. (4)의 algebraic
|
||
output function이며 시간간격이 아니다. Controller/algebraic coupling을 제거한
|
||
특수형에서는 첫 조건이 M의 비특이성으로 줄어든다. 논문 전체가 무조건 “M만
|
||
비특이이면 충분”하다고 읽어서는 안 된다. “Initial value condition”의 초기 오차 조건과
|
||
“Constrained case”의 정칙성 하에서 얻은 수렴 결과를 singular drilling에 자동 적용할 수 없다.
|
||
|
||
**도출/수치 제어에의 함의.** 현재 shell의 `psi=N(q)^T g=0`는 논문의 holonomic
|
||
`Phi=0`와 동일한 모델임이 아직 증명되지 않았다. 따라서 다음을 분리해서 관찰한다.
|
||
|
||
| 관찰 대상 | 필요한 검증 후보 | 남은 한계 |
|
||
| --- | --- | --- |
|
||
| 첫 시점 | `a0`는 우측 물리 평형·초기 대수조건으로 결정한 뒤 `A0=a0`; 첫 step과 이후 오차를 분리 | 작은 Newton residual로 불일관 초기값이 정당화되지 않음 |
|
||
| 물리 a와 A | 동일 시각 정확해에 대한 q/v/physical a 차수와 `A-a`를 별도 측정 | A를 물리 출력·각운동량 미분에 대입하면 안 됨 |
|
||
| Current null | 매 configuration에서 `MN`, `N^T I`, `psi`, 양의 부분공간 mass 및 `psi_q N` 정칙성 | 이전 시점 null, 고정 UR3, 전체 M의 역행렬로 대체 불가 |
|
||
| Hidden constraints | `psi_q v+psi_t`와 `psi_q a+psi_qq[v,v]+2psi_qt v+psi_tt`의 최대·종단 결함과 dt 수렴 | 위치 평형만 만족해도 두 결함이 0인 것은 아님 |
|
||
| 반례 coverage | 현재 움직이는 영공간 예제를 full redundant coordinates로 풀어 기존 reduced-angle probe와 대조 | 기존 probe는 위치조건을 정확히 강제했으므로 full-coordinate Newton 구현 검증이 아님 |
|
||
| 고정 간격 | 기존 후보에서 dt를 줄여 같은 물리 종단시각 비교 | adaptive dt·startup 재설정은 별도 scope이며 이번 근거로 추가하지 않음 |
|
||
|
||
**도출.** Chart 내부의 smooth q에서 projector와 null basis는 같은 물리 영공간을 나타내야
|
||
한다. Null vector의 부호·정규화 변경 자체와 rank 손실을 구분해야 한다.
|
||
`psi_q`에는 `DN`이 들어가므로 basis를 고정한 finite difference는 별도 식을 검증하게 된다.
|
||
투영 오차·hidden defect가 큰 결과를 발견하면 정확한 projection/condensation의 채택 여부는
|
||
formulation owner에게 돌린다. 여기서는 추가 projection을 자동 제안·채택하지 않는다.
|
||
|
||
<a id="numerical-research--2-double-precision-conditioning-및-미분-검증"></a>
|
||
### 2. Double precision, conditioning 및 미분 검증
|
||
|
||
**사실 [N2–N4].** IEEE double의 정상수 significand는 53 bits다. LAPACK DGECON은
|
||
선택한 1/∞ norm의 reciprocal condition number **추정값**을 반환한다. DGESVX는
|
||
equilibration 여부를 구별하고, factor pivot이 정확히 0인 경우와 reciprocal condition이
|
||
machine precision보다 작은 경우를 서로 다른 INFO로 보고한다. 후자는 해·오차 추정을
|
||
계속 계산할 수 있는 warning이다. 이 공개 library 동작은 FESA failure threshold를
|
||
자동 승인하지 않으며 vendor routine 채택 요구도 아니다.
|
||
|
||
**도출.** Binary64에서 1의 다음 표현수 간격 `eps=2^-52`, round-to-nearest 정상 범위의
|
||
unit roundoff `u=2^-53`를 구분한다. 문헌의 “machine epsilon” 정의와 library 반환 의미를
|
||
확인하지 않고 두 값을 혼용하면 안 된다. 작은 perturbation의 forward error는
|
||
대략 `condition × backward error`로 증폭되므로 residual 하나로 해의 정확도를 보장하지 못한다.
|
||
|
||
| 질문 | 근거에 따른 분리 및 검사 후보 |
|
||
| --- | --- |
|
||
| Physical mass-null인가? | `n=[0;J_l^-1 d]`, admissible free-space intersection 같은 분석적 운동학을 원본으로 삼는다. `MN`의 수치 결함과 양의 complement의 conditioning을 각각 검사한다. |
|
||
| 작은 양의 eigenvalue인가? | 단위·두께 때문에 작은 inertia를 rcond 하나로 drilling null로 바꾸지 않는다. 예상 추가 null/geometry 이상과 positive-space accuracy loss를 구분한다. |
|
||
| 어느 rcond인가? | Full singular M의 rcond는 positive inertia 품질을 설명하지 못한다. Positive-space mass, 초기화 algebraic block, effective Newton matrix를 각각 이름 붙이고 norm·scaling을 기록한다. |
|
||
| 단위를 바꾸면? | 병진·회전 단위가 섞인 원행렬 condition은 단위 선택에 의존한다. `q=D qhat`, `Rhat=D^T R/Escale`이면 `Khat=D^T K D/Escale`라는 virtual-work 일관 scaling을 대조 후보로 삼는다. 기준 scale의 수치 선택은 NR 소유다. |
|
||
| Library equilibration이면 충분한가? | Row/column equilibration은 solver conditioning 도구다. 물리적 nondimensionalization이나 예상 null proof와 동일하지 않다. 원·scaled 행렬 중 무엇을 추정했는지 보존한다. |
|
||
|
||
**사실 [N5].** GSL의 central differentiation은 truncation과 roundoff를 함께 추정하여
|
||
step을 고르며, 5-point와 3-point 차이를 오차 추정에 쓴다. 따라서 가장 작은 step을
|
||
항상 정답으로 간주하지 않는 독립 derivative 검사 설계가 공식 수치 library의 접근과 부합한다.
|
||
|
||
**도출/후보.** Dimensionless direction p에 대해 scaled 잔차의 중심차분과 `Khat p`를
|
||
비교하면 일반적인 smooth·비상쇄 구간에서 오차형은 `C_t delta²+C_r u/delta`다.
|
||
최적 step의 `u^(1/3)` 크기는 이 가정에서의 점근적 안내일 뿐 공통 고정값이 아니다.
|
||
Zero derivative, 큰 residual cancellation, branch 접근에서는 계수와 error floor가 달라진다.
|
||
여러 delta를 sweep하여 감소구간·최저 plateau·roundoff 증가구간을 기록하고, 모든 sample이
|
||
같은 허용 chart와 geometry 안에 있는지 확인한다. Unit-aware scale을 쓰고 임의
|
||
`max(1, norm)`로 작은 문제를 덮지 않는다.
|
||
|
||
Inertia partial derivative 검사에서는 q/v/physical a 중 하나만 바꾸고 나머지는 고정한다.
|
||
Effective tangent 검사에서는 같은 trial q에 연동되는 v, A, physical a를 모두 갱신한다.
|
||
두 검사는 서로 다른 미분이므로 섞지 않는다. 작은 dt의 acceleration 재구성에는
|
||
위치 차분 오차가 `1/dt²`로 증폭되므로 시간 차수 측정에서 너무 미세한 dt의 plateau를
|
||
수학적 차수 저하로 오인하지 않는다. 기준 oracle 정밀도와 nonlinear solve 오차도 분리한다.
|
||
|
||
<a id="numerical-research--3-3차-회전-미분과-운동량에너지-case-후보"></a>
|
||
### 3. 3차 회전 미분과 운동량·에너지 case 후보
|
||
|
||
**사실 [N6].** Higham–Relton의 Theorem 3.5/Algorithm 3.6은 고차 Fréchet derivative를
|
||
재귀 block matrix function의 우상단 block으로 구한다. Matrix exponential은 smoothness
|
||
조건을 만족한다. `P=[phi]_cross` 및 세 방향 행렬에 적용하면 24×24 exponential 하나의
|
||
3×3 우상단 block이 3차 혼합 미분을 준다.
|
||
|
||
**후보.** 이 방식에 `d0`를 곱한 결과를 Rodrigues/회전 Jacobian의 해석 미분과 비교하면
|
||
동일 scalar coefficient 도함수를 재사용하는 자기검증을 피할 수 있다. “Exact derivative”는
|
||
수학적 항등식을 뜻하며 부동소수점 exp 계산까지 오차가 없다는 뜻은 아니다.
|
||
Production 의존성 추가나 24×24 exp의 runtime 사용은 요구하지 않는다.
|
||
|
||
**자체 도출: 영회전의 유한 다항 oracle.** `H_p=[p]_cross` 등으로 쓰면
|
||
|
||
\[
|
||
D^3d(0)[p,s,r]=\frac16\sum_{\sigma\in S_3}
|
||
H_{\sigma(p)}H_{\sigma(s)}H_{\sigma(r)}d_0.
|
||
\]
|
||
|
||
이는 exponential Taylor series의 cubic 항에서 바로 얻는다. 방향 permutation 대칭,
|
||
각 방향의 선형성, 동일 방향 3회 `H_p³ d0`를 함께 검사할 수 있다. 비영 phi의
|
||
block-exponential oracle와 `D²d`의 방향 중심차분을 추가해 영점 특례만 맞는 오류를 검출한다.
|
||
Chart 경계 안쪽, 작은 phi, 서로 비평행한 방향을 포함하되 경계를 넘어 차분하지 않는다.
|
||
|
||
| ID | 실행 가능한 검증 설계 후보 | 판정에 필요한 한계 |
|
||
| --- | --- | --- |
|
||
| NR-E01 | 임의 유효 shell 상태에서 spatial rigid velocity를 부여하여 kinetic energy·총 P·총 L을 독립 volume integration과 대조 | Rigid velocity는 순간 운동학 검사다. 회전하는 탄성 shell이 자유운동에서도 강체를 유지한다는 가정은 하지 않음. Consistent/lumped 각각 자신의 measure를 사용 |
|
||
| NR-E02 | `I(q,v,a)`를 q/v/a별 미분하고 전체 effective tangent도 별도 directional check | 3차 director 항과 `D(H^T)` 누락을 분리 검출 |
|
||
| NR-E03 | 작은 smooth 회전 구간의 자유 shell에 일관된 initial velocity를 부여하거나 짧은 smooth loading 후 unload, P/L/총에너지·work와 dt 수렴 관찰 | 초기조건/시간하중이 CLI 범위 밖이면 kernel/procedure verification 후보로만 유지. 승인 input subset 확대 금지 |
|
||
| NR-E04 | 같은 spatial problem에 alpha=0 및 승인된 음수 alpha를 적용하고 저주파 해상 case와 높은 modal content case를 분리 | 일반 비선형 HHT의 총에너지 매 step 감소 또는 정확한 각운동량 보존을 무조건 요구하지 않음 |
|
||
| NR-E05 | 문헌 free-flying single-layer plate를 후속 benchmark 후보로 검토 | 아래 N7은 large rotation/energy 사례의 출처다. 현재 fixed chart를 넘어서는 tumble·장시간 운동은 그대로 채택할 수 없음 |
|
||
|
||
**사실 [N7].** Vu-Quoc–Tan (2003), §5.1.2/Figs.9–12는 free-flying single-layer plate의
|
||
큰 전체 운동과 P/L/에너지 및 dissipative/nondissipative integrator 결과를 비교한다.
|
||
해당 요소는 rotation DOF가 없는 solid-shell이므로 그 mass·응력 모델과 여기의 director shell은
|
||
다르다. Author-uploaded 본문의 관련 절을 확인했으나 그림의 하중 위치·수치 history를
|
||
독립 추출하지 않았다. 따라서 현 단계에서는 case family 근거이며 완성된 reference artifact가 아니다.
|
||
|
||
**추론.** 현재 shell 운동학에서는 `Pdot/Ldot`에 physical a를 사용하고 numerical drill
|
||
potential을 포함한 에너지·내력 일을 일관되게 대조해야 한다. N7의 보존형 integrator가
|
||
보이는 exact conservation을 HHT의 요구조건으로 옮길 수 없다. [기존 연구 S8](research.md#research)의
|
||
비선형 Newmark 보존 한계 근거는 그대로 충분하다. 추가 shell 연구는 기하·하중·시간 구간이
|
||
승인된 chart와 입력 범위 안에 있는지 결정한 뒤에만 구체화할 필요가 있다.
|
||
|
||
<a id="numerical-research--출처열람-한계와-인계"></a>
|
||
### 출처·열람 한계와 인계
|
||
|
||
`accessed: 2026-09-22`. 문서 정적 검사만 수행하며 solver/build/test/reference 생성은 수행하지 않았다.
|
||
|
||
| ID | Stable citation / locator | 열람 범위 |
|
||
| --- | --- | --- |
|
||
| N1 | Brüls, O.; Arnold, M. (2008), *The generalized-alpha scheme as a linear multistep integrator: Toward a general mechatronic simulator*, J. Computational and Nonlinear Dynamics 3, 041007, [DOI:10.1115/1.2960475](https://doi.org/10.1115/1.2960475), [author PDF](https://orbi.uliege.be/bitstream/2268/27088/1/pa_BrulsArnold2008_TheGeneralizedAlphaSchemeAsALinearMultistepIntegrator.pdf) | Printed pp.3–6 Eq.5–8/Equivalent model, Initial value condition/Constrained case. Shell singular-mass 정리 아님 |
|
||
| N2 | Oracle, *Numerical Computation Guide*, [§2.2.3 Double Format](https://docs.oracle.com/cd/E37069_01/html/E39019/z4000ac019269.html) | 53-bit significand 설명. IEEE 표준 전체 적합성 시험을 수행한 것은 아님 |
|
||
| N3 | LAPACK, [DGECON](https://netlib.org/lapack/explore-html/d4/daf/group__gecon_ga4f9b830e19e12c7f082ddb497a57af18.html), Purpose/NORM/ANORM/RCOND | Normwise reciprocal condition estimate |
|
||
| N4 | LAPACK, [DGESVX](https://netlib.org/lapack/explore-html/d5/dbe/group__gesvx_ga82173a93234afc15d70b64233b3e5bc8.html), Description steps 1–6/INFO | Equilibration, singular pivot와 working-precision warning 구별 |
|
||
| N5 | GNU Scientific Library 2.8, [Numerical Differentiation](https://www.gnu.org/software/gsl/doc/html/diff.html), `gsl_deriv_central` | Truncation/roundoff 기반 step/error estimate. FESA tolerance 원본 아님 |
|
||
| N6 | Higham, N.J.; Relton, S.D. (2014), *Higher Order Fréchet Derivatives of Matrix Functions and the Level-2 Condition Number*, SIAM J. Matrix Anal. Appl. 35, 1019–1037, [DOI:10.1137/130945259](https://doi.org/10.1137/130945259), [author PDF](https://eprints.maths.manchester.ac.uk/2066/1/paper.pdf), Theorem 3.5/Algorithm 3.6 | 2013 author version printed pp.5–6; oracle identity와 계산법 |
|
||
| N7 | Vu-Quoc, L.; Tan, X.G. (2003), *Optimal solid shells for non-linear analyses of multilayer composites. II. Dynamics*, CMAME 192, 1017–1059, [DOI:10.1016/S0045-7825(02)00336-5](https://doi.org/10.1016/S0045-7825(02)00336-5), [author-uploaded text](https://www.researchgate.net/publication/222546721_Optimal_solid_shells_for_non-linear_analyses_of_multilayer_composites_II_Dynamics), §5.1.2/Figs.9–12 | Relevant text 확인; 하중 figure·곡선 digitization 미수행, exact benchmark reproduction 미정 |
|
||
|
||
Numerical Review에 인계할 결정은 scaling·conditioning/hidden-defect 판정·FD sweep과
|
||
시간 수렴 구간·case 최소 조합이다. Formulation에 남는 사항은 singular-mass regularity의
|
||
실제 shell 적용과 full-coordinate hidden constraint 검증이다. 사용자 결정에 따라 이번
|
||
HHT 구현은 consistent mass를 사용한다. 위 lumped 비교 근거는 연구 이력이며 현재 지원 요구가 아니다.
|
||
|
||
<a id="temporal-remediation-research"></a>
|
||
## 2026-10-12 C08 시간 정확도·P 감소 실패 해결 후보
|
||
|
||
사용자 요청에 따른 `fem-research-evidence` 조사다. 전문 research-agent의 DAE 문헌 조사와
|
||
메인의 현재 evidence·시간 해상도·합산 조사 결과를 대조했다. Production·tests·reference·
|
||
tolerance·PRD checklist·ADR 결정은 변경하지 않았다. 아래 제안은 정식화·독립 검토를
|
||
거쳐야 하는 후보이며 현재 실패를 통과로 대체하지 않는다.
|
||
문서 정적 검토는 로컬 참조528개 누락0·git diff --check native0이다. 이전 완료 검증의
|
||
production190·원본16·task source/test6·binary4 hash가 그대로임을 확인했다.
|
||
|
||
### 현재 판정과 공동 해결책이 아닌 방법
|
||
|
||
[현재 실행 기록](newton-start-policy.md)의 전체802 결과는799 PASS·2 FAIL·1 SKIP이다.
|
||
C08a는 finest 정규화 angular-a error 약5.67473e-4와 finest noise 분리 미달을 유지한다.
|
||
C08b는 N7 noise 분리에 성공했지만 finest angular-a self-difference 약.474897과
|
||
q/v/a 일부 시간수렴·P 감소 기준에 실패했다. 별도 복구 진단의 physical complement는
|
||
약.474897, null 성분은 약.001844다. P drift는 약2.84555e-14→8.03575e-14로 증가했다.
|
||
|
||
- 현재 endpoint 평형·물리 a/보조 A 분리는 이미 Arnold–Brüls variant와 같은 방향이다.
|
||
같은 variant를 다시 채택하는 것은 해결책이 아니다. [R1]의 일반 constrained 결과를
|
||
singular moving-null shell의 정확도 보장으로 확대하지 않는다.
|
||
- A0만 바꾸는 방법은 [NR-009의 Decimal80 cubic 반례](implementation-numerical-review.md)에서
|
||
실패했다. Newton이나 double roundoff 없이도 전체 시점 최대 null 가속도 오차가1차다.
|
||
- 기존 [null 가속도 복구 후보](formulation-acceleration-recovery.md)는 physical complement와
|
||
q/v를 바꾸지 않는다. 같은 q/v에서 physical mass block의 가속도를 다시 풀어도 이미
|
||
endpoint 평형으로 결정된 physical a의 시간오차를 자동으로 없애지 못한다.
|
||
- 추가 고정밀·refinement 조사는 원인을 구분하는 diagnostic이다. 공식 grid·최대 시점
|
||
범위를 바꾸거나 초기 구간을 제외해 기존 acceptance를 통과시킨 것으로 표시하지 않는다.
|
||
|
||
### 후보 비교와 채택 경계
|
||
|
||
| 후보 | 기대 효과 | 제한·필요한 결정 |
|
||
| --- | --- | --- |
|
||
| **국소 대수 drilling 좌표 제거와 q/v/a 미분 복구** | 독립적인 physical 좌표를 적분하고 대수 평형으로 drilling 좌표를 재구성해 null 좌표의 이력 차분 문제를 피하는 후보 | 전체 좌표의 현 이산 recurrence가 바뀐다. Smooth chart·rank·partial BC·양의 reduced mass·원 full residual 동등성 정식화가 필요하다. C08b 고주파 해상도 해결은 별도 검증 |
|
||
| **위치·속도 수준 제약을 함께 처리하는 DAE 적분** | Hidden velocity drift와 startup의 일관성을 같이 다루는 SOI2/stabilized index-2 후보 [R2,R3] | 추가 보조 변수·수정 kinematic update가 필요하다. Force-derived psi를 표준 holonomic reaction 제약으로 대입하면 다른 모델이 될 수 있으므로 동등성 증명이 선행돼야 함 |
|
||
| Constraint-consistent numerical startup | 초기 가속도 transient 감소 가능성 [R3, §4.1 Example8] | 유효한 문헌 방법은 속도의 O(h²) 수치 보정도 포함한다. Exact frame0 q/v/a 보존과 이력 일관성 검증 필요; A0-only 재시도는 근거 부족 |
|
||
| Same-schedule 산술 개선 | Compensated/error-free sum·dot, 작은 증분의 차감 계산, 높은 정밀도의 residual 및 refinement로 noise 감소 [R5,R6] | C08a noise와 P 계산의 일부 문제에 유용할 수 있으나 DAE order reduction·C08b의 큰 physical 오차를 고치는 증거는 아님 |
|
||
| Momentum/energy를 보존하거나 소산하는 새 적분법 | Nonlinear shell dynamics의 보존·안정성에 맞춘 별도 알고리즘 [R4,R7] | Algorithmic force/stress·관성 및 시간 update가 바뀌는 범위. 현 HHT 대체에 대한 사용자 결정·정식화·독립 검증 필요; 보존만으로 현재 fixed-grid 정확도 PASS를 보장하지 않음 |
|
||
|
||
국소 제거 후보는 DOF를 삭제하거나 drilling 질량을 추가하는 방식이 아니다. 원래 대수
|
||
평형 psi=N(q)^T(f_int-F)=0을 풀어 full q를 복구한다. G=psi_q N의 가역성은 국소
|
||
transversality 근거이지만 전 구간의 독립 좌표 chart를 제공하지는 않는다. 적절한 국소
|
||
chart에서 대수 좌표가 독립 좌표·시간의 함수임을 확인해야 한다. 복구된 속도·가속도에는
|
||
embedding의 미분·곡률과 explicit-time 항이 모두 필요하다. Current N/P를 매 frame 곱하고
|
||
그 미분을 생략하는 projection은 이 방법과 다르다. 특히 C08a의 F(t)에 대한 시간미분을
|
||
누락하면 올바른 oracle가 아니다. 이는 개념 후보이며 구현-ready 정식화가 아니다.
|
||
|
||
### C08b의 시간 해상도 판별
|
||
|
||
[이전 private elastic-scale 조사](newton-rotation-investigation.md)는 일부 state에서
|
||
omega≈311.3/time을 관측했지만 current trajectory의 dynamic Jacobian spectrum·실제
|
||
가진 amplitude를 확인한 결과가 아니다. [R4]의 stiff shell-like 사례는 선형 안정성과
|
||
비선형 시간 정확도·보존의 구별을 뒷받침한다.
|
||
|
||
이번에 같은 HHT 계수(alpha=-.05,beta=.275625,gamma=.55)와 endpoint physical a를 쓰는
|
||
**독립 scalar unit-amplitude oscillator**를 계산했다. Omega311.3, T=.25,
|
||
q0=1/v0=0/a0=A0=-omega²이며 전체 endpoint 최대 q error를 측정했다.
|
||
Scratch `.dryforge/hht-accuracy-research-20261012/oscillator-resolution.py`와 JSON의
|
||
실제 실행 native0이며 FESA build/test 또는 실제 shell 검증은 아니다.
|
||
독립 numerical-review-agent가 별도3×3 증폭행렬로8개 grid를 재계산했으며 저장된
|
||
q/v/a 최대 오차와의 차이는 최대3.36e-15였다. 후보의 전제·채택 경계도 검토했고,
|
||
P floor 확정 표현은 아래처럼 의심 단계로 수정했다. 이는 후보 연구의 검토 결과다.
|
||
|
||
| h | omega*h | 주기당 증분 수 | 최대 정규화 q error | 직전 grid 대비 관측 차수 |
|
||
| --- | ---: | ---: | ---: | ---: |
|
||
| 1/512 | .6080 | 10.33 | 1.76413 | .04693 |
|
||
| 1/1024 | .3040 | 20.67 | .645985 | 1.44939 |
|
||
| 1/2048 | .1520 | 41.34 | .167876 | 1.94410 |
|
||
| 1/4096 | .0760 | 82.67 | .0421431 | 1.99403 |
|
||
| 1/8192 | .0380 | 165.34 | .0105458 | 1.99863 |
|
||
|
||
이 계산은 coarse grid에서 비단조 오차가 발생하고 더 작은 h에서2차 구간에 들어갈 수
|
||
있음을 보여 준다. **C08b의 원인을 확정한 재현은 아니다.** 실제 모드 amplitude가 작을
|
||
수 있고 회전·DAE 결합도 다르다. 2차 차수의 회복과 finest1e-4 달성도 별개다.
|
||
Current C08b의 공통 시점에서 physical mass block의 spectrum/가진 amplitude와
|
||
오차 history를 대응시키고, 별도 finer-grid·고정밀 oracle와 비교해야 한다. 공식5개
|
||
grid는 그대로 판정한다. 해상도 부족이 확인되면 현 fixed-grid·HHT 요구와의 양립성을
|
||
검토해야 하며 silent substep·alpha 변경·benchmark 초기조건 변경으로 해결하지 않는다.
|
||
|
||
### P 감소 실패의 조사·처리 방법
|
||
|
||
P의 두 finest 값은 roundoff floor가 의심되는 크기이며 strict decrease를 보장하는 수정은
|
||
아직 없다. 실제 floor 판정은 아래 고정-state·고정밀 대조로 확인해야 한다.
|
||
우선 같은 accepted q/v를 고정하고 다음 세 계산을 대조해 오차 위치를 구분한다.
|
||
|
||
1. 현재 quadrature/global P 합과 deterministic compensated/error-free sum·dot의 P 합.
|
||
2. 동일 binary64 입력값의 arbitrary-precision 적분·차감 결과. 이 대조는 저장·평가
|
||
오차만 구분하며 원 accepted history 자체의 roundoff를 복구하지 않는다.
|
||
3. 현재 flat centered C08b의 독립 nodal 식과 시간 update에서 유도한 momentum 증분.
|
||
이 fixture의 zero first moment를 일반 warped shell에 자동 적용하지 않는다.
|
||
|
||
평가 오차가 원인이면 같은 P의 정의·source 순서를 유지한 산술 개선을 검증한다.
|
||
History 오차가 지배하면 합산만 바꿔 strict decrease가 회복된다고 보장할 수 없다.
|
||
같은 물리/이산 식의 더 정확한 계산과, momentum projection으로 q/v/history를 바꾸는
|
||
새 방법을 구분한다. Exact conservation 또는 새 energy-momentum method도 finite
|
||
precision의 감소 조건을 자동 보장하지 않는다. Roundoff floor가 확인되면 absolute
|
||
보존 기준과 시간 truncation의 감소 판정을 분리하는 **계약 검토 후보**를 제시할 수 있으나
|
||
현재 strict 조건·허용값·FAIL은 유지한다. 결과 clamp나 P를 P0로 덮어쓰는 방법은 배제한다.
|
||
|
||
MSVC의 long double은 double과 같은 representation이므로 단순 타입 교체를 고정밀
|
||
검증으로 부르지 않는다 [R6]. 고정밀 oracle 또는 double-double/error-free 연산은
|
||
검증할 연산·입력·누적·반올림 경계를 명시해야 한다.
|
||
|
||
### 권장 검증 순서
|
||
|
||
2026-10-12 사용자 요청으로 수행한 후속 수학·private 실행 결과는
|
||
[시간 정확도·운동량 후속 검증](temporal-remediation.md)에 기록한다. 아래는 조사 당시
|
||
권장 순서이며 private 후보 실행과 production 채택을 구별한다.
|
||
|
||
1. 기존 Decimal80 cubic 반례로 후보의 exact frame0 보존·전체 시점 q/v/a 정확도와
|
||
hidden0/1/2를 확인한다. 초기 구간과 후반 구간을 진단상 분리하되 전체 최대 기준은 유지한다.
|
||
2. Explicit-time 및 실제 moving-null 소형 모델에서 축소 embedding/새 DAE update를
|
||
검증한다. Partial BC·empty null·원 full residual·physical momentum/energy와의
|
||
동등성을 확인하고 고정 null 모델의 성공을 shell로 확대하지 않는다.
|
||
3. C08a의 null/physical error와 recurrence/solve/recovery noise를 구분하고 C08b의
|
||
가진 모드·physical rate·time resolution을 대조한다. Finer oracle는 기존 grid의
|
||
정확도를 평가하는 자료이지 기존 FAIL의 대체가 아니다.
|
||
4. P의 고정-state 평가와 history drift를 분리한 뒤 원인에 맞는 수정 또는 계약 검토를 선택한다.
|
||
5. 채택 후보만 구현-ready 정식화·독립 수치 검토·필요한 사용자 결정으로 넘긴다.
|
||
실제 구현 뒤 기존 C08/N7·lifecycle·필수 원본·전체 MSVC 회귀와 물리 검토를 수행한다.
|
||
|
||
### 일차 출처와 적용 한계
|
||
|
||
Accessed2026-10-12. 위 문헌은 방법 선택 근거이며 FESA 실패 해결의 실행 evidence가 아니다.
|
||
|
||
| ID | 출처·locator | 열람 범위·한계 |
|
||
| --- | --- | --- |
|
||
| R1 | Arnold–Brüls(2007), [Convergence of the generalized-alpha scheme for constrained mechanical systems](https://orbi.uliege.be/bitstream/2268/27094/1/pa_ArnoldBruls2007_ConvergenceOfTheGeneralizedAlphaSchemeForConstrainedMechanicalSystems.pdf), §2.1·§3 | 현재 endpoint/auxiliary 방식과의 연결. 원 singular shell의 theorem 아님 |
|
||
| R2 | Jay–Negrut, [A Second Order Extension of the Generalized-alpha Method for Constrained Systems in Mechanics](https://homepage.divms.uiowa.edu/~ljay/publications.dir/GenerAlphaDAEs.pdf), §4 Eq.9/Theorem1·§6 | Research-agent가 author PDF 열람. 메인의 fetch는 timeout. Position+velocity SOI2·bordered regularity 조건; force-derived shell psi에 대한 직접 적용 증명 없음 |
|
||
| R3 | Arnold(2016), [DAE aspects of multibody system dynamics](https://www2.mathematik.uni-halle.de/reports/sources/2016/01-2016.pdf), §2.3·§4.1 Example8·§4.2 | PSD mass/index 분류·startup 보정·stabilized index-2. FESA index와 동등성은 별도 검토 |
|
||
| R4 | Lavrenčič–Brank(2020), [Comparison of numerically dissipative schemes for structural dynamics](https://www.sciencedirect.com/science/article/pii/S0263823120309496), abstract·Introduction | Publisher의 공개 본문 열람, 직접 open은 오류. Stiff shell-like 모델의 비교; 원 FESA benchmark나 적용 증명 아님 |
|
||
| R5 | Demmel–Hida(2002), [Accurate floating point summation](https://people.eecs.berkeley.edu/~demmel/AccurateSummation.pdf), §1–4; Ogita–Rump–Oishi(2004), [Accurate Sum and Dot Product with Applications](https://www.tuhh.de/ti3/paper/rump/OgRuOi04a.pdf) | Cancellation과 정확 합산·dot의 방법 근거. 입력 history의 오차 제거 또는 strict 감소 보장 아님 |
|
||
| R6 | Microsoft, [IEEE Floating-Point Representation](https://learn.microsoft.com/en-us/cpp/build/ieee-floating-point-representation?view=msvc-170) | MSVC long double representation. 다른 compiler·arbitrary precision으로 일반화하지 않음 |
|
||
| R7 | Simo–Tarnow–Wong(1992), [Exact energy-momentum conserving algorithms and symplectic schemes for nonlinear dynamics](https://www.sciencedirect.com/science/article/pii/004578259290115Z), abstract; Kuhl–Ramm(1999), [Generalized Energy–Momentum Method for non-linear adaptive shell dynamics](https://www.sciencedirect.com/science/article/pii/S0045782599000249), abstract·Introduction | Publisher 공개 설명 열람. 새 algorithmic force/stress의 범위 근거; current drill DAE·회전 chart·정확도 기준에 맞춘 정식화 없음 |
|