/MAT/MDS で要素を消す方法 (v2022 版)
始めに
HyperWorks 2022 から Radioss と MultiScale Designer の連携は /MAT/MDS を通じて行うことになりました。基本的な使い方を学びたい方は、こちらの演習書を活用してください。
https://community.altair.com/community?id=kb_article_view&sysparm_article=KB0113632
演習書では触れていませんが、/MAT/MDS は要素削除のための設定をする項目があり、これを使って、閾値を超えた要素を削除することができます。
/MAT/MDS のルール
使用するパラメータは、
https://2022.help.altair.com/2022/hwsolvers/rad/topics/solvers/rad/mat_law200_mds_starter_r.htm
の最後の 2行です。
Fail_1, Fail_2 が MultiScale Designer の材料の状態変数、Fail_1_l, Fail_2_l が下限、つまりその値を下回ったら要素削除、Fail_1_u, Fail_2_u が上限、つまりその値を上回ったら要素削除とします。
Ifail=0 は、Fail_1, Fail_2 のどちらかが条件を満たせば削除。Ifail=1 は両方が条件を満たせば削除、となります。v2022 のドキュメントでは、ここの記載が逆転してしまっております。注意してください。
例えば、このように設定します。この例では、MultiScale Designer の材料変数 #39 が 0.049 を超えるか、#54 が 0.2 を超えたら破断という設定です。これらの変数は計算開始時 0 から始まり、負になることはないものなので、下限側は適当に起こりえない数値を書いています。
#---1----|----2----|----3----|----4----|----5----|----6----|----7----|----8----|----9----|---10----| ##HWCOLOR materials 1 3 /MAT/MDS/1 cfrp_long mdsMAT1.dat # Fail_1 Fail_1_l Fail_1_u Fail_2 Fail_2_l Fail_2_u 39 -10000 0.049 54 -1000000 0.2 # Iflag 0
では、ここで問題となるのは、MultiScale Designer の状態変数の番号をどうやって知るのか、ということになります。
MultiScale Designer 状態変数の ID を知るには
残念ながら v2022 においては、GUI でわかりやすく知るということができません。ですので次の方法で調べます。
材料モデルごとの材料変数番号は、マニュアルに書いてあります。例えば Rate-independent Plasticity (速度依存のない弾塑性材料) なら p238 にあります。
では、フェーズ1 を Rate-independent Plasticity としており、#26 の相当塑性ひずみを閾値に使いたいときは、どうするのでしょうか。実は /MAT/MDS の例で挙げた #39 はこれになっています。フェーズ 1 の場合は、マニュアルの数字に 13 を足したものとなります。
あと、この材料の状態変数 ID の最大値が 27 であることも覚えておいてください。
では次に、フェーズ 2 が Isotropic Damage >Bilinear Evolution > Isotropic Symmetry (等方性ダメージ測) であった場合はどうなるのでしょうか。この材料の状態変数は P204 にあります。
ダメージ (#14) を閾値としたいとします。実は先の /MAT/MDS の例の 54 がこれに相当しています。これは 13+フェーズ1の変数ID の最大値+フェーズ2 の対象変数 ID となります。つまり 13+27+14=54 となります。
もしフェーズ 3 以降があるなら、同様に ID を加算していきます。
本記事を作成する際に検証に用いたモデル
検証に用いたモデルでは、次のように、狙った通りに要素削除を行うことができています。
ダウンロードは以下から行ってください。
MultiScale Designer 設定ファイル: cfrp_long.mic
Radioss 入力ファイル: RadiossInputs.7z
動画