領域分割解析で領域境界 (ghost) 節点の節点応力・ひずみが不正確になる

現象

領域分割 (hecmw_part1) を用いた並列解析で、領域境界の節点の節点応力・節点ひずみ (NodalSTRESS / NodalSTRAIN / NodalMISES) が逐次解と一致しません。 変位・反力・接触力は一致しており、ソルバの解自体は健全です (出力・後処理限定の問題です)。

再現例 (静解析、六面体要素、np=2、KMETIS / DEPTH=1):

  • NodalMISES の誤差: 内部節点は解の収束許容水準に対し、境界節点は最大 |Δ| = 2.25 (場スケールの 3.9%、節点単位で最大 9.1%)
  • 接触の有無に依らず発生します (接触なしモデルでも再現)

これまで気づかれにくかった理由

  • rmerge で結合した .res は各領域の内部 (owner) 節点のみを採用するため、結合後の結果や 既存の MPI テストの参照比較では、この誤差は原理的に現れません
  • 誤差が現れるのは per-rank の .res と、ランクごとの可視化出力 (VTK piece 等) です。 結合形式の出力 (COMPLETE_AVS 等) では現れません

機構

節点応力・ひずみは要素積分点値の節点平均で作られますが、fstr_NodalStress3D の平均処理に 領域間 (halo) の要素寄与の交換がありません。周辺要素の一部が隣接領域にある境界節点だけ 平均が不完全になります (周辺要素が全て自領域内にある節点では発生しません)。

修正

節点平均の直後に halo 交換 (hecmw_update_R) を追加する小規模な修正で解消することを 確認済みです (境界節点の誤差が内部節点と同水準へ)。修正 MR を提出します。

なお確認は 3D ソリッド要素の経路 (fstr_NodalStress3D) で行いました。2D・シェルの 節点応力経路にも同構造の可能性がありますが未確認です。