Fix inconsistencies in ALAG friction tangent stiffness

Close #745 (closed)

getContactStiffness_Alag における摩擦接線剛性の3つの不整合を修正し、Newton収束性を改善する。

修正内容

  1. 写像行列の修正(Gt→Ht): 摩擦剛性 K_fric = Ht^T * A * Gt を K_fric = Ht^T * A * Ht に修正。力の計算(computeFrictionForce_ALag)が Ht^T * fric を使用しているため、接線もHtで一貫させた。

  2. stick接線演算子の修正(I→M): stick状態の A = mut * I を A = mut * M(metric tensor)に修正。ペナルティ力 mut * Gt * du の微分がmetric tensorを要求するため。

  3. 変位増分の受け渡し修正: 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

Merge request reports

Loading
Loading