非線形解析の途中結果出力

AltairNakagawa
AltairNakagawa New Altair Community Member
edited November 2020 in 質問と回答 (Q&A)

OptiStructの静的非線形解析(NLSTAT)の場合、通常は最終結果のみが得られるので途中で計算が発散してしまった場合など原因の検討が難しくなります。

そこで、以下の方法で途中結果を出力するように設定することにより、変形の進行状況や、発散した場合にはその直前の変形状態を確認することが可能です。

LoadStepの増分は添付のリファレンスガイド抜粋のようにNLPARM3番目のフィールドNINCで決まります。

各荷重増分ごとの結果を出力するためには、下記の例のようにNLOUTNINTで出力頻度を多くし、NLADAPTDTMAXで荷重増分の最大値を指定します。この例ではトータル荷重を5分割して0.2ずつ出力する設定となっています。これらはHyperMeshLoadCollectorとして作成し、LoadStepsで参照するようにします。

 

SUBCASE       1

  LABEL s1

ANALYSIS NLSTAT

  SPC =        1

  LOAD =        3

  NLPARM =        2

  NLADAPT =        5

  NLOUT =        4

BEGIN BULK

NLPARM         2       5     0.0                     

NLADAPT        5DTMAX        0.2

NLOUT          4NINT           5

Unable to find an attachment - read this blog

Answers

  • AltairNakagawa
    AltairNakagawa New Altair Community Member
    edited March 2018

    【補足】

    計算結果のH3Dファイルは計算終了後に生成されますので、計算途中に現在の状況を確認することができません。

    そこで、バルクデータにPARAM,NLMON,DISPと指定すると_nl.h3dというファイルが計算開始後すぐに生成されて、内容は繰り返し計算ごとにアップデートされますので、これをHyperViewで読み込むことにより計算途中の変形状況をモニターできます。ただし、このファイルで見られるのは変形(DISPLACEMENT)だけですので、応力等その他の情報は計算終了まで待つ必要があります。

  • VAL1
    VAL1 Altair Community Member
    edited June 2018

    バルクデータとは具体的にどの項目に入力すればいいでしょうか?

  • AltairNakagawa
    AltairNakagawa New Altair Community Member
    edited June 2018

    返答が遅くなり申し訳ありません。テキストエディターでBEGIN BULKからENDDATAの間のどこでも構いませんのでPARAM,NLMON,DISPと記入します。HyperMeshでしたら、Analysisページのcontrol cards > PARAMでNLMONにチェックを入れ、DISPを選択します。

  • AltairNakagawa
    AltairNakagawa New Altair Community Member
    edited August 2018

    接触条件が入っている場合、接触計算の収束が良いと計算時間を短縮するために刻み幅が大きくなります。これを防ぐにはバルクデータ中に

    PARAM,EXPERTNL,NO

    を指定します。デフォルトはAUTOですが、NOとすることで刻み幅のコントロールが行われなくなります。

    HyperMeshではAnalysis > control cards > PARAMの中で設定できます。

  • AltairTY_20974
    AltairTY_20974
    Altair Employee
    edited October 2019

    OptiStruct2019.1では計算途中でも変位以外の途中結果出力が可能になりました。

    PARAM,IMPLOUT,YES

    の追記により実現できます。出力タイミングはNLOUTに従います。

    結果ファイルは、***_impl.h3dです。