2021年4月

CoFEA計画の前回の更新から数ヵ月が経過しましたが、何も行われていないわけではありません。まったく逆です! 5つのモデルをテストし、ウェブサイトを改善し、いくつかの点を接続して、利用可能なオープンソースソフトウェアに基づくシミュレーションワークフローを確立しました。

シミュレーションワークフロー

次のセクションでは、モデルの構築時に使用したシミュレーションワークフローについて説明します。

Simulation workflow

非商用ソフトウェアに基づくFEシミュレーションワークフロー

Salome 対 Salome-Meca

まず、Salomeパッケージのディストリビューションを明らかにすることが重要です: SalomeとSalome-Mecaです。実はには、この2つの間には1つの小さな違いしかありません。 “普通の” サロメには、Shaper、GEOM、Mesh、ParaVIS(SalomeとCode_Aster用に修正されたParaview)のような多くの有用なモジュールが付属しています。Salome-MecaにはAster_Study(Code_Aster用のプリプロセッサ)と呼ばれる追加モジュールがあり、コンパイル済みのCode_Asterソルバが含まれています(このバージョンはシングルスレッド計算のみをサポートしています)。

Shaperモジュール

ShaperはSalomeパッケージの最新モジュールです。概要の押し出し、回転、およびブール演算を使用したパラメトリックモデリングをサポートしています。3D CADソフトウェアを使い慣れている場合は、モデルの作成に問題はありません。このソフトウェアは、SolidWorksやNXなどの他のクルーほど堅牢ではないかもしれないが、まだ1年しか経っていないし、完全に無料です。Shaperモジュールで作成したパーツは、必ずGEOMモジュールにエクスポートしてください。そうしないと、メッシュ作成用のグループを作成できません。

Shaper

Shaperを使用した半球の作成

GEOMモジュール

GEOMは、前に説明したShaperの祖先です。ジオメトリCADモデルの作成、視覚化、および修正のためのさまざまな機能を提供します。このワークフローでは、後で要素またはノードのグループに変換できるCADジオメトリからのグループ生成に使用します。

Meshモジュール

このモジュールの目的は、単にGEOMモジュールで作成された(またはShaperからインポートされた)ジオメトリモデルに基づいてメッシュを作成することです。三角/四辺形および四角/六角形メッシュをサポートし、ノードおよび要素セットの作成を可能にします。

ヒント

Salomeで作成されたメッシュは、Calculixと互換性がありません。エクスポートされたUNVファイルはUNV2CCXコンバータでINPファイルに変換できますが、メッシュデータに関する別の問題が発生することがあります。 たとえば、UNVファイル内のすべての行は、INPファイル内のビーム要素として扱われます。同様の問題は、2Dジオメトリフィーチャーでも発生します。INPファイルに不要な要素タイプが含まれないようにするには、まずサロメで要素タイプを削除してからUNVファイルをエクスポートする必要があります。 その手順は次のとおりです:

  • "ジオメトリからグループを作成"を使用してメッシュ上にグループを作成します(ここでは、以前にGEOMで作成したグループを使用します)。

  • “内容のあるグループを削除” で不要なエンティティを削除します。

Mesh

半球メッシュの例

unv2ccxコンバータ

unv2ccxコンバータの使用は非常に簡単です。メッシュを.unvフォーマットにエクスポートし、次のコマンドを入力します。

unv2ccx mesh_file_name.unv

メッシュを変換する必要があります。残念ながら、コンバータは変換中のエレメントの選択をサポートしていないため、変換後の.inpファイルでエレメントタイプを手動で編集する必要がある場合があります。

ccx2paraview

frdの結果をVTKに変換するには、次のコマンドを入力します:

ccx2paraview results.frd vtk

ElmerGrid

一般的に、ElmerGridはさまざまな形式のメッシュをサポートする堅牢なコンバータですが、いくつかの欠点があります。ノードセットを使用しないようにするのが経験則です。また、すべてのメッシュをスタンドアロンのケースとして解析することも重要です(たとえば、1つのメッシュは追加のフラグなしで変換されますが、同じメッシュに四角形要素がある場合は、それらのいくつかが必要になります)。変換プロセスの前に、マニュアルを読んでこれらのフラグを理解してください: -boundorder, -removelowdim, -removeunused, -bulkorder, -autoclean。メッシュ変換を成功させる上で非常に役立ちます。 .unv メッシュは次のコマンドで変換されます。

ElmerGrid 8 2 mesh_file_name.unv -any_additional_flags

ベンチマークの結論

Salome/Code_Aster、Calculix、Elmerでモデル化された5つのシミュレーションベンチマークは、これらのコードが何をすることができるかについての洞察を与えてくれた。確かに表面をかじっただけですが、簡単なテストによって、特定のソフトウェアがどれだけ使いやすいものかを知ることができます。

ユーザーの感覚

ユーザーフレンドリーであることが興味の対象であれば、われわれはかなり積極的に驚いています。Salome-Mecaの最新バージョンは、間違いなく無料で入手できる最高の環境の一つです。噂によると、フランス語はユーザーが自分が何をしているかを知っていると確信するには少々問題があるとのことですが、2019年から利用可能なバージョンは、かなり上手に英語に翻訳されています(非ネイティブ ‘としては’ )。モデルは、最初から作成し、メッシュし、解析し、ポストプロセスで作成できます。何を探せばよいかを知っているユーザーにとっては、適切なツールを見つけるのに時間はかからないでしょう。他の人たちも、学習曲線がそれほど急なものではないでしょう。

シミュレーションワークフローチャートに示すように、Salome-Meca、PrePoMax、Calculix Advanced Environmentを組み合わせてCalculixのモデルを構築しました。既にメッシュを準備したPrePoMax/CAEで最終モデルを構築することは非常に容易です。これらのアプリが存在しなかった数年前は、それほど簡単なことではありませんでした。もちろん、いくつかの不具合があります。例えば、最新バージョンのPrePoMaxでは、いくつかの状況でセクションを割り当てることができません.しかし、結局、それらは非常に便利であり、それゆえそれらをチェックする価値があります。

エルマーはテストしていた3番目のコードです。GUIは非常に単純に見えますが、本を表紙で判断しないでください。実際には、ソルバ、マテリアル、荷重などを設定できる最も重要なオプションが含まれています。ユーザは、キーワードエディタを使用して手動でオプションを追加することも、テキストエディタを使用して直接オプションを追加することもできます。ただし、ElmerがSalomeからエクスポートされたUNVファイルを常に正しくインポートしているわけではありません(90%のケースは問題ありません)。ノードセットをGUIにインポートできるなら、非常に便利です。それとは別に、誰かがマルチフィジックスシミュレーションに興味を持っていれば、このコードは非常に強力な能力を持っているように思われます。

ソフトウェアの精度

結果に関する最も重要な結論は、フリーソフトウェアは非常に良い仕事ができるということです。すべての解析事例において目標解決を達成した。 また、ほとんどの場合、同じメッシュの結果は非常に類似しています。これは、同様の要素の実装が原因であると考えられます。このような小さなDOF数のモデルでは、性能比較を実施するのは不合理でしたが、将来このような試験を実施する計画があります。また、NAFEMSで推奨されているパターンにできるだけ近いメッシュを作成しようとしたことも注目に値します。

Calculix, Code_Aster, Elmerを用いて音叉ベンチマークの正しい解が得られることは既に証明されています。今回の更新では, MoFEMコードを用いて行った試験結果を追加した。この有限要素の実装では、いくつかの高次要素形状関数を使用しており、粗いメッシュを使用しても非常に優れた結果を得ることができます。このシナリオの固有値解析を実行してくれた Lukasz Kaczmarczyk に感謝します。

MoFEM Tuning fork

MoFEMによる音叉シミュレーション

圧力下の厚板の結果は、圧力荷重によって動かされる線形モデルに対して、正しい結果を容易に得ることができるということです。四面体および六面体要素の両方で目標解を達成しました。

Cookの膜ベンチマークでは、半非圧縮性材料を試験しました。ヤング率値が低い線形材料モデルについて,ポアソン値の2つの値を調べました。線形タイプの要素を使用して適切な解を得ることは現実的ではないことが分かりました。2次形式要素を用いて目標値に近い解を得ました。

圧力下楕円膜モデルでは、平面応力要素を使用した解析からの応答をテストすることを目的としています。このベンチマークにより、2 Dモデルを設定して適切なソリューションを実現するのは非常に簡単であることがわかりました。

半球状シェル点荷重モデルの最後のモデルは、調べるのが最も面倒だったと言えます。Code_Asterを使用したテストは非常に単純でしたが、CalculixとElmerの両方で応答のトラブルシューティングに時間がかかりました。Calculixを使ったテストの最終的な結論は、シェルの実装では正しい解を得ることができないということです。対称境界条件は結果の精度に大きな影響を与えると思われます。固体要素では正しい解が得られ、設定が正しいことが証明されましたが、これらの要素の使用はこの解析の目的ではありませんでした。 Elmerでシェル要素の対称条件を設定するにはいくつかのテストが必要であり、最終的に目標値を達成しましたが、メッシュが非常に細かいモデルの場合のみです。NAFEMSメッシュ設定では適切な応答を得ることはできませんが、Elmerでのシェル実装はまだ開発の初期段階にあることにも注意してください。また、モデルのデバッグに協力してくれたElmerフォーラムのすべての方々にも感謝します。

その他の注意事項

また、この作業はシミュレーションのみで行われたわけではありません。上に示したように、我々のウェブサイトに ipygany 拡張を実装することができました。 この拡張機能を使用すると、Paraviewから直接書き出されたインタラクティブなプロットを表示できます。また、 貢献者ガイドを拡充し、CoFEA文書のローカルでの編集方法や取り組みへの貢献方法について説明しています。