結果

結論

Calculix

Calculixのシェル実装では、目標解を実現できませんでした。入力パラメータが正しいことを証明する固体型要素を用いて目標解を達成しました。 半球シェル点荷重 の解析でも同様の結果が得られています。

また、Calculixでは、エッジに分布する荷重を直接指定することもできません。ただし、 PrePoMax と呼ばれるサードパーティのソフトウェアを使用すると、エッジのサーフェス牽引力荷重を定義できます。これは、後で*CLOADキーワードに変換されます。また、荷重シナリオは剛体拘束で近似されているため、同じ不正確な変位量が得られます。最後のテストは、エラーの原因がシェル要素の実装に直接関係していることを示しています。提供されたテストは、Calculixのシェル要素が複雑な形状を持つ構造からの応答を取得していないように見えるという事実を強調しています。

../../_images/calculix.png

図 26 シェル要素 (左) とソリッド要素 (右) の結果の違い

Code_Aster

Code_Asterでは、この特定のベンチマークをほとんど摩擦のない方法で実行することができます。線形タイプの要素でも、期待値に近い解が得られています。さらに、このコードにはFORCE_ARETEという組み込みキーワードがあり、これを使用してエッジに分散された負荷を指定できます。

ソルバーの設定は簡単ですが、2次シェル要素を使用した結果のポストプロセスは混乱を招く可能性があります。Code_Asterソルバーは、要素の中間に追加の節点を持つTRIA 6_7またはQUAD 8_9要素定式化を使用します。現時点では、この場所の変位場を直接視覚化することはできません。この問題を回避するには、追加の節点を含むメッシュでシミュレーションを実行し、節点を含まないメッシュに結果を投影します。セクション テスト済み有限要素コード は、上記の回避策を利用した入力デックの例を示しています。

../../_images/code_aster_results.png

図 27 QUAD8_9要素による結果の不適切な表示 (左) と投影結果 (右)

Elmer

Elmerソルバーは2次シェル要素をサポートしていませんが、期待値に近い変位値を得ることができました。分散荷重条件も、合力キーワードを使用して簡単に定義できます。

Elmerの現在のシェル実装では、シェルの法線を手動で定義する必要があることに注意してください。この定義は、ノード番号を含むmesh.directorというファイルと、特定のノードの位置にある法線ベクトルで構成されます。複雑な形状のためのベクトル値を得ることは、かなり非自明な操作であることがすぐに理解できる。この例では、FreeCAD環境で実行するPythonスクリプトを用意しています。このスクリプトは、ジオメトリのBREP表現とElmer mesh.nodesファイルをロードするため、正確なベクトルを任意のノード位置で計算できます。上記のスクリプトは CoFEA Github リポジトリにあります。

メッシュ収束解析

線形および2次三角形メッシュ

ソルバ

粗いメッシュ
線形/2次

細かいメッシュ
線形/2次

非常に細かいメッシュ
線形/2次

Code_Aster

0.116 / 0.129

0.118 / 0.128

0.116 / 0.128

Elmer

0.040 / -

0.055 / -

0.084 / -

線形および2次四辺形メッシュ

ソルバ

粗いメッシュ
線形/2次

細かいメッシュ
線形/2次

非常に細かいメッシュ
線形/2次

Code_Aster

0.112 / 0.130

0.118 / 0.128

0.116 / 0.127

Elmer

0.0304 / -

0.052 / -

0.125 / -