非関連塑性(Mohr-Coulomb / Drucker-Prager)の非対称行列が直接法ソルバで対称モードで分解される

現象

非関連流れ則の Mohr-Coulomb / Drucker-Prager 塑性(膨張角 ψ ≠ 内部摩擦角 φ)では 整合接線剛性行列が非対称になる(実測の相対非対称度 ~2E-02、DP ψ=10°/φ=30°)。 しかし fistr1 は材料起因の非対称性を線形ソルバへ伝搬しないため、直接法ソルバが 行列を対称モードで分解する。

  • MUMPS: SYM=2 かつ CNTL(1)=0.0(数値ピボット無効)
  • MKL (PARDISO): mtype=-2(対称不定値)

このため降伏後の線形相対残差が直接法として異常な水準(実測 worst 1e+2〜1e+3)となり ### Relative residual exceeded 1.0d-8---Direct Solver### が多発、線形解が Newton の 修正量として機能せず、実測モデル(4x4x4 立方体の三軸圧縮)では Newton 残差が NaN と なって解析が収束破綻する。同種の欠陥のうち摩擦接触の消去(ELIM)経路は feature/contact-elim-symmetric(マージコミット d591ea1f)で修正済みで、 本件はその材料版にあたる。

原因

  • 非接触の通常経路(solve_LINEQ → hecmw_solve)は、直接法ラッパが分解モードの決定に 読む唯一の情報源 hecMAT%symmetric(既定 .true.)をどこも設定しない
  • 接触経路の対称性判定 fstr_is_matrixStruct_symmetric は摩擦接触(fcoeff≠0)と n_dof=4 のみを判定し、材料非対称を考慮しない
  • ALagrange 経路の init は solve_LINEQ_contact_init(..., .true.) とハードコード
  • ELIM 経路の接触非アクティブ相は hecMAT 自身を解くが、その symmetric も未設定のまま