docs: remove retired workflow instructions and repair references

This commit is contained in:
KOKO\Mimi
2026-10-17 22:37:04 +09:00
parent abfe0ee0ce
commit 4bd19f5bf0
120 changed files with 1436 additions and 3130 deletions
+4 -4
View File
@@ -1,9 +1,9 @@
# Hex8 정식화와 검증 불변량
적용: [PRD](PRD.md)의 FEM-REQ-HEX8-002–007,012–018,021.
물리 선택은 [ADR](ADR.md)에 있다. 이 문서는 승인된 식의 구현용 유도이며
적용: [PRD](README.md)의 FEM-REQ-HEX8-002–007,012–018,021.
물리 선택은 [ADR](README.md)에 있다. 이 문서는 승인된 식의 구현용 유도이며
외부 결과에 맞추어 physics를 바꾸는 권한이 아니다. 수치 controls는
[별도 원본](numeric-controls.md), 출력 tensor/identity는 [I/O](io.md)를 따른다.
[별도 원본](README.md), 출력 tensor/identity는 [I/O](README.md)를 따른다.
2026-10-09 승인된 Solid HHT 내부 정밀도 변경의 구현 계약은
[precision formulation](precision-formulation.md)이다. 동적 paired 경로의 상대변위 gradient,
전체 상태·계수 연산과 반올림 출력 의미는 해당 문서를 함께 적용한다.
@@ -196,7 +196,7 @@ strain만으로 결정되는 이전 pointwise law가 아니라 element mean에
M은 reference-state 상수다. Positive weights와8점 interpolation matrix의 full rank에서 SPD가
따른다. Axis-aligned brick의 scalar block은 \(\rho V/216\)에 각 축 sign이 같으면2/다르면1인
세 factor의 곱이다. Direction별 총합은 rho V, row sum은 rho V/8다. 2026-10-11
[HEX8-ADR-010](ADR.md) 승인에 따라 production은 full24×24 M_C의 행 합 M_L을 사용한다.
[HEX8-ADR-010](README.md) 승인에 따라 production은 full24×24 M_C의 행 합 M_L을 사용한다.
행 합은 BC restriction 전에 계산한다. Warped 요소에서는 일반적으로 m_a가 같지 않다.
Positive rho/N/weights에서 m_a>0이며 M_L은 diagonal SPD다.
@@ -1,10 +1,10 @@
# Hex8 동해석 high+low 정식화
2026-10-11 질량 정책 변경: [HEX8-ADR-010](ADR.md)에 따라 현재 고유치·HHT는 lumped mass를 사용한다. 아래 consistent 질량을 전제로 한 수식 후보·검토·PASS/FAIL은 해당 시점의 이력이다. 변경본 통과로 승계하지 않으며 현재 수식은 [formulation](formulation.md), 재검증 상태는 [PRD](PRD.md)의 현재 checklist를 따른다.
2026-10-11 질량 정책 변경: [HEX8-ADR-010](README.md)에 따라 현재 고유치·HHT는 lumped mass를 사용한다. 아래 consistent 질량을 전제로 한 수식 후보·검토·PASS/FAIL은 해당 시점의 이력이다. 변경본 통과로 승계하지 않으며 현재 수식은 [formulation](formulation.md), 재검증 상태는 [PRD](README.md)의 현재 checklist를 따른다.
적용: 사용자가 2026-10-09 선택 A로 승인한 [정밀도 제안](precision-proposal.md).
적용: 사용자가 2026-10-09 선택 A로 승인한 [정밀도 제안](README.md).
기본 물리식·DOF·부호·적분점 순서는 [formulation](formulation.md), 판정 원본은
[numeric-controls](numeric-controls.md), 영속 출력은 [I/O](io.md)다. 본 문서는
[numeric-controls](README.md), 영속 출력은 [I/O](README.md)다. 본 문서는
승인된 정밀도 변경의 구현 계약이며 구현 완료나 독립 수치 승인이 아니다.
사용자 선택 B의 평균 Green trace energy는 모든 절차에 적용하며 이 문서는 그 동적 paired
평가를 정의한다. Static/frequency의 F64 산술 종류는 유지하되 물리 energy/K0는 같은 새 모델이다.
@@ -1,11 +1,11 @@
# 제약 일관 가속도 복구 후보
2026-10-11 질량 정책 변경: [HHT-ADR-012](ADR.md)에 따라 현재 고유치·HHT는 lumped mass를 사용한다. 아래 consistent 질량을 전제로 한 수식 후보·검토·PASS/FAIL은 해당 시점의 이력이다. 변경본 통과로 승계하지 않으며 현재 수식은 [formulation](formulation.md), 재검증 상태는 [PRD](PRD.md)의 현재 checklist를 따른다.
2026-10-11 질량 정책 변경: [HHT-ADR-012](README.md)에 따라 현재 고유치·HHT는 lumped mass를 사용한다. 아래 consistent 질량을 전제로 한 수식 후보·검토·PASS/FAIL은 해당 시점의 이력이다. 변경본 통과로 승계하지 않으며 현재 수식은 [formulation](formulation.md), 재검증 상태는 [PRD](README.md)의 현재 checklist를 따른다.
- 상태: `candidate-for-independent-review; not-adopted`, 2026-09-26.
- Owner: `formulation-agent`. 할당 범위는 이 문서이며 source·시험·상위 계약은 변경하지 않는다.
- 기준: [프로젝트 지침](../../AGENTS.md), [프로젝트 PRD](../PRD.md), [공통 ADR](../ADR.md#adr-028), [Feature PRD](PRD.md), [시간적분](formulation.md), [관성 상세](formulation-inertia.md).
- 발견 근거: [구현 수치 검토 NR-009 이후](implementation-numerical-review.md), [C08](verification-cases.md), [N1–N7](numerical-controls.md).
- 기준: [프로젝트 지침](../../AGENTS.md), [프로젝트 PRD](../solver-core/README.md), [공통 ADR](../solver-core/README.md), [Feature PRD](README.md), [시간적분](formulation.md), [관성 상세](formulation-inertia.md).
- 발견 근거: [구현 수치 검토 NR-009 이후](README.md), [C08](README.md), [N1–N7](README.md).
## 1. 제안과 변경 경계
@@ -25,7 +25,7 @@
각 admissible nodal null은 `[0;J_l(phi)^(-1)d]`다. 현재 total rotation-vector chart, geometry 및 swing/twist 유효성과 일정 null rank, 양의 physical mass 및 bounded algebraic inverse가 전 구간에서 필요하다. Partial BC는 null과 free 공간의 **교집합**을 구한다. N의 constrained 성분을 단순 삭제하거나 작은 positive mass를 null로 재분류하지 않는다. Empty null에서는 `a_rec=a_h`; all-fixed 모델도 empty recovery로 처리한다.
이 문서의 N은 [N3/N4](numerical-controls.md)의 고정 scale `D=diag(ell I3,I3)`, `x=D^-1 q`, 연속 정규화 analytic basis Z와 **`N=D_f Z(x)`**로 대응한다. 따라서 `psi=N^T g_f=Z^T(D^Tg)_f`, `g=f_int-F`. 미분 시 basis도 현재 q의 함수로 미분한다. N은 시간 grid와 무관한 같은 정의·source 순서를 사용하며 eigen/SVD 부호 변경으로 선택하지 않는다.
이 문서의 N은 [N3/N4](README.md)의 고정 scale `D=diag(ell I3,I3)`, `x=D^-1 q`, 연속 정규화 analytic basis Z와 **`N=D_f Z(x)`**로 대응한다. 따라서 `psi=N^T g_f=Z^T(D^Tg)_f`, `g=f_int-F`. 미분 시 basis도 현재 q의 함수로 미분한다. N은 시간 grid와 무관한 같은 정의·source 순서를 사용하며 eigen/SVD 부호 변경으로 선택하지 않는다.
## 3. 복구 방정식과 필요한 미분
@@ -115,7 +115,7 @@ Basis 표현에도 주의한다. `tilde psi=S(q,t)psi`에서 연속 2차 미분
## 6. 독립 검토용 반증 사례
아래는 추가 검증 제안이며 [기존 C08/N7](verification-cases.md)의 grid·전체 시점·원 정확도 요구를 바꾸지 않는다. 기존 a_h와 후보 a_rec를 함께 보존하고 실패 결과를 대체하지 않는다.
아래는 추가 검증 제안이며 [기존 C08/N7](README.md)의 grid·전체 시점·원 정확도 요구를 바꾸지 않는다. 기존 a_h와 후보 a_rec를 함께 보존하고 실패 결과를 대체하지 않는다.
| ID | 모델/조작 | 반드시 확인할 결과 |
| --- | --- | --- |
@@ -2,7 +2,7 @@
상태: 연구 후보이며 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)에 있으며 아래 기전 설명은 그 수치를 바탕으로 한 조사 후보이다.
계약: [기존 정식화](formulation.md), [관성·null 상세 §4](formulation-inertia.md#4-mass-null과-초기-일관성), [ADR-010/012](README.md). 실제 trial은 [analysis.json](README.md)에 있으며 아래 기전 설명은 그 수치를 바탕으로 한 조사 후보이다.
## 1. 적용 가정과 보존량
@@ -1,6 +1,6 @@
# Carried-A HHT의 arithmetic/noise 인계
상태: `implementation-ready-estimator; independent-review-pending`, 2026-10-12. [축소 좌표 정식화](formulation-reduced-coordinate.md)와 별개로, 동일 full-coordinate HHT에서 A를 직접 갱신하는 산술을 다룬다. 기존 [N7](numerical-controls.md)의 separation 기준을 완화하지 않는다. Half-ULP `q-qp-sA` closure는 이전 predictor·seed·update 오차 또는 history bound가 아니다.
상태: `implementation-ready-estimator; independent-review-pending`, 2026-10-12. [축소 좌표 정식화](formulation-reduced-coordinate.md)와 별개로, 동일 full-coordinate HHT에서 A를 직접 갱신하는 산술을 다룬다. 기존 [N7](README.md)의 separation 기준을 완화하지 않는다. Half-ULP `q-qp-sA` closure는 이전 predictor·seed·update 오차 또는 history bound가 아니다.
## 1. 실제 연산 경로
@@ -1,8 +1,8 @@
# 대수좌표 제거 DAE 연구: 수식과 실행 결과
상태: 연구 후보·독립 검토 대기. Owner: formulation, 2026-10-12. [연구의 권장 후보](../../../docs/hht-implicit-dynamics/research.md#temporal-remediation-research)를 소형 문제로 비교했다. Production·tests·PRD·ADR·reference·tolerance는 수정하지 않았다. 실제 shell 검증이나 새 적분법 채택이 아니다.
상태: 연구 후보·독립 검토 대기. Owner: formulation, 2026-10-12. [연구의 권장 후보](README.md)를 소형 문제로 비교했다. Production·tests·PRD·ADR·reference·tolerance는 수정하지 않았다. 실제 shell 검증이나 새 적분법 채택이 아니다.
재현 자료는 [Decimal80 probe](compare.py), [실제 native 기록](run-native.json), [stdout](run.log), [전체 grid·오차·조건 결과](comparison.json)다. `python -B compare.py` 실행 native0이며 FESA build/CTest는 실행하지 않았다. 모든 문제는 `t∈[0,1]`, `h=1/16,...,1/256`, exact frame0의 q/v/a와 `A0=a0`, `alpha=-.05,beta=.275625,gamma=.55`를 사용했다. 초기 구간을 제외하지 않고 모든 `n+1` endpoint의 component infinity-norm 최대 오차를 구했다. 이 raw absolute error는 FESA N7의 normalized/noise-certified metric이 아니다.
재현 자료는 [Decimal80 probe](README.md), [실제 native 기록](README.md), [stdout](README.md), [전체 grid·오차·조건 결과](README.md)다. `python -B compare.py` 실행 native0이며 FESA build/CTest는 실행하지 않았다. 모든 문제는 `t∈[0,1]`, `h=1/16,...,1/256`, exact frame0의 q/v/a와 `A0=a0`, `alpha=-.05,beta=.275625,gamma=.55`를 사용했다. 초기 구간을 제외하지 않고 모든 `n+1` endpoint의 component infinity-norm 최대 오차를 구했다. 이 raw absolute error는 FESA N7의 normalized/noise-certified metric이 아니다.
## 1. 관찰과 범위
@@ -112,7 +112,7 @@ Exact reduced 해는 `y=sin(t),ydot=cos(t),yddot=-sin(t)`이며 Decimal80 sin/co
## 6. 실제 shell chart 후보와 구현-ready capability gap
현재 source는 읽기만 했다. [shell evaluator API](../../../include/fesa/elements/nonlinear_mitc4_shell.h)와 [내부 Jet·scalar constraint](../../../src/fesa/elements/nonlinear_mitc4_shell.cpp), [관성 API](../../../include/fesa/elements/nonlinear_mitc4_inertia.h)를 대조했다. 소형 prototype가 구현한 것은 해석적으로 알려진 polynomial Q와 독립 scalar reduced HHT뿐이다. Actual shell algebraic branch solver·Q 미분·reduced trial/state·assembly·tangent는 **구현하지 않았다**.
현재 source는 읽기만 했다. [shell evaluator API](README.md)와 [내부 Jet·scalar constraint](README.md), [관성 API](README.md)를 대조했다. 소형 prototype가 구현한 것은 해석적으로 알려진 polynomial Q와 독립 scalar reduced HHT뿐이다. Actual shell algebraic branch solver·Q 미분·reduced trial/state·assembly·tangent는 **구현하지 않았다**.
### 6.1 Chart 선택과 물리 동등성의 조건
@@ -1,13 +1,13 @@
# 고정 초기 null 기저의 sparse reduced HHT 정식화
상태: `implementation-ready; independent-review-and-runtime-pending`, 2026-10-13.
승인 범위는 [고정 null 기저 제안](fixed-null-basis-proposal.md)과
[HHT-ADR-018](ADR.md)의 사용자 결정이다. 본 문서는 수식·연산 계약이며
승인 범위는 [고정 null 기저 제안](README.md)과
[HHT-ADR-018](README.md)의 사용자 결정이다. 본 문서는 수식·연산 계약이며
자기 수치 승인이나 현재 production PASS 기록이 아니다.
[기존 축소 정식화](formulation-reduced-coordinate.md)의 fully-free rotation
component selector를 아래 고정 ON 기저로 대체한다. 기존
[N1–N7](numerical-controls.md), [제한 Newton](c09-channel-newton-proposal.md),
[독립 검토](numerical-review-channel-newton.md)와 허용값은 유지한다.
[N1–N7](README.md), [제한 Newton](README.md),
[독립 검토](README.md)와 허용값은 유지한다.
## 1. 적용 가정과 물리 계약
@@ -2,7 +2,7 @@
- 상태: `independently-reviewed-candidate; physics-and-validation-pending`.
- Owner: `formulation-agent`, 2026-09-22. 문서 gate 산출물이며 구현 승인이나 수치 검증 통과가 아니다.
- 기준: [프로젝트 지침](../../AGENTS.md), [제품 PRD](../PRD.md), [공통 ADR](../ADR.md#adr-028), [Feature PRD](PRD.md), [요구사항](requirements.md), [연구](research.md).
- 기준: [프로젝트 지침](../../AGENTS.md), [제품 PRD](../solver-core/README.md), [공통 ADR](../solver-core/README.md), [Feature PRD](README.md), [요구사항](README.md), [연구](README.md).
- 관성의 전개식·초기 일관성·정확도 근거는 [formulation-inertia](formulation-inertia.md)가 소유한다. 영속 schema, C++ 저장 구조와 tolerance는 정의하지 않는다.
## 1. 결론과 적용 범위
@@ -117,7 +117,7 @@ T_L=\frac12\sum_i\left(m_i|v_{ui}|^2+2s_i v_{ui}\cdot B_iv_{\phi i}
\beta=\frac14(1-\alpha)^2.
\]
기본값은 `alpha=−0.05`, `beta=0.275625`, `gamma=0.55`다. [공개 기본값 근거](research.md#3-reference-입력의-공개-의미)와 [Sandia의 결합계수](https://www.sandia.gov/files/sierra/SM_Users_5_20/main/implicit/integration.html)를 따른다. `alpha=0`은 평균가속도 Newmark다. 이 범위는 일반 유한회전 문제의 무조건 안정성이나 큰 시간간격의 정확도를 보증하지 않는다. 별도 `beta/gamma` 입력을 승인한 의미도 아니다.
기본값은 `alpha=−0.05`, `beta=0.275625`, `gamma=0.55`다. [공개 기본값 근거](README.md)와 [Sandia의 결합계수](https://www.sandia.gov/files/sierra/SM_Users_5_20/main/implicit/integration.html)를 따른다. `alpha=0`은 평균가속도 Newmark다. 이 범위는 일반 유한회전 문제의 무조건 안정성이나 큰 시간간격의 정확도를 보증하지 않는다. 별도 `beta/gamma` 입력을 승인한 의미도 아니다.
**FESA 초기화 후보 계약:** frame 0은 `t=0+`, `q_0=v_0=0`, 전값 `F_0=F*`다. `M_ff(q_0)a_f0=F_f0−f_int,f(q_0)`와 [mass-null 일관성](formulation-inertia.md#4-mass-null과-초기-일관성)을 함께 풀어 `a_0`를 구한다. `A_0=a_0`, `g_0=f_int(q_0)−F_0`를 정의한다. `g_0=0` 또는 `a_0=0`을 임의 대입하지 않는다. 이는 공개 STEP 의미에 맞춘 FESA 계약 제안이며 Abaqus의 숨은 첫 history 생성 절차를 확인한 주장이 아니다.
@@ -210,6 +210,6 @@ W_{0\to n}=F^{\star T}(q_n-q_0),\quad
| 구현 lifecycle | 동일 state tangent, 실패 rollback, time/frame 순서, deterministic assembly와 반복 결과 |
| 외부 reference | 지정 원본 101 frames × 9 nodes, frame/instance/node/component의 exact mapping; U blocking / UR warning-only 및 공통 TOLERANCE. V/A/energy correctness는 해당 CSV에 coverage 없음 |
수식 후보의 [독립 검토](numerical-review.md)는 완료되었으며 표시된 수식에서 새 오류는 발견되지 않았다. 질량 선택은 consistent로 확정되었다. 구현 전 남은 계약은 (1) HHT 확장·초기화의 FESA 채택과 나머지 physics 범위, (2) initial algebraic regularity와 trial 실패 판정의 수치 기준, (3) 공식 output 의미의 공개 범위/I/O다. 이 선택 후 구현할 수 있는 수식 후보이며, 실제 유한회전 shell의 drilling DAE·관성 tangent·q/v/a 시간 수렴은 **구현 후 기능 acceptance에 필요한 검증**이다. 부모 문헌의 nonsingular-mass 조건을 shell mass-null에 자동 적용하지 않되, 모든 shell DAE의 보편적 수렴 증명을 코드 작성의 선행 조건으로 요구하지 않는다. 현재 문서 완료나 제한된 probe를 전체 solver 승인·검증 통과로 표시하지 않는다.
수식 후보의 [독립 검토](README.md)는 완료되었으며 표시된 수식에서 새 오류는 발견되지 않았다. 질량 선택은 consistent로 확정되었다. 구현 전 남은 계약은 (1) HHT 확장·초기화의 FESA 채택과 나머지 physics 범위, (2) initial algebraic regularity와 trial 실패 판정의 수치 기준, (3) 공식 output 의미의 공개 범위/I/O다. 이 선택 후 구현할 수 있는 수식 후보이며, 실제 유한회전 shell의 drilling DAE·관성 tangent·q/v/a 시간 수렴은 **구현 후 기능 acceptance에 필요한 검증**이다. 부모 문헌의 nonsingular-mass 조건을 shell mass-null에 자동 적용하지 않되, 모든 shell DAE의 보편적 수렴 증명을 코드 작성의 선행 조건으로 요구하지 않는다. 현재 문서 완료나 제한된 probe를 전체 solver 승인·검증 통과로 표시하지 않는다.
이번 owner 작업은 기존 정식화·source 대조, 일차 문헌 대조와 수식 유도 및 문서 정적 검토다. [독립 시간정확도 검산](numerical-review-probes.md)은 variable-mass SDOF와 moving-null 예제에서 추천 후보의 약 2차 q/v/physical-a 수렴을 관찰했고 naive 확대의 약 1차 오차를 구별했다. 이는 shell solver 검증이나 일반 drilling DAE 증명을 대신하지 않는다. Build/test·solver/reference 실행은 문서 작업 범위가 아니므로 미실행이다. 독립 검산과 Numerical Review 결과는 해당 owner의 보고서가 소유하며 본 문서가 스스로 승인하지 않는다.
이번 owner 작업은 기존 정식화·source 대조, 일차 문헌 대조와 수식 유도 및 문서 정적 검토다. [독립 시간정확도 검산](README.md)은 variable-mass SDOF와 moving-null 예제에서 추천 후보의 약 2차 q/v/physical-a 수렴을 관찰했고 naive 확대의 약 1차 오차를 구별했다. 이는 shell solver 검증이나 일반 drilling DAE 증명을 대신하지 않는다. Build/test·solver/reference 실행은 문서 작업 범위가 아니므로 미실행이다. 독립 검산과 Numerical Review 결과는 해당 owner의 보고서가 소유하며 본 문서가 스스로 승인하지 않는다.
@@ -81,7 +81,7 @@ C_{ij}^{(1)}B_i^T&C_{ij}^{(2)}B_i^TB_j
`rho`의 차원은 `mass/length³`, `(C0,C1,C2)` 및 `(m,s,j)`의 차원은 `(mass,mass·length,mass·length²)`다. `M_uu/M_uphi/M_phiphi`는 각각 같은 세 차원, residual translation은 force, rotation은 force·length이다. `v_u,a_u`는 `length/time,length/time²`; `v_phi,a_phi,omega,omega_dot`는 `1/time,1/time²`. 각도 단위는 rad이며 SI를 추정하지 않는다.
Moments는 현행 [eigen2 mass 계약 M2–M3](../mitc4-shell-feast-eigen2/formulation-mass-stabilization.md#m2-consistent-scalar-moments와-적분)의 `3×3×3` Gauss–Legendre를 기준으로 하며, 그 scalar-moment lumping은 비교식에만 사용한다. 긴 유도는 선행 [mass 계약 M3](../mitc4-shell-feast-eigen/formulation-mass.md#m3-consistent-matrix와-충분한-quadrature)에 있다. 점은 `−sqrt(3/5),0,+sqrt(3/5)`, weight는 `5/9,8/9,5/9`, 순서는 증가하는 `xi→eta→zeta`다. Geometry가 bilinear degenerated shell이고 rho/t가 일정할 때 `Ni Nj z^k J0`의 축별 차수는 최대 4여서 이 moment 적분은 정확하다. `B_i`와 그 도함수는 nodal 값이므로 현재 관성과 tangent도 같은 moment를 사용한다.
Moments는 현행 [eigen2 mass 계약 M2–M3](../mitc4-shell-feast-eigen2/formulation-mass-stabilization.md#m2-consistent-scalar-moments와-적분)의 `3×3×3` Gauss–Legendre를 기준으로 하며, 그 scalar-moment lumping은 비교식에만 사용한다. 긴 유도는 선행 [mass 계약 M3](../mitc4-shell-feast-eigen/README.md)에 있다. 점은 `−sqrt(3/5),0,+sqrt(3/5)`, weight는 `5/9,8/9,5/9`, 순서는 증가하는 `xi→eta→zeta`다. Geometry가 bilinear degenerated shell이고 rho/t가 일정할 때 `Ni Nj z^k J0`의 축별 차수는 최대 4여서 이 moment 적분은 정확하다. `B_i`와 그 도함수는 nodal 값이므로 현재 관성과 tangent도 같은 moment를 사용한다.
모든 27 mass 점에서 finite positive `J0`와 기존 geometry predicate를 확인한다. Current trial도 내력 8점·tying·center·recovery와 추가 inertia 평가점에서 허용 geometry를 만족해야 한다. `abs(J)`, 점 생략, 강제 평면화는 없다. 물리 내력·물리 에너지와 section recovery는 기존 `2×2×2` 적분, drill potential은 기존 element-level 합을 보존한다.
@@ -196,7 +196,7 @@ v_{n+1}-v_n=h\{-\alpha(1-\gamma)a_{n-1}
세 coefficient 합은 1, `a_(n−1),a_n,a_(n+1)`의 시간 offset `−1,0,+1`에 대한 first moment는 `alpha+gamma=1/2`다. 여기에는 `Mdot` 잔여항이 없다. Endpoint equation이 nonsingular mass의 smooth `a=f(q,v,t)`를 정의하면 q/v의 2차 일관성과 안정성 검토를 할 수 있고 physical a도 같은 해의 정확도를 따른다. 이는 nonlinear mass의 smooth manufactured verification을 요구하는 근거이며 독립 수치 검토를 대신하지 않는다.
문헌의 nonsingular mechanical solve 및 regular index-3 조건과 달리 본 shell은 drilling direction에서 singular `M`을 가진다. §4의 `psi_qN` regularity와 constant rank의 실제 지원 범위, redundant full-coordinate 구현에서의 hidden-constraint drift·q/v/a 정확도는 **구현 후 필수 검증 항목**이다. 이 조건으로 reduced smooth dynamics를 설명할 수 있는 범위를 확인하되 모든 shell에 대한 보편 정리를 요구하지 않는다. [독립 검토](numerical-review.md)는 현 수식 후보를 대조했고, [독립 검산](numerical-review-probes.md)의 smooth variable-mass / moving-null 예제는 이를 지지한다. 이 제한된 evidence가 실제 shell/drilling 검증을 대신하지 않으며 유한회전 지원 범위를 축소하는 근거도 아니다.
문헌의 nonsingular mechanical solve 및 regular index-3 조건과 달리 본 shell은 drilling direction에서 singular `M`을 가진다. §4의 `psi_qN` regularity와 constant rank의 실제 지원 범위, redundant full-coordinate 구현에서의 hidden-constraint drift·q/v/a 정확도는 **구현 후 필수 검증 항목**이다. 이 조건으로 reduced smooth dynamics를 설명할 수 있는 범위를 확인하되 모든 shell에 대한 보편 정리를 요구하지 않는다. [독립 검토](README.md)는 현 수식 후보를 대조했고, [독립 검산](README.md)의 smooth variable-mass / moving-null 예제는 이를 지지한다. 이 제한된 evidence가 실제 shell/drilling 검증을 대신하지 않으며 유한회전 지원 범위를 축소하는 근거도 아니다.
### 5.3 다른 후보와 채택하지 않은 이유
@@ -2,7 +2,7 @@
[주 정식화](formulation.md)의 구현 수식 상세다. 상태와 미결정 항목은 주 문서를 따른다. 아래 전개는 명시한 FESA 운동학에서의 자체 유도이며 Abaqus 내부 절차의 기술이 아니다.
2026-10-11 승인 [HHT-ADR-012](ADR.md)에 따라 이번 HHT 질량은 nodal lumped `T_L/M_L`다. Consistent 식은 비교와 미분 유도 이력으로 보존한다. 다른 physics·알고리즘·공개 output의 승인은 이 선택과 별개다.
2026-10-11 승인 [HHT-ADR-012](README.md)에 따라 이번 HHT 질량은 nodal lumped `T_L/M_L`다. Consistent 식은 비교와 미분 유도 이력으로 보존한다. 다른 physics·알고리즘·공개 output의 승인은 이 선택과 별개다.
## 1. 회전과 관성의 미분
@@ -218,7 +218,7 @@ v_{n+1}-v_n=h\{-\alpha(1-\gamma)a_{n-1}
세 coefficient 합은 1, `a_(n−1),a_n,a_(n+1)`의 시간 offset `−1,0,+1`에 대한 first moment는 `alpha+gamma=1/2`다. 여기에는 `Mdot` 잔여항이 없다. Endpoint equation이 nonsingular mass의 smooth `a=f(q,v,t)`를 정의하면 q/v의 2차 일관성과 안정성 검토를 할 수 있고 physical a도 같은 해의 정확도를 따른다. 이는 nonlinear mass의 smooth manufactured verification을 요구하는 근거이며 독립 수치 검토를 대신하지 않는다.
문헌의 nonsingular mechanical solve 및 regular index-3 조건과 달리 본 shell은 drilling direction에서 singular `M`을 가진다. §4의 `psi_qN` regularity와 constant rank의 실제 지원 범위, redundant full-coordinate 구현에서의 hidden-constraint drift·q/v/a 정확도는 **구현 후 필수 검증 항목**이다. 이 조건으로 reduced smooth dynamics를 설명할 수 있는 범위를 확인하되 모든 shell에 대한 보편 정리를 요구하지 않는다. [독립 검토](numerical-review.md#numerical-review)는 현 수식 후보를 대조했고, [독립 검산](numerical-review.md#numerical-review-probes)의 smooth variable-mass / moving-null 예제는 이를 지지한다. 이 제한된 evidence가 실제 shell/drilling 검증을 대신하지 않으며 유한회전 지원 범위를 축소하는 근거도 아니다.
문헌의 nonsingular mechanical solve 및 regular index-3 조건과 달리 본 shell은 drilling direction에서 singular `M`을 가진다. §4의 `psi_qN` regularity와 constant rank의 실제 지원 범위, redundant full-coordinate 구현에서의 hidden-constraint drift·q/v/a 정확도는 **구현 후 필수 검증 항목**이다. 이 조건으로 reduced smooth dynamics를 설명할 수 있는 범위를 확인하되 모든 shell에 대한 보편 정리를 요구하지 않는다. [독립 검토](README.md)는 현 수식 후보를 대조했고, [독립 검산](README.md)의 smooth variable-mass / moving-null 예제는 이를 지지한다. 이 제한된 evidence가 실제 shell/drilling 검증을 대신하지 않으며 유한회전 지원 범위를 축소하는 근거도 아니다.
### 5.3 다른 후보와 채택하지 않은 이유
@@ -2,7 +2,7 @@
상태: 수식 검토 후보·독립 numerical review 및 사용자 결정 대기. Owner: formulation, 2026-10-12. 공식 acceptance·tolerance·tests·production은 변경하지 않았다. 현재 C08b FAIL을 유지한다. 이 문서는 새 수치 tolerance를 정하지 않는다.
기준은 [현재 시간적분 정식화](../../../docs/hht-implicit-dynamics/formulation.md), [lumped 관성 상세](../../../docs/hht-implicit-dynamics/formulation-inertia.md), [현재 연구](../../../docs/hht-implicit-dynamics/research.md#temporal-remediation-research)다. 별도 [DAE 비교](formulation.md)는 full-coordinate와 reduced 시간적분의 구별을 소유한다. 아래 증명은 **현재 C08b의 원 full-coordinate HHT**에 대한 자체 유도이며 reduced 후보를 자동 포함하지 않는다.
기준은 [현재 시간적분 정식화](formulation.md), [lumped 관성 상세](formulation-inertia.md), [현재 연구](README.md)다. 별도 [DAE 비교](formulation.md)는 full-coordinate와 reduced 시간적분의 구별을 소유한다. 아래 증명은 **현재 C08b의 원 full-coordinate HHT**에 대한 자체 유도이며 reduced 후보를 자동 포함하지 않는다.
## 1. 가정과 검산
@@ -1,6 +1,6 @@
# Shell 축소 좌표 HHT 정식화
상태: `implementation-ready; independent-review-and-shell-verification-pending`, 2026-10-12. 사용자는 실제 shell의 축소 좌표 HHT 구현·검증과 full A의 진단용 filter-combination 의미/schema 구분을 승인했다. 본 문서는 수식 인계이며 구현 또는 수치 통과를 승인하지 않는다. [기존 정식화](formulation.md), [현재 관성](formulation-inertia.md), [실험·실패 보고](temporal-remediation.md)를 전제로 한다. Carried-A의 동일 full-coordinate HHT 산술은 [별도 N7 상세](formulation-carried-a-noise.md)가 소유한다.
상태: `implementation-ready; independent-review-and-shell-verification-pending`, 2026-10-12. 사용자는 실제 shell의 축소 좌표 HHT 구현·검증과 full A의 진단용 filter-combination 의미/schema 구분을 승인했다. 본 문서는 수식 인계이며 구현 또는 수치 통과를 승인하지 않는다. [기존 정식화](formulation.md), [현재 관성](formulation-inertia.md), [실험·실패 보고](README.md)를 전제로 한다. Carried-A의 동일 full-coordinate HHT 산술은 [별도 N7 상세](formulation-carried-a-noise.md)가 소유한다.
## 1. 물리와 좌표
@@ -53,7 +53,7 @@ Empty null에서는 `Q(p)=L_p p`, `J=L_p`, `Q_t=Q''=Q'''=0`이며 원 full-coord
않는다. Primitive의 source-ordered assembly와 안정적인 contraction으로 같은 수식을
계산하고, physical mass range solve 및 original/reconstructed frame0의 full residual
판정은 유지한다. 이 산술 정정의 원인·실행 범위는
[후속 검증 기록](temporal-remediation.md)을 따른다.
[후속 검증 기록](README.md)을 따른다.
\[
Ar_{n+1}=(1+\alpha)ap_{n+1}-\alpha ap_n,\quad
@@ -178,7 +178,7 @@ scaled norm과 private `delta Ar`를 검사한다. Public
고정된다. N7에서도 augmented defect의 모든 auxiliary block을 위 식으로
변환해야 한다. `delta p`만 남기거나 hidden defect를 무시하면 해당 noise
판정은 유효하지 않다. 독립 소형 Schur 검산과 실제 shell 검증의 범위는
[수치 검토](numerical-review-reduced-coordinate.md)에 구분하여 기록한다.
[수치 검토](README.md)에 구분하여 기록한다.
### 5.2 Newton 좌표 증분과 carried Ar의 산술 표현
@@ -212,15 +212,15 @@ Predictor의 inherited bound와 초기 low를 포함하고 accepted high의 unce
다음 step으로 넘긴다. 기존 pp+Ar 또는 plain p addition bound를 이 새 경로의
완전한 evidence로 승계하거나 radius를 reset/clamp하지 않는다. 이는 같은 수학
recurrence의 산술 표현이며 stored high가 원 N3를 만족하지 못하면 여전히 실패다.
독립 exact replay와 적용 한계는 [수치 검토](numerical-review-reduced-coordinate.md#n3-qtrace의-실제-coordinate-low-carry)를 따른다.
독립 exact replay와 적용 한계는 [수치 검토](README.md)를 따른다.
위 high-only 실패 정책은 승인 이전 evidence다. [HHT-ADR-016](ADR.md)에 따라
위 high-only 실패 정책은 승인 이전 evidence다. [HHT-ADR-016](README.md)에 따라
reduced whole/requested 두 증분은 실제 candidate pair의 increment
`(p_high+p_low)-old_accepted_high`를 EFT expansion으로 비교하고, 저장 high의
RN-even 일치를 별도로 검사한다. 원래 각 scale와 `1e-12`, zero-scale exact-zero,
독립 requested trace와 CA radius는 유지한다. Raw high-only 실패값을 보존하며
승인 이전 FAIL을 변경본 PASS로 승계하지 않는다. 상세 범위와 표현 경계 검증은
[승인된 제안](c08-n3-coordinate-representation-proposal.md)을 따른다.
[승인된 제안](README.md)을 따른다.
## 6. 필요한 local operator와 시간 항
@@ -265,6 +265,6 @@ Private interface는 `EvaluateAlgebraicOperators(q,t,F,Fdot,Fddot,v)`, `SolveEmb
- C08a all-time full q/v/physical-a 차수와 실제 shell C08b physical high-frequency convergence는 별개다. 축소법의 null-rate 개선만으로 C08b finest fixed-grid 기준 통과를 주장하지 않는다. Original reference 비교·현재 full suite는 implementation owner가 수행한다.
- Fixed component graph는 general chart/rank transport, smoothness가 깨진 null cutting BC, nonprincipal branch, nonsmooth F를 지원하지 않는다. 이 경계는 fail-closed 구현과 진단으로 드러나야 하며 tolerance/rank clipping으로 숨기지 않는다.
Owner의 [Decimal96 polynomial probe](../../.dryforge/hht-remediation-20261012/dae/reduced_operators_probe.py)는 explicit-time coupled 2-constraint graph의 RC-07/09와 RC-10/11을 세 상태에서 계산했다. [결과](../../.dryforge/hht-remediation-20261012/dae/reduced_operators_probe.json), [native0 기록](../../.dryforge/hht-remediation-20261012/dae/reduced_operators_probe-native.json)을 보존한다. Implicit derivatives를 polynomial Q의 직접 미분과 비교하고, 원 평형 밖의 임의 smooth covector에서 exact tangent와 central difference를 비교하여 `delta J` 생략 효과가 nonzero임을 확인했다. 이는 수식 bookkeeping 검산이며 실제 shell 물리 모델·production 실행 또는 독립 numerical review가 아니다.
Owner의 [Decimal96 polynomial probe](README.md)는 explicit-time coupled 2-constraint graph의 RC-07/09와 RC-10/11을 세 상태에서 계산했다. [결과](README.md), [native0 기록](README.md)을 보존한다. Implicit derivatives를 polynomial Q의 직접 미분과 비교하고, 원 평형 밖의 임의 smooth covector에서 exact tangent와 central difference를 비교하여 `delta J` 생략 효과가 nonzero임을 확인했다. 이는 수식 bookkeeping 검산이며 실제 shell 물리 모델·production 실행 또는 독립 numerical review가 아니다.
독립 numerical reviewer가 RC-01–15와 actual implementation operator/BC/branch 대응을 검토해야 한다. Public A/schema details는 I/O owner의 승인 계약을 참조하며 본 수식 문서가 새로운 영속 문자열을 정하지 않는다.
+5 -5
View File
@@ -2,7 +2,7 @@
- 상태: `independently-reviewed-candidate; physics-and-validation-pending`.
- Owner: `formulation-agent`, 2026-09-22. 문서 gate 산출물이며 구현 승인이나 수치 검증 통과가 아니다.
- 기준: [프로젝트 지침](../../AGENTS.md), [제품 PRD](../PRD.md), [공통 ADR](../ADR.md#adr-028), [Feature PRD](PRD.md), [요구사항](requirements.md), [연구](research.md#research).
- 기준: [프로젝트 지침](../../AGENTS.md), [제품 PRD](../solver-core/README.md), [공통 ADR](../solver-core/README.md), [Feature PRD](README.md), [요구사항](README.md), [연구](README.md).
- 관성의 전개식·초기 일관성·정확도 근거는 [formulation-inertia](formulation-inertia.md)가 소유한다. 영속 schema, C++ 저장 구조와 tolerance는 정의하지 않는다.
2026-10-12 사용자는 actual shell의 축소 좌표 HHT 구현·검증과 full A의 진단용 filter-combination 의미/schema 구분을 승인했다. 채택 방향의 수식은 [축소 좌표 HHT](formulation-reduced-coordinate.md)가 소유한다. 아래 full-coordinate recurrence는 기존 구현과 비교 이력이며 축소법의 full q/v update 식으로 승계하지 않는다. 승인과 actual solver 검증 완료는 구분한다.
@@ -11,7 +11,7 @@
**추천 후보는 유한회전 kinetic energy에서 유도한 관성력과, 물리적 가속도 `a` / 알고리즘 가속도 `A`를 분리하는 HHT 확장이다.** 일정 질량의 표준 HHT force weighting으로 정확히 환원한다. 단순히 `M(q)`를 기존 일정 질량 잔차에 대입하는 식은 추천하지 않는다. 이 차이는 [상세 §5](formulation-inertia.md#5-시간-정확도와-대안의-경계)에 유도한다.
**2026-10-11 사용자가 고유치·HHT lumped mass를 승인했다([HHT-ADR-012](ADR.md)).** HHT는 아래 nodal kinetic measure의 `T_L/M_L`을 채택하고 기존 shell eigen nodal block lumping을 유지한다. `T_C/M_C`는 비교·유도 이력으로 보존한다. 선행 eigen 결과나 동적 reference와의 적합도로 선택한 것이 아니다. 유한회전 지원 범위를 작은 회전으로 축소하지 않는다.
**2026-10-11 사용자가 고유치·HHT lumped mass를 승인했다([HHT-ADR-012](README.md)).** HHT는 아래 nodal kinetic measure의 `T_L/M_L`을 채택하고 기존 shell eigen nodal block lumping을 유지한다. `T_C/M_C`는 비교·유도 이력으로 보존한다. 선행 eigen 결과나 동적 reference와의 적합도로 선택한 것이 아니다. 유한회전 지원 범위를 작은 회전으로 축소하지 않는다.
아래 HHT 확장과 `0+` 초기화는 HHT-ADR-009에서 채택한 계약을 유지한다. 이번 lumped mass 선택은 그 밖의 physics·알고리즘·공개 output 범위를 확대하지 않는다.
@@ -119,7 +119,7 @@ T_L=\frac12\sum_i\left(m_i|v_{ui}|^2+2s_i v_{ui}\cdot B_iv_{\phi i}
\beta=\frac14(1-\alpha)^2.
\]
기본값은 `alpha=−0.05`, `beta=0.275625`, `gamma=0.55`다. [공개 기본값 근거](research.md#research--3-reference-입력의-공개-의미)와 [Sandia의 결합계수](https://www.sandia.gov/files/sierra/SM_Users_5_20/main/implicit/integration.html)를 따른다. `alpha=0`은 평균가속도 Newmark다. 이 범위는 일반 유한회전 문제의 무조건 안정성이나 큰 시간간격의 정확도를 보증하지 않는다. 별도 `beta/gamma` 입력을 승인한 의미도 아니다.
기본값은 `alpha=−0.05`, `beta=0.275625`, `gamma=0.55`다. [공개 기본값 근거](README.md)와 [Sandia의 결합계수](https://www.sandia.gov/files/sierra/SM_Users_5_20/main/implicit/integration.html)를 따른다. `alpha=0`은 평균가속도 Newmark다. 이 범위는 일반 유한회전 문제의 무조건 안정성이나 큰 시간간격의 정확도를 보증하지 않는다. 별도 `beta/gamma` 입력을 승인한 의미도 아니다.
**FESA 초기화 후보 계약:** frame 0은 `t=0+`, `q_0=v_0=0`, 전값 `F_0=F*`다. `M_ff(q_0)a_f0=F_f0−f_int,f(q_0)`와 [mass-null 일관성](formulation-inertia.md#4-mass-null과-초기-일관성)을 함께 풀어 `a_0`를 구한다. `A_0=a_0`, `g_0=f_int(q_0)−F_0`를 정의한다. `g_0=0` 또는 `a_0=0`을 임의 대입하지 않는다. 이는 공개 STEP 의미에 맞춘 FESA 계약 제안이며 Abaqus의 숨은 첫 history 생성 절차를 확인한 주장이 아니다.
@@ -212,6 +212,6 @@ W_{0\to n}=F^{\star T}(q_n-q_0),\quad
| 구현 lifecycle | 동일 state tangent, 실패 rollback, time/frame 순서, deterministic assembly와 반복 결과 |
| 외부 reference | 지정 원본 101 frames × 9 nodes, frame/instance/node/component의 exact mapping; U blocking / UR warning-only 및 공통 TOLERANCE. V/A/energy correctness는 해당 CSV에 coverage 없음 |
수식 후보의 [독립 검토](numerical-review.md#numerical-review)는 완료되었으며 표시된 수식에서 새 오류는 발견되지 않았다. 현재 질량 선택은 HHT-ADR-012의 nodal lumped로 대체되었다. 이후 구현 전 상태를 설명하는 이 문단은 최초 정식화 당시의 기록이며 변경본 검증의 통과를 뜻하지 않는다. 구현 전 남은 계약은 (1) HHT 확장·초기화의 FESA 채택과 나머지 physics 범위, (2) initial algebraic regularity와 trial 실패 판정의 수치 기준, (3) 공식 output 의미의 공개 범위/I/O다. 이 선택 후 구현할 수 있는 수식 후보이며, 실제 유한회전 shell의 drilling DAE·관성 tangent·q/v/a 시간 수렴은 **구현 후 기능 acceptance에 필요한 검증**이다. 부모 문헌의 nonsingular-mass 조건을 shell mass-null에 자동 적용하지 않되, 모든 shell DAE의 보편적 수렴 증명을 코드 작성의 선행 조건으로 요구하지 않는다. 현재 문서 완료나 제한된 probe를 전체 solver 승인·검증 통과로 표시하지 않는다.
수식 후보의 [독립 검토](README.md)는 완료되었으며 표시된 수식에서 새 오류는 발견되지 않았다. 현재 질량 선택은 HHT-ADR-012의 nodal lumped로 대체되었다. 이후 구현 전 상태를 설명하는 이 문단은 최초 정식화 당시의 기록이며 변경본 검증의 통과를 뜻하지 않는다. 구현 전 남은 계약은 (1) HHT 확장·초기화의 FESA 채택과 나머지 physics 범위, (2) initial algebraic regularity와 trial 실패 판정의 수치 기준, (3) 공식 output 의미의 공개 범위/I/O다. 이 선택 후 구현할 수 있는 수식 후보이며, 실제 유한회전 shell의 drilling DAE·관성 tangent·q/v/a 시간 수렴은 **구현 후 기능 acceptance에 필요한 검증**이다. 부모 문헌의 nonsingular-mass 조건을 shell mass-null에 자동 적용하지 않되, 모든 shell DAE의 보편적 수렴 증명을 코드 작성의 선행 조건으로 요구하지 않는다. 현재 문서 완료나 제한된 probe를 전체 solver 승인·검증 통과로 표시하지 않는다.
이번 owner 작업은 기존 정식화·source 대조, 일차 문헌 대조와 수식 유도 및 문서 정적 검토다. [독립 시간정확도 검산](numerical-review.md#numerical-review-probes)은 variable-mass SDOF와 moving-null 예제에서 추천 후보의 약 2차 q/v/physical-a 수렴을 관찰했고 naive 확대의 약 1차 오차를 구별했다. 이는 shell solver 검증이나 일반 drilling DAE 증명을 대신하지 않는다. Build/test·solver/reference 실행은 문서 작업 범위가 아니므로 미실행이다. 독립 검산과 Numerical Review 결과는 해당 owner의 보고서가 소유하며 본 문서가 스스로 승인하지 않는다.
이번 owner 작업은 기존 정식화·source 대조, 일차 문헌 대조와 수식 유도 및 문서 정적 검토다. [독립 시간정확도 검산](README.md)은 variable-mass SDOF와 moving-null 예제에서 추천 후보의 약 2차 q/v/physical-a 수렴을 관찰했고 naive 확대의 약 1차 오차를 구별했다. 이는 shell solver 검증이나 일반 drilling DAE 증명을 대신하지 않는다. Build/test·solver/reference 실행은 문서 작업 범위가 아니므로 미실행이다. 독립 검산과 Numerical Review 결과는 해당 owner의 보고서가 소유하며 본 문서가 스스로 승인하지 않는다.
+17 -17
View File
@@ -12,12 +12,12 @@
- 요청 outcome: `pass`; 다음 owner: `numerical-review-agent`.
- 상태: 독립 numerical review 요청이며 자기 승인이나 workflow 전이가 아니다.
필수 입력은 [FEATURED_AGENTS](FEATURED_AGENTS.md), [PRD](PRD.md), [ADR](ADR.md),
[requirements](requirements.md#requirements), [requirements evidence](requirements.md#requirements-evidence),
[research](research.md#research), [research evidence](research.md#research-evidence)이다.
[프로젝트 지침](../../AGENTS.md), [프로젝트 PRD](../PRD.md), [ARCHITECTURE](../ARCHITECTURE.md),
[공통 ADR](../ADR.md), [TOLERANCE](../TOLERANCE.md), [agent 계약](../SOLVER_AGENT_DESIGN.md),
[문서 소유권](../FEATURE_DOCUMENTATION.md)을 적용했다.
필수 입력은 [FEATURED_AGENTS](README.md), [PRD](README.md), [ADR](README.md),
[requirements](README.md), [requirements evidence](README.md),
[research](README.md), [research evidence](README.md)이다.
[프로젝트 지침](../../AGENTS.md), [프로젝트 PRD](../solver-core/README.md), [ARCHITECTURE](../solver-core/README.md),
[공통 ADR](../solver-core/README.md), [TOLERANCE](../solver-core/README.md), [agent 계약](../solver-core/README.md),
[문서 소유권](../solver-core/README.md)을 적용했다.
<a id="formulation--핵심-계약"></a>
### 핵심 계약
@@ -94,7 +94,7 @@ scratch 비용은 아직 실제 runtime evidence가 필요하다. Release readin
- Input contract revision: `r2`
- 기본 보고서: [formulation.md](formulation.md#formulation)
근거는 [research evidence](research.md#research-evidence)의 `S01`, `S02`, `P01`, `R01`~`R03`이다.
근거는 [research evidence](README.md)의 `S01`, `S02`, `P01`, `R01`~`R03`이다.
아래 유도는 FESA의 승인된 운동학에 대한 것이며 Abaqus 내부 질량과의 동등성 주장이 아니다.
r2는 M4의 numerical scale만 [S1](formulation.md#formulation-stabilization--s1-초기-physical-trace로-고정하는-단일-scale)로
대체한다. M1/M2 및 M5~M10의 질량·quadrature·moment·lumping 식은 영향 확인 후 보존했다.
@@ -170,7 +170,7 @@ k_d=10^{-3}k_{ref,e}. \tag{M4}
drilling map은 유지하고 옛 최소 대각 scale만 사용자 승인 범위에서 대체한다.
이 유도 작성 당시 source는 옛 scale을 사용했다. 현재 [source](../../src/fesa/elements/mitc4_shell.cpp)의
채택식과 구현 검증은 [eigen2 정식화](../mitc4-shell-feast-eigen2/formulation.md)와
[구현 검증](../mitc4-shell-feast-eigen2/implementation-verification.md)을 따른다.
[구현 검증](../mitc4-shell-feast-eigen2/README.md)을 따른다.
Drilling energy는 수치 stabilization이며 물리 strain/stress가 아니다.
`K_e q_e`는 내부 elastic generalized force, `M_L,e q_ddot,e`는 inertia다.
최종 반이산식은 `M_L q_ddot + Kq=0`이다. Harmonic ansatz
@@ -322,9 +322,9 @@ C^{(0)}=\frac{\rho t A}{36}
- Input contract revision: `r2`
- 기본 보고서: [formulation.md](formulation.md#formulation)
승인 근거는 [MFE-ADR-007](ADR.md#mfe-adr-007--기존-stabilization과-좌표-불변성-acceptance-정합),
`FEM-REQ-MITC4-EIGEN-002/008/014/024/027` 및 [기존 계약 대체 범위](requirements.md#requirements--r2의-기존-계약-대체-범위)다.
[연구 R07](research.md#research-evidence--r07--r2-stabilization-근거와-영향)의 후보에서 아래 하나를 선택한다.
승인 근거는 [MFE-ADR-007](README.md),
`FEM-REQ-MITC4-EIGEN-002/008/014/024/027` 및 [기존 계약 대체 범위](README.md)다.
[연구 R07](README.md)의 후보에서 아래 하나를 선택한다.
식 S1~S8은 FESA 계약에 대한 유도이며 외부 solver의 stabilization과 동일하다는 주장이 아니다.
<a id="formulation-stabilization--s1-초기-physical-trace로-고정하는-단일-scale"></a>
@@ -366,7 +366,7 @@ d_r=(K_{20}^0)_{rr}
\]
따라서 S1이 양수인 필요충분조건은 이 여덟 값 중 적어도 하나가 양수인 것이다.
이는 [기존 요구 034/036](../linear-static-mitc4-shell/requirements.md)의 유효 physical
이는 [기존 요구 034/036](../linear-static-mitc4-shell/README.md)의 유효 physical
rotation inventory 조건과 같다. 개별 `R_i`가 모두 PD여야 한다는 새 조건은 없다.
Exact zero diagonal/block도 합에 포함하므로 기존 허용 geometry를 선별해 줄이지 않는다.
유효 geometry는 noncollinear midsurface를 가지며, 기존 physical kernel의 non-rigid
@@ -514,7 +514,7 @@ S4/E3 projection은 이 nonlinear Hessian·preload·prestressed eigen으로 확
<a id="formulation-stabilization--s6-nr-mfe-001의-새-algebraic-target과-정적-대응"></a>
### S6. NR-MFE-001의 새 algebraic target과 정적 대응
[NR 소유 반례](numerical-review.md#numerical-review-evidence--nr-mfe-001-직접-계산-반례)의 독립 적분 block을
[NR 소유 반례](README.md)의 독립 적분 block을
입력 근거로 사용한다. 그 geometry·source BC·material 및 옛 실패 이력은 보존한다.
각 corner에서 `R_aa=49/12`, `R_bb=23/6`, `R_ab=±1/8`이므로
@@ -560,7 +560,7 @@ exact first/second directional derivatives·물리 선형극한·정적 평형/r
실행해야 하는 기존 `shell`, `shellNL`, `shellNL-meshfine` 및 linear-limit closure portfolio와
후속 meshfine-02 이력의 구분, source identity, U blocking/UR warning-only, reaction review-only는
[requirements evidence의 단일 portfolio](requirements.md#requirements-evidence--r2-승인-범위와-정적-재검증)를 따른다.
[requirements evidence의 단일 portfolio](README.md)를 따른다.
새 eigen 외부 비교는 지정 input/TXT의 10개 Value만 사용한다. Static reference를 eigen
mode-shape gate로 추가하거나 기존 static 회귀를 Value-only를 이유로 삭제하지 않는다.
Numerical threshold·필수 case 구체화·FEAST control/budget/seed와 독립 반례 해소 판정은 NR,
@@ -575,7 +575,7 @@ TDD/runtime/reference 실행은 Implementation, 독립 물리 판단은 Physics
- Input contract revision: `r2`
- 기본 보고서: [formulation.md](formulation.md#formulation)
[질량 유도 M1~M10](formulation.md#formulation-mass), [research evidence](research.md#research-evidence)의
[질량 유도 M1~M10](formulation.md#formulation-mass), [research evidence](README.md)의
`S03`~`S08`, `P01`, `R03/R04/R07`를 적용한다. 아래 reduction은
[r2 scale](formulation.md#formulation-stabilization)로 개선된 원형상 stabilized stiffness와
**derived lumped mass**의 pencil에 정확히 대응한다. 기존 nonlinear trial tangent와는 별개다.
@@ -876,7 +876,7 @@ Modal residual의 constrained 성분을 static reaction으로 출력하지 않
[개선된 scale·공변성 S1~S8](formulation.md#formulation-stabilization)의
기호를 사용한다. 이 문서는 측정량과 zero branch를 정의하며 수치 acceptance 값과
필수 benchmark 선정은 Numerical Review가 독립 검토하여 고정한다.
외부 기준의 수치는 [TOLERANCE](../TOLERANCE.md)를 그대로 적용한다.
외부 기준의 수치는 [TOLERANCE](../solver-core/README.md)를 그대로 적용한다.
<a id="formulation-verification--v1-공통-scale과-zero-branch"></a>
### V1. 공통 scale과 zero branch
@@ -1070,7 +1070,7 @@ Case의 구체적 목록·숫자는 NR가 정하고 Planning이 tests와 TDD ste
Frequency 재계산, mode shape correlation이나 다른 mass variant의 더 가까운 결과 선택으로
이를 대체하지 않는다. Mode/frame은 NR/I/O가 common same-frame family 규칙에 맞춰
정의하고 missing/extra/duplicate/nonfinite를 tolerance 전에 거부한다.
[r1 reference-model](reference-model.md)의 10개 singleton family·모두 blocking 계약과
[r1 reference-model](README.md)의 10개 singleton family·모두 blocking 계약과
공통 정책에 따른 실효 mode별 1%는 보존할 근거다. Formulation이 이를 재선택하지 않으며
r2 영향 재확인은 NR 소유다. V1~V6의 내부 수치 기준은 아직 NR에서 최종 고정하지 않았다.
Schema 경로/저장 field/public diagnostic 이름은 I/O owner의 계약이다.
@@ -2,7 +2,7 @@
Feature `mitc4-shell-feast-eigen2`, formulation r1. [기본 보고서](formulation.md)와
[질량·stabilization](formulation-mass-stabilization.md)의 기호를 사용한다.
Intel evidence는 [research R04/G01/G02](research.md#research-evidence)에 따른다.
Intel evidence는 [research R04/G01/G02](README.md)에 따른다.
## E1. 실제 BC를 먼저 적용한다
@@ -129,7 +129,7 @@ K와 identity의 pattern이 같을 필요는 없다. Vendor types와 workspace
매 call마다 `feastinit` 후 명시 controls를 채운다. C-index `fpm[49]=1`은 CSR count를
m0로 반환하고 flag가 0으로 reset된다. Count output m0·solve requested m0·allocated capacity를
분리한다. CSR/SPD 검사를 켜고 subspace-only를 끈다.
[MFE2-ADR-011](ADR.md#mfe2-adr-011--feast-residual-stopping과-s3-후속-분리)의 사용자 승인으로
[MFE2-ADR-011](README.md)의 사용자 승인으로
`fpm[5]=0` residual stopping을 사용한다. 내부 목표 `1e-12`와 전체 c개 독립 residual
기준 `1e-10`을 유지하며 zero/mixed-zero mode에도 실제 backend 회귀를 수행한다. `epsout`은
`|trace_i-trace_previous|/max(|emin|,|emax|)`이며 eigenpair 상대오차가 아니다.
+12 -12
View File
@@ -1,8 +1,8 @@
# MITC4 질량·공변 stabilization·FEAST 정식화
- Feature: `mitc4-shell-feast-eigen2`; Owner: `formulation-agent`; 정식화 revision: `r1`.
- 입력: [requirements r1](requirements.md#requirements), [근거](requirements.md#requirements-evidence), [Feature ADR](ADR.md).
- 기준: [프로젝트 지침](../../AGENTS.md), [PRD](../PRD.md), [ADR-028](../ADR.md#adr-028), [ARCHITECTURE](../ARCHITECTURE.md).
- 입력: [requirements r1](README.md), [근거](README.md), [Feature ADR](README.md).
- 기준: [프로젝트 지침](../../AGENTS.md), [PRD](../solver-core/README.md), [ADR-028](../solver-core/README.md), [ARCHITECTURE](../solver-core/README.md).
- 상태: 독립 numerical review에 인계하는 수학 계약. 구현·runtime·reference 통과 선언이 아니다.
## 선택과 적용 범위
@@ -37,10 +37,10 @@ Numerical scale은 초기 physical rotary diagonal 8개 trace 평균의 `10^-3`
| [verification V1–V5](../mitc4-shell-feast-eigen/formulation.md#formulation-verification) | 같은 단위의 residual/Gram·energy·covariance·density 측정량 | 기존 tolerance 값·test 수·gate·실행 portfolio |
질량 및 trace 평균은 FESA 운동학에서 유도한 선택이다. 외부 source가 이 lumping/scale을
지정한다고 주장하지 않는다. 최신 API 근거와 검토 한계는 [research](research.md#research)와
[research evidence](research.md#research-evidence)에 연결한다. FEAST count의 `fpm[49]=1`과
residual stopping의 `fpm[5]=0`은 C-index다. 종료 제어는 [ADR-011](ADR.md#mfe2-adr-011--feast-residual-stopping과-s3-후속-분리)과
[controls C5](numerical-review-controls.md#c5-fixed-lower-enclosure와-bounded-upper-search)의 승인된 변경을 적용한다.
지정한다고 주장하지 않는다. 최신 API 근거와 검토 한계는 [research](README.md)와
[research evidence](README.md)에 연결한다. FEAST count의 `fpm[49]=1`과
residual stopping의 `fpm[5]=0`은 C-index다. 종료 제어는 [ADR-011](README.md)과
[controls C5](README.md)의 승인된 변경을 적용한다.
빈 count interval의 `info=0,m0=0`과 작은
scratch 허용은 보장된 vendor 계약으로 채택하지 않는다.
@@ -53,13 +53,13 @@ scratch 허용은 보장된 vendor 계약으로 채택하지 않는다.
같은 물리 partial BC 및 admissible tangent moment를 사용하는 정적 대응도 검사한다.
Nonlinear scale immutability·objective energy·일관 residual/Hessian·선형극한을 재검증한다.
외부 portfolio는 오직 새 [requirements의 지정 범위](requirements.md#requirements)를 따른다.
외부 portfolio는 오직 새 [requirements의 지정 범위](README.md)를 따른다.
`shell`, `shellNL`, `shellNL-eigen-meshfine`의 retained 의무와 synthetic 내부 검사를 유지한다.
제외된 네 예제는 원본·복사본·cache·과거 결과로 재사용하지 않는다. Eigen 외부 비교는
원본 TXT의 `Value`이며 [공통 tolerance](../TOLERANCE.md)를 변경하지 않는다.
원본 TXT의 `Value`이며 [공통 tolerance](../solver-core/README.md)를 변경하지 않는다.
내부 수치 기준, FEAST control·endpoint separation·bounded call budget·seed의 독립 판정은
[numerical review](numerical-review.md)와 [controls](numerical-review-controls.md)에 기록했다.
입력 allowlist, result schema·identity 및 실패 진단은 [I/O](io.md)를 따른다.
실제 설치 runtime·reference 결과와 미실행 한계는 [구현 검증](implementation-verification.md),
S3 후속 범위는 [현재 PRD](PRD.md)에 기록했다. 이 수학 계약 자체를 실행 통과로 해석하지 않는다.
[numerical review](README.md)와 [controls](README.md)에 기록했다.
입력 allowlist, result schema·identity 및 실패 진단은 [I/O](README.md)를 따른다.
실제 설치 runtime·reference 결과와 미실행 한계는 [구현 검증](README.md),
S3 후속 범위는 [현재 PRD](README.md)에 기록했다. 이 수학 계약 자체를 실행 통과로 해석하지 않는다.
@@ -1,10 +1,10 @@
# Shell 과도 열전달 정식화
- 상태: **2026-09-29 승인된 물리·방법을 반영한 구현용 정식화**.
독립 검토의 판정과 검증 기준은 [numerical-review](numerical-review.md)를 따른다.
독립 검토의 판정과 검증 기준은 [numerical-review](README.md)를 따른다.
- 담당 범위: `FEM-REQ-SHELL-THERMAL-001`–`018`의 수식·물리 의미와 검증 함의.
- 기준: [Feature PRD](PRD.md), [Feature ADR](ADR.md), [프로젝트 지침](../../AGENTS.md),
[프로젝트 PRD](../PRD.md), [공통 ADR](../ADR.md#adr-028), [ARCHITECTURE](../ARCHITECTURE.md).
- 기준: [Feature PRD](README.md), [Feature ADR](README.md), [프로젝트 지침](../../AGENTS.md),
[프로젝트 PRD](../solver-core/README.md), [공통 ADR](../solver-core/README.md), [ARCHITECTURE](../solver-core/README.md).
- 아래 수식은 승인된 FESA 모델이다. Abaqus 내부 알고리즘과 동등하다는 주장이 아니다.
이전 Proposed 보고서의 검산은 제한된 과거 evidence이며 현재 solver 검증을 대신하지 않는다.
@@ -152,7 +152,7 @@ bound로 판정한다. 선분 밖임이 확정되면 제외하고, 포함이 확
endpoint를 공유하면서 부분적으로 겹치는 선분도 포함하지만 접속을 새로 생성하지 않는다.
모든 mesh node와 모든 edge 사이의 전역 좌표 scan은 수행하지 않는다. 후보 없는 서로 다른
component/instance의 우연 접촉과 같은 component 내 멀리 떨어진 부분의 좌표 접촉은 검사
대상이 아니다. 이는 [PRD STH-C01](PRD.md#sth-c01--모델-geometry와-자유도)의 source 접속
대상이 아니다. 이는 [PRD STH-C01](README.md)의 source 접속
검증이며, patch 내부 injectivity 검사나 미지원 global contact 검출을 대신하지 않는다.
## 3. 20 DOF와 온도 보간
@@ -553,7 +553,7 @@ component/좌표계로 구별한다. 공식 flux는 global Cartesian `q`이며
## 10. 검증 함의와 독립 검토 인계
다음은 실행 결과가 아닌 검증 설계다. 수치 기준은 독립 reviewer가 정하며
외부 비교는 [공통 TOLERANCE](../TOLERANCE.md)를 그대로 따른다.
외부 비교는 [공통 TOLERANCE](../solver-core/README.md)를 그대로 따른다.
| 검증 | 관찰할 내용 |
| --- | --- |
@@ -635,7 +635,7 @@ Reviewer는 production kernel 착수 전에 roundoff/residual/energy 판정의
mesh·시간열·series 절단·수렴차수 구간·warped quadrature 진단을 독립적으로 고정한다.
본 문서는 임의 tolerance 상수를 만들거나 공통 외부 5%를 내부 검증에 전용하지 않는다.
필수 NT11 비교는 `Step-1/t37/Part-1-1/source node/DOF11`의 729개 원본 row mapping과
[공통 TOLERANCE](../TOLERANCE.md)를 유지한다. 실패는 조사·상위 보고 대상이며
[공통 TOLERANCE](../solver-core/README.md)를 유지한다. 실패는 조사·상위 보고 대상이며
reference 보정·음수 clamp·방법 변경·tolerance 완화의 근거가 아니다.
물리·방법의 과거 미결정은 이번 승인 계약으로 대체되었다. 남은 독립 작업은 위 수치