モデルのデバッグ

ここでは、計算上の問題の原因を見つけるためのいくつかのガイドラインについて記します。

最初に、 Radioss陽解法ソルバーは高い非線形の動的問題を解くことができますが、実行が失敗しなかった場合でも計算結果は悪い可能性がある点に注意を払う必要があります。計算が最後まで進んだ場合、数値的には良い挙動であることが示されたことにはなりますが、だからといって物理的に良い応答となっているとは限りません。しかしながら、Engine出力ファイルの最後でメッセージ“Normal termination”を受け取ることは数値解法手順の検証のために必要です。

結果の妥当性は以下の条件を満足することにより検証されます:
  • 数値的安定性
  • 物理的挙動
  • 物理的信頼性

数値的安定性はメッセージ “Normal termination” と、エネルギーと質量バランスが検証された場合は保証できます。

用意されたモデルが物理問題を本当に表現していない場合、間違った結果がもたらされる場合もあります。問題を理解するには、結果の信頼性を証明するために次の点を確認する必要があります:
  • 結果は摩擦にどの程度依存しているか?
  • モデルの破断現象にどの程度依存しているか?
  • 結果は未知の材料パラメータにどの程度依存しているか?
  • モデルが他のシミュレート困難な現象にどの程度依存しているか?
結果が与えられたパラメータに高く依存している場合、計算で高精度な値を用いるために必ず実験が行われる必要があります。
注: 最良のモデルとは、物理パラメータの価値が認識されるモデルです。

発散

発散は以下の条件が観察されたときに起こります:
  • 正のエネルギー誤差(最初のサイクルを除く)
  • 15% より大きい負の誤差(最初のサイクルを除く)
  • インタフェースタイプ7での運動学的時間ステップのアクティブ化
  • 剛体で与えられる時間ステップ
  • 説明できない時間ステップの変化
  • 質量の急速な増加
3つのタイプの発散があります:
速い発散
エネルギー誤差の増加は指数関数的となることがあります。計算は数サイクルで失敗します。
考えられる原因:
  • 運動条件の非適合
  • スプリングの負の剛性
  • 表形式材料則の負の剛性
  • タイプ2のインターフェースにおいてセカンダリ節点がメインサーフェスから離れすぎている
遅れた発散
時間ステップが小さすぎる。構造がゆがんで多くのインターフェースで高い貫通が見られる。
考えられる原因としてメッシュの品質があります。
ゆっくりした発散
最後のエラーが必ずしも発散の原因ではありません。
考えられる原因:
  • 線形的な発散の場合、原因として運動条件の非適合の存在が考えられます。
  • Sin関数的な発散の場合、典型的な例は、解放されたエネルギーまたは生成されたエネルギーです(例:初期貫通およびスプリング剛性関数)。
  • 柔らかすぎる材料も原因となり得ます。

どの事象が問題のきっかけとなったかを見つけることは重要です。発散直前の事象をチェックすることは必要です。与えられたパートに変な挙動が観察された場合、結合されたパートと、その前の事象も調査する必要があります。

実行の問題

実行がサイクル0で止まる
データはEngine出力ファイルrunname_0001.outに出力されません。これは一般的にリスタートファイルが正しく読めなかったときの実行不具合によって生じます。
実行が数サイクルで止まる
データはEngine出力ファイルrunname_0001.outに出力されます。問題の原因は、運動条件の非適合(例:共通セカンダリ節点を持つ剛体)あるいは材料または要素プロパティの範囲外の値のいずれかになります。しかしながら、初期貫通が原因である可能性もあります。
計算途中での実行中断
最初にディスクスペースをチェックする必要があり、次に、発散の直前と直後の挙動を調査する必要があります。時間ステップの変化とエネルギー誤差を観察する必要もあります。
  • 実行前のアニメーションファイルが終了します。これは、領域を特定するのに非常に役立ちます:
    • 速度が範囲外の場合(>> 100 m/s)
    • 質量が追加されている
    • 変形が大きすぎる(塑性ひずみを確認)
    • 応力が非現実的(> 2 Gpa)
      HyperViewで、アニメーションを確認し、明らかな問題がないか視覚的に確認します:
      • 速度は車両のすべての節点に適用されるわけではありません
      • 誤った境界条件
      • 接続がない(シートベルトが正しく接続されていないなど)
      • 基本的なコンターを確認します:
        • フォンミーゼス応力: 値が範囲外でないか確認します
        • 追加質量: 質量が非常に大きくないか確認します
        • 速度:速度が非常に大きくないか確認します。多くの場合、速度が最も大きい節点または質量が多く追加されている節点は同じ領域にあります。
  • T01ファイル内の点。これは、以下を特定するのに役立ちます:
    • 内部エネルギー / 運動エネルギーが急激に増加したパート。HyperGraphですべてのパートの内部エネルギーおよび運動エネルギーをプロットします(すべてのパートを時系列に入れる必要があります)。
    • グローバルなエネルギーバランスをプロットし、その発散が内部エネルギーによるものが、運動エネルギーによるものか、外部仕事力によるものかどうかを特定します。
  • リストファイル(_0001.out)の最後にある情報。

    たとえば、以下のケースでは、_0001.outの最後に記載されている情報は、シミュレーションが停止する原因となったモデルの領域を理解しようとする際に非常に役立ちます。

    ソルバーでは以下が報告されます:
    • 運動エネルギー(1)/内部エネルギー(2)が最も大きいパート
    • 速度(3)/質量変化(4)が最も大きい節点


    図 1.
    たとえば、以下のケースでは、シミュレーションがエラー終了で失敗する前に、次のメッセージが_0001.outに出力されることがあります:
    CYCLE    TIME      TIME-STEP  ELEMENT          ERROR  I-ENERGY    K-ENERGY T  K-ENERGY R  EXT-WORK MAS.ERR
    62100   18.53     0.2985E-03    SOLID      230440718     -1.3%    0.3484E+05  0.1313E+06     109.7   1523.       
    RUPTURE OF SOLID ELEMENT NUMBER 230025298
    	DELETE CONNECTION SOLID ELEMENT 110010956, ENERGY= 4.732011155E-05
    RUPTURE OF SOLID ELEMENT NUMBER 230024559
    **WARNING MINIMUM TIME STEP	0.5976E-05 IN INTERFACE NB	2300040(DTMIN=	0.1000E-04)
    SECONDARY NODES NB       230373002  230373019
    MAIN NODES NB            230373003  230373004
    	DELETE SECONDARY LINE FROM INTERFACE
    初期交差によって大きいひずみが発生し、最終的にエラー終了となります。


    図 2.
    たとえば、以下のケースでは、剛体との接触が原因で、実行が強制終了され、ERROR終了となります。出力ファイルは以下のようになります:


    図 3.


    図 4.
負の体積のメッセージ
これは、主にソリッドメッシュの大きな変形により生じます。完全積分のソリッド要素では特にこの問題に関係し、これは悪いインターフェースの挙動や正確ではない材料定義により引き起こされることがあります。どのような場合でも、問題のあるせん断変形応答を避けるため共回転定式化の利用が推奨されます。
負の体積を避けるために、/DT/BRICK/CST応力-ひずみ計算オプション(/PROP)の仮定を用いることも可能です(このオプションの詳細については、時間ステップ有限要素を参照してください)。