Salome-Mecaで計算した軸対称要素の接触解析をポスト処理するときの注意点(オープンCAEシンポジウム2022であった質問への回答)

オープンCAEシンポジウム2022の講演会一日目B室で発表されていた方が、Salome-Mecaの計算結果のポスト処理がうまくいかないと仰っていて、解決策を募集していたので、対策を考えてみました。

ポスト処理の問題を再現してみる

今回、発表されていた方は接触解析をしていて、軸対称要素を使用していました。その結果を可視化した際に変形図がうまく表示できないということで、解決策を教えてほしいと問いかけていました。
その時は解決策が思い浮かびませんでしたが、ふと、昔やった経験を断片的に思い出したので、深堀りしてみました。

今回の問題点を簡単な接触解析で再現してみました。軸対称要素を使用し、上から荷重を受ける半球を板に押し付ける計算を適当に作成しました。なお、シンポジウムで発表されていた方のインプットに合わせてNOM_CHAMは使用していません。

作った接触解析のモデル

この計算を実施した後、ParaVisの結果処理でWarpByVectorを使って、結果を表示すると次のようにうまく表示されませんでいた。変形倍率(Scale Factor)は1にしました。

表示がおかしい変形図

板側の恥のかけらだけが表示されていて、計算がうまくいっていないかのように見えます。シンポジウムの会場で見た発表者の方と近い状態を再現できました。発表者の方はParaVisではなく、Post-Processを使っていたらしいですが、現象としては同じと判断します。

原因の調査

この辺りでなんとなく、昔同じような経験があったような気がしましたが、全く思い出せないので、Googleで調べていたら公式のフォーラムで次のスレッドを見つけました。

どうも同様の問題に直面した人がいるようなので、内容を読んでいるとWarpByVectorが3成分でのベクトル表示が前提という話が書いてあり、そこで軸対称要素(Axis)を使う上での結果の取り扱いについて思い出しました。

ParaVisで変形量の変数であるDEPLの成分選択を見ると、「DX」「DY」「LAGS_C」となっていました。

DEPLの成分

ここでLAGS_Cを可視化すると非常に大きい値が入っています。

LAGS_Cの可視化

最初に表示がおかしくなっていることを確認した変形図の画像を見直すと、同じオーダーの数字が含まれていることに気が付きました。

これらの可視化の状況より、WarpByVectorを使って変形を可視化すると、DEPLの3成分目が軸対称要素を使用するとLAGS_Cになっており、それを含めたベクトルで変形を描画するために結果がうまく表示されていないようでした。

解決策の模索

(1)NOM_CHAMを使って結果変数を絞る(失敗)

LAGS_Cを可視化しないのであれば、IMPR_RESUでNOM_CHAMを使って結果変数を絞ったらどうかと考えました。NOM_CHAMはrmedファイルなどに出力する変数を選択する際に使います。

NOM_CHAM

それで、試してみたところ、改善はされませんでした。DEPLの成分にLAGS_Cが入っているため、DEPLを出力すると自動的に含まれてしまっていました。

NOM_CHAM後のDEPLの成分

これでは状況は変わっていないので、別の方法を検討することにしました。

(2)ParaVisのフィルターで何とかする(成功)

ParaVisはSalome-Mecaに組み込まれている可視化モジュールでParaViewをもとに構築されています。そのため、結果データの処理をフィルターを駆使すればできるのではないかと考えました。フィルターの一覧からそれっぽい名前のものを調べていくと、Extract Componentsに行き着きました。Extract Componentsは選択した結果変数の中に含まれてるコンポーネントを選択して、結果変数を再構成できます。この機能を使用して、DEPLの結果をDX、DYだけで再構成し、ベクトルデータにすれば、変形図が書けるのではないかと考えました。

FilterからExtract Componentsを選択し、DX、DYだけにチェックを入れ、Generate Vectorにもチェックを入れておきます。Warp By Vectorはベクトルデータを使用するので、Generate Vectorのチェックを入れておかないと後で選択できなくなります。

Extract Componentsの設定

作成したExtract Componentsの成分を確認するとLAGS_CがあったところはZになっていました。

Extract Components後の成分表示

SpreadSheet ViewでZ変数を確認すると、すべて0になっていました。

DEPLのZ成分の値

これで、変形図が書けるはずと思い、Warp By Vectorで結果を表示すると次のように変形が正しく表示されました(変形の様子が分かりやすいように元形状のFeatureEdgeを表示させています)。

Extract Componentsで再構成したDEPLを使った変形図

まとめ

ちょっと気になったので、調べてみましたが、個人的にもベンチマークなどで軸対称要素はよく使うので、今後、この情報を活用することもあると考えます。
調査のきっかけになった質問を投げてくださった発表者の方には感謝したいと思います。
発表者の方にはシンポジウムのSlack経由で内容をお伝えしましたが、同様の問題で困っている誰かの目に留まれば幸いです。

この記事が気に入ったらサポートをしてみませんか?