Loading
Add UP element bending test cases for volumetric locking verification
Close #51 (closed)
概要
準非圧縮・非圧縮材料(ゴム・生体組織・塑性変形後の金属など)の体積ロッキングを回避するU-P 混合定式化要素を 8 節点六面体(要素 ID 361)に追加します。解析制御ファイルの
!SECTION, FORM361=UP で有効化します。
定式化
応力を偏差成分と圧力 λ に分離(σ = σ_dev + λ·I)し、体積拘束 g − (1/K)·λ = 0 のもとで圧力自由度(要素あたり 1 個、要素内一定)を要素レベルで静的縮約します: K_eff = Kuu − Kup·Kpp⁻¹·Kupᵀ。 微小変形(INFINITESIMAL)・Total Lagrange・Updated Lagrange の 3 定式化に対応します。
主な変更
static_LIB_3d_up.f90: 接線剛性STF_C3_up/応力更新Update_C3_up。calMatMatrix.f90: UP 用構成則MatlMatrix_up/StressUpdate_upを既存MatlMatrix/StressUpdate(hdflag=1)へ委譲し材料分岐の重複を排除。getBulkModulusInv追加。fstr_CreateMatrix.f90(現masterでfstr_StiffMatrix.f90から統合された要素剛性アセンブリ)/fstr_Update.f90:cdsys_ID/coords/timeを引数追加。fstr_ass_load.f90: 熱荷重(TLOAD)を有効化(TLOAD_C3流用。偏差/圧力分離との整合は今後の課題)。tests/lib/static_LIB_UP/: 微小変形・TL・UL の片持ち梁(ν=0.499999)を追加。
検証
- 準非圧縮(ν=0.499999)片持ち梁で、完全積分要素がロック(先端たわみ −0.03)するのに対しUP は −1.40(ロッキングなし、Timoshenko 解 −1.04 と同オーダー)。
- 同一問題で UPDATELAG(−1.4095)と TOTALLAG(−1.4139)が約 0.31% で一致。Newton は各ステップ 5〜6 反復で収束。
- serial 64 件・hybrid 58 件の ctest 全 PASS。cmake・setup.sh 両ビルド成功。