Loading
MPC・接触の複製メッシュに要素接続情報を渡し、梁・シェルとAMG前処理の併用時の異常終了を修正
概要
MPC消去法と接触の自由度消去で作る複製メッシュに elem_type_index、elem_node_index、elem_node_item が複製されておらず、剛体モードを作る hecmw_precond_rbm_from_mesh が未結合のポインタを参照して異常終了していた。33struct型要素(641梁、761/781シェル)を含むモデルでML前処理とSA-AMG前処理が該当する。剛体モード生成が共通化されてからはSA-AMGでも発生する。3配列を元メッシュへポインタで結び付けて解消し、641梁とMPCをSA-AMGで解く回帰テストを追加した。
あわせて、同じ複製メッシュの解放漏れを直した(#698 (closed) の範囲外)。通信テーブルは隣接領域がちょうど1つの場合に、global_node_ID は接触の逐次計算で解放されていなかった。valgrind で該当するリークがなくなることを確認した。
Close #698 (closed)
変更内容
| コミット | 要約 |
|---|---|
| 6f784f95 mpc, contact: share the element connectivity with the copied mesh for the AMG near-kernel | 複製メッシュに要素接続情報を結び付け、回帰テストを追加 |
| 9c88f53d mpc, contact: free every array the copied mesh owns | 複製メッシュの通信テーブルと global_node_ID の解放漏れを修正 |