docs(hex8): define approved mean-volume energy contract
This commit is contained in:
@@ -4,7 +4,8 @@
|
||||
기본 물리식·DOF·부호·적분점 순서는 [formulation](formulation.md), 판정 원본은
|
||||
[numeric-controls](numeric-controls.md), 영속 출력은 [I/O](io.md)다. 본 문서는
|
||||
승인된 정밀도 변경의 구현 계약이며 구현 완료나 독립 수치 승인이 아니다.
|
||||
기존 선형/비선형 정적·고유치의 Float64 경로를 변경하는 계약이 아니다.
|
||||
사용자 선택 B의 평균 Green trace energy는 모든 절차에 적용하며 이 문서는 그 동적 paired
|
||||
평가를 정의한다. Static/frequency의 F64 산술 종류는 유지하되 물리 energy/K0는 같은 새 모델이다.
|
||||
|
||||
## 산술과 고정 계수
|
||||
|
||||
@@ -74,11 +75,16 @@ Normal quotient의 `Bc=u*|rh/dh|`, 지원 subnormal의 exact rational rounding c
|
||||
106-bit 보장이 아니다. 독립 exact rational fixtures와 binary scaling으로 실제 graph를 검증한다.
|
||||
|
||||
최소 계수 정밀도 선택은 다음과 같다. 기존 reference cache의 F64 \(N_a,G_a,w_g\),
|
||||
Lamé 상수와 좌표, 기존 조립 F64 consistent \(M\), 기존 load assembler가 endpoint에서
|
||||
평가한 F64 \(F_n\)를 exact dyadic 입력으로 올린다. 형상/재료/질량 적분을 새로 정의하거나
|
||||
높은 차수 quadrature로 바꾸지 않는다. 단, 아래 상대변위의 미분에 필요한 \(\widehat G_0\)와
|
||||
dynamic paired linear operator는 동일 pair 산술로 구성한다. 기존 rounded K0를 paired
|
||||
힘에 혼합하지 않는다. 일정 F64 \(\alpha,\beta,\gamma,h\)는 기존 생성값을 올리며
|
||||
μ와 좌표, 기존 조립 F64 consistent \(M\), 기존 load assembler가 endpoint에서 평가한 F64
|
||||
\(F_n\)를 exact dyadic 입력으로 올린다. Bulk κ는 [기본 정식화](formulation.md)의
|
||||
\(E/[3(1-2\nu)]\) direct F64 coefficient를 한 번 finite/positive 검증 후 exact lift한다.
|
||||
실수 identity \(\kappa=\lambda+2\mu/3\)로부터 변경 전 rounded λ/μ cache의 bit equality를
|
||||
추론하지 않는다. 새 law에는 별도 λ cache/guard가 없으며 μ/κ를 같은 energy/S/Hessian에 쓴다.
|
||||
입력 ν 범위·기존 reference geometry/mass 적분은 유지하며 높은 차수
|
||||
quadrature로 바꾸지 않는다. 아래 상대변위의 \(\widehat G_0\), 새 paired linear operator,
|
||||
평균·dev의 `/3` 및 cross-GP contraction은 동일 pair 산술로 구성한다.
|
||||
새 F64 K0 또는 변경 전 pointwise K0를 paired 힘에 혼합하지 않는다.
|
||||
일정 F64 \(\alpha,\beta,\gamma,h\)는 기존 생성값을 올리며
|
||||
\(c=1+\alpha\), \(b=\beta h^2\)와 모든 파생 계수는 공통 pair 산술로 계산한다.
|
||||
\(b>0,c>0\) 및 finite를 요구한다. 기존 coefficient 생성·검증과
|
||||
`time=double(n)*h`, `N*h==T` 및 endpoint 하중 평가 의미는 유지한다.
|
||||
@@ -105,49 +111,72 @@ exact일 필요가 없다. \(\widehat G_0\) 선택은 기존 상대변위 weak f
|
||||
\(\sum_a\widehat G_a\)가 exact0이라고 주장하지 않는다. Node0의 미분 오차도 이 graph의
|
||||
산술 bound에 포함한다.
|
||||
|
||||
선형 동해석에서는 \(\epsilon=\operatorname{sym}H\),
|
||||
\(\sigma=\lambda\operatorname{tr}\epsilon I+2\mu\epsilon\)이고
|
||||
\(V=\sum_gw_g>0\)는 같은 reference8점의 pair sum이고 trial에 따라 변하지 않는다.
|
||||
선형 동해석에서는 실제 \(\epsilon_g=\operatorname{sym}H_g\),
|
||||
\(\bar\theta_{lin}=\sum_gw_g\operatorname{tr}\epsilon_g/V\),
|
||||
\(\sigma_g=2\mu\operatorname{dev}\epsilon_g+\kappa\bar\theta_{lin}I\)이고
|
||||
|
||||
\[
|
||||
U_{lin}=\sum_g[\tfrac12\lambda(\operatorname{tr}\epsilon)^2+
|
||||
\mu\epsilon:\epsilon]w_g,
|
||||
\quad f_{ai}=\sum_g\sigma_{iJ}\widehat G_{aJ}w_g,
|
||||
\quad K_{lin}=\sum_g\widehat B_g^TC\widehat B_gw_g.
|
||||
U_{lin}=\mu\sum_gw_g\operatorname{dev}\epsilon_g:\operatorname{dev}\epsilon_g
|
||||
+\kappa V\bar\theta_{lin}^2/2,
|
||||
\quad f_{ai}=\sum_gw_g\sigma_{g,iJ}\widehat G_{ag,J}.
|
||||
\]
|
||||
|
||||
\(\widehat B\)는 위 \(\widehat G\)로 만든 기존 engineering-shear B다.
|
||||
\(Q_g^{ai}=\operatorname{sym}(e_i\otimes\widehat G_{ag})\),
|
||||
\(b^0_{ai}=\sum_gw_g\widehat G_{ag,i}\)에서 linear operator는
|
||||
|
||||
\[
|
||||
(K_{lin})_{ai,bk}=2\mu\sum_gw_g\operatorname{dev}Q_g^{ai}:\operatorname{dev}Q_g^{bk}
|
||||
+\kappa b^0_{ai}b^0_{bk}/V.
|
||||
\]
|
||||
|
||||
실제 strain의 engineering/tensor shear 구분은 기존 계약을 유지한다.
|
||||
비선형 동해석은 \(F=I+H\)이며 tiny strain의 불필요한 I 취소를 피하는 동등식
|
||||
|
||||
\[
|
||||
E_G=\operatorname{sym}H+\tfrac12H^TH,\quad
|
||||
S=\lambda\operatorname{tr}(E_G)I+2\mu E_G,\quad P=FS,
|
||||
E_g=\operatorname{sym}H_g+\tfrac12H_g^TH_g,\quad
|
||||
\bar\theta=\sum_gw_g\operatorname{tr}E_g/V,\quad
|
||||
S_g=2\mu\operatorname{dev}E_g+\kappa\bar\theta I,\quad P_g=F_gS_g,
|
||||
\]
|
||||
\[
|
||||
U=\sum_g[\tfrac12\lambda(\operatorname{tr}E_G)^2+\mu E_G:E_G]w_g,
|
||||
\qquad f_{ai}=\sum_gP_{iJ}\widehat G_{aJ}w_g.
|
||||
U=\mu\sum_gw_g\operatorname{dev}E_g:\operatorname{dev}E_g+\kappa V\bar\theta^2/2,
|
||||
\qquad f_{ai}=\sum_gw_gP_{g,iJ}\widehat G_{ag,J}.
|
||||
\]
|
||||
|
||||
\(H,E_G,S,P,F,U,f\)와 8점 recovery는 low를 보존한다. H를 만든 직후 F64로 축소하는
|
||||
경로는 이 계약을 충족하지 않는다. \(\mathbb C\)는 기본 정식화의 같은 StVK tensor이며
|
||||
\(H,E,S,P,F,U,f\), V/평균/\(\operatorname{dev}E=E-\operatorname{tr}E I/3\)와8점 recovery는
|
||||
low를 보존한다. Element의8점 E를 평가한 뒤 같은 full trial에서 평균/S/P를 계산한다.
|
||||
H나 평균을 만든 직후 F64로 축소하는 경로는 이 계약을 충족하지 않는다.
|
||||
\(Z_g^{ai}=\operatorname{sym}(F_g^T(e_i\otimes\widehat G_{ag}))\),
|
||||
\(b_{ai}=\sum_gw_g(F_g\widehat G_{ag})_i\)에서
|
||||
|
||||
\[
|
||||
(K_{geo})_{ai,bk}=\sum_g\delta_{ik}\widehat G_{aJ}S_{LJ}
|
||||
\widehat G_{bL}w_g,
|
||||
(K_{geo})_{ai,bk}=\delta_{ik}\sum_gw_g\widehat G_{ag}^TS_g\widehat G_{bg},
|
||||
\]
|
||||
\[
|
||||
(K_{mat})_{ai,bk}=\sum_g\widehat G_{aJ}F_{iI}\mathbb C_{IJLN}
|
||||
F_{kN}\widehat G_{bL}w_g,
|
||||
(K_{mat})_{ai,bk}=2\mu\sum_gw_g\operatorname{dev}Z_g^{ai}:\operatorname{dev}Z_g^{bk}
|
||||
+\kappa b_{ai}b_{bk}/V,
|
||||
\qquad K_t=K_{mat}+K_{geo}.
|
||||
\]
|
||||
|
||||
마지막 outer product는 서로 다른 GP도 포함하는 전체 체적 Hessian이다.
|
||||
\(\delta\bar\theta=\sum_hw_h\operatorname{tr}\delta E_h/V\)를 미분해야 하며
|
||||
GP-local 기존 StVK tangent를 사용하거나 mean을 고정하는 경로는 허용하지 않는다.
|
||||
이 평균은 승인된 energy의 일부이며 사후 residual/force projection이 아니다.
|
||||
각 식은 동일 trial·동일 계수·동일 2×2×2 적분을 사용한다. 에너지의 실수 polynomial
|
||||
미분을 pair 산술로 평가한 tangent이며 유한 반올림 함수의 미분을 주장하지 않는다.
|
||||
Zero state의 paired \(K_t=K_{lin}\)이고 geometric 항은0이다. Paired \(K_{lin}\)은 기존
|
||||
cached F64 K0와 coefficient-roundoff 수준에서 다를 수 있다. Byte identity나 별도
|
||||
rounded K0와의 exact equality를 요구하지 않는다. 차이는 실제 측정하고 기본 linear
|
||||
Zero state의 paired \(K_t=K_{lin}\)이고 geometric 항은0이다. Paired \(K_{lin}\)과 **새 energy의**
|
||||
F64 K0 사이에는 coefficient/평균/축약 roundoff 차이가 있을 수 있다. Byte identity나
|
||||
두 산술 경로의 exact equality를 요구하지 않는다. 변경 전 비수정 pointwise K0와는 물리
|
||||
energy가 달라졌으므로 차이를 roundoff로 설명하지 않는다. 새 경로의 차이는 실제 측정하고 linear
|
||||
weak form·energy gradient·tangent 불변량으로 독립 검토한다. 대칭 강제 평균이나
|
||||
잔차 floor로 이 검토를 대신하지 않는다. Strained tangent가 SPD라고 가정하지 않는다.
|
||||
|
||||
실수 geometric completeness \(\sum_a\widehat G_{ag}=0\),
|
||||
\(\sum_aX_a\otimes\widehat G_{ag}=I\)를 전제한 pure rigid motion은 F=R/E=U=f=0이다.
|
||||
Rounded cached G/\(\widehat G\)/pair 산술에서 실제 rotation은 same-unit uncancelled scale과
|
||||
coefficient/graph bound로 검증한다. Partition sum만으로 affine reproduction/exact0을 보장하지 않는다.
|
||||
평균 Green trace는 finite left-rotation 객관성을 유지하며 Fbar/mean J/log strain을 사용하지 않는다.
|
||||
|
||||
## 형상·질량 action·복구
|
||||
|
||||
현재 절점은 실수값 \(x_a=X_a+u_{ah}+u_{al}\)이다. Whole-cell 인증의 outward-rounded
|
||||
@@ -160,6 +189,9 @@ Point \(\det F>0\)도 full tensor에서 확인하며 유한성/부호가 불확
|
||||
|
||||
비선형 Cauchy \(\sigma=FSF^T/\det F\), Green strain, 선형 Cauchy/infinitesimal strain은
|
||||
pair로 복구한다. 8점 global tensor의 실제 shear `[11,22,33,12,13,23]`를 유지한다.
|
||||
실제 E/ε를 저장하며 modified mean strain으로 치환하지 않는다. Point stress는 실제 E/ε와
|
||||
element mean trace law에 의존한다. S의 공통 isotropic 항으로부터 finite Cauchy pressure의
|
||||
pointwise equality를 추론하지 않는다. Public shape/dtype/schema는 그대로다.
|
||||
\(M\)은 기준 형상·밀도에서 한 번 조립한 **기존 F64 matrix 그 자체**이고 변형/시간에 따라
|
||||
변하지 않는다. 모든 action \((Mz)_i=\sum_j(M_{ij},0)z_j\)는 full z와 pair product/reduction이다.
|
||||
F64 \(M\)으로 먼저 rounded high action을 계산하고 low를 별도 residual 보정으로 넣지 않는다.
|
||||
@@ -261,9 +293,13 @@ Self-check는 schema/identity/finite 및 내부 물리량의 올바른 RN64 seri
|
||||
- 작은 brick 및 coupled 두 Hex8: 공통 high 병진과 \(2^{-60}\) 규모의 비균일 low field로
|
||||
nonzero H/E/f/U와 이웃 element/global row 전달을 확인한다. 에너지 차분·signed directional
|
||||
tangent의 step sweep(기준 node0의 독립 perturbation 포함), paired linear–NL zero-state 일치,
|
||||
rigid translation/rotation·covariance와
|
||||
기존 잠김/warped quadrature 한계를 검사한다. High-only 대조가 같은 물리장을 만들지 못하는
|
||||
reference-weighted mean/dev와 cross-GP outer product의 low 전달을 확인한다.
|
||||
Rigid translation/rotation·covariance의 completeness/roundoff, local6 rigid modes/rank18와
|
||||
warped의 extra-null/conditioning·공간수렴/잠김을 검사한다. High-only 대조가 같은 물리장을 만들지 못하는
|
||||
유의한 force/energy scale을 선택한다.
|
||||
- Compatible 비균일 trace field로 center/unweighted mean과의 차이, weighted-variance energy
|
||||
차이 및 평균의 directional derivative를 검사한다. GP-local bulk tangent나 rounded mean을
|
||||
사용하는 대조는 energy→force→tangent/full low 검사에서 실패해야 한다.
|
||||
- Coupled consistent M에 low velocity/acceleration을 주어 off-diagonal inertia·T·momentum 및
|
||||
current moment를 검사한다. 비영 old \(r_n\)의 weighted 항등식·네 correction·세 update 식과
|
||||
full-state oracle를 대조한다. \(-\alpha r_n\)를 생략하는 대조는 실패해야 한다.
|
||||
|
||||
Reference in New Issue
Block a user