Loading
Fix inconsistencies in ALAG friction tangent stiffness
Close #745 (closed)
getContactStiffness_Alag における摩擦接線剛性の3つの不整合を修正し、Newton収束性を改善する。
修正内容
-
写像行列の修正(Gt→Ht): 摩擦剛性
K_fric = Ht^T * A * GtをK_fric = Ht^T * A * Htに修正。力の計算(computeFrictionForce_ALag)がHt^T * fricを使用しているため、接線もHtで一貫させた。 -
stick接線演算子の修正(I→M): stick状態の
A = mut * IをA = mut * M(metric tensor)に修正。ペナルティ力mut * Gt * duの微分がmetric tensorを要求するため。 -
変位増分の受け渡し修正:
getContactStiffness_Alag内のcomputeFrictionForce_ALag呼び出しに実際の変位増分dunodeを渡すよう修正。既存のupdateContactMultiplier_Alagと同じパターンに統一。
追加変更
- slip接線の方向補正を省略(
A = alpha * mu_t * M)。パラメトリック調査により全ケースで安定かつ同等以上の収束を確認。→方向補正ありのほうが早いケースも追加ででてきたので、見直し中(ただし省略版のほうが安定はする) - Newton収束しきい値を厳格化(1.0E-4→1.0E-5、3beam: 1.0E-3→1.0E-4)し参照データを再生成。
Newton反復回数の改善
| ケース | 修正前 total/max | 修正後 total/max |
|---|---|---|
| 2box_hex_fric_iter | 10 / 5 | 8 / 3 |
| 2beam_sslid_iter | 62 / 7 | 34 / 4 |
| 3beam_fslid_iter | 109 / 8 | 76 / 4 |
Edited by inagaki