docs(hex8): define approved mean-volume energy contract

This commit is contained in:
KOKO\Mimi
2026-10-10 23:00:58 +09:00
parent 7b75f37462
commit 96b6f86f28
9 changed files with 313 additions and 113 deletions
+10 -2
View File
@@ -52,11 +52,15 @@ repository-conforming 이름 조정은 허용하며 physics/schema 수정은 아
않아 T2/T3를 분리한다. Layout은8 source-order nodes×UX/UY/UZ다.
- Explicit `EvaluateLinear(u)`/`EvaluateNonlinear(u)`는 immutable element의 local u[24]를 받아
f[24], Kmat/Kgeo/Kt[24,24], strain energy와8 typed integration-point rows를 반환한다.
Linear은 material=K0/geo=0, nonlinear은 같은 trial의 energy 미분이다. `ComputeMass()`는
Linear은 새 체적 평균 energy의 zero Hessian material=K0/geo=0,
nonlinear은 같은 trial의 체적 평균 Green energy 미분이다. `ComputeMass()`는
local consistent24×24 Matrix contribution이며 absent density이면 실패한다.
- Typed Solid point row는 internal element index, point ID1–8, natural/reference coordinate3,
Cauchy stress6·infinitesimal/Green tensor strain6를 가진다. Identity/상수 coordinates를 trial마다
다른 source row로 만들지 않는다. Generic recovery variant의 Solid payload는 별도 type이다.
다른 source row로 만들지 않는다. 저장 strain은 실제 kinematics의 strain이며 평균된
대체 strain이 아니다. 응력은 같은 point의 deviatoric strain과 요소 전체의 reference-volume
평균 trace에 의존한다. 비선형은 PK2를 실제 F/J로 Cauchy 변환하며 평균 Cauchy pressure를
가정하지 않는다. Generic recovery variant의 Solid payload는 별도 type이다.
- Semantic Domain은 Solid element/section/material/density·amplitude 정의를 소유한다.
DOF profile은 `kSolidStructural`에 해당하는3-component 구조이며 `FullDof`, free/constrained,
generic `ElementScatter`, sparse pattern의 기존 공개 의미를 유지한다. 동작별 node component
@@ -108,6 +112,10 @@ Result array의 leading node/element inventory와 component list를 self-check
| mode vectors | `UX,UY,UZ` / `mass-normalized`; `normalization=phi^T*M*phi=1` |
Strain-energy definition은 linear `0.5*u^T*K0*u`, nonlinear `sum(W*detJ0)`다.
K0는 승인된 mean-trace energy의 zero Hessian이고 nonlinear Wg는
`mu*dev(Eg):dev(Eg)+0.5*kappa*theta_bar^2`다. 같은 theta_bar를8점의 reference 가중치로
계산하므로 그 합은 요소 체적 항 `0.5*kappa*V*theta_bar^2`와 같다. 기존 attribute 문자열과
field/schema/dtype은 유지하며 새 energy 의미는 HEX8-ADR-009 및 정식화를 따른다.
Kinetic은 `0.5*v^T*M*v`, work는 `sum(0.5*(F_old+F_new)*delta_u)`이며 initial0이다.
Balance error는 `T+U-T0-U0-Wext`이고 HHT numerical dissipation을0으로 보정하지 않는다.
Constrained mask/prescribed 의미·point ordering은 model inventory에서 확인한다.