OptiStruct非線形解析収束問題のトラブルシューティング
(画像をクリックすると拡大します)
この記事はTroubleshooting for OptiStruct Nonlinear Convergence Issuesを翻訳したものです。
一般的な情報とヒント:
- 最も単純なものから、例えば線形静的な1次要素からモデルを始めて、次第に複雑さや非線形性を追加していきます。
そうすると、収束しない原因を見つけやすくなります。 - *.out ファイルと *_nl.out ファイルには、収束問題に関するヒントが含まれている可能性があります。
- *.monitor ASCII ファイルには、カットバック情報、各荷重増分の反復回数、および重要な節点の変位が含まれています。
これらのファイルは、問題が発生した場所を特定するのに役立ちます。 - NLMON がサブケースに割り当てられているか、PARAM, NLMON が使用されている場合、ジョブ実行中に *_nl.h3d ファイルが作成されます。
このファイルには、接触状態が変化する節点のセットと歪んだ要素のセットが含まれることがあります。 - *_e.nlm ファイルにはエネルギー情報が含まれています。数値安定化法を使用している場合は必ず確認します。
目次
- 収束問題 #1 初期の非線形増分でモデルが収束しない。
- 収束問題 #2 荷重ステップが1.00に達するまでモデルは収束するが、荷重ステップ=1.0では最終的なステップ増分がどれだけ小さくても収束しない。
- 収束問題 #3 二次要素を使用したモデルは完全に収束しないが、同じメッシュと設定で全ての要素が一次要素であれば収束する。
- 収束問題 #4 非線形接触を考慮したモデルは完全に収束しないが、問題が接触に関係していることを示す兆候がいくつかある。
- 収束問題 #5 大変位(LGDISP)解析を用いたモデルは完全に収束しないが、微小変位解析を用いるとモデルは収束する。
- 収束問題 #6 MATS1材料カードを使用したモデルは完全に収束しないが、線形材料特性のみを使用すると、モデルは収束する。
- 収束問題 #7 MATHE材料カードを使用したモデルは完全に収束しないが、線形材料特性のみを使用するとモデルは収束する。
- 収束問題 #8 要素の歪みによる収束不良。
- 収束問題 #9 大変形解析で解析がうまく収束していたのに突然収束が悪くなったり、収束が遅くなったりする。
収束問題 #1 初期の非線形増分でモデルが収束しない。
- 原因 #1
増分ステップが大きすぎる。
- 対応策 #1
- NLPARMカードでNINC値を増やします。
-
- 自動非線形ステップ制御を許可します。(DIRECT=NO)(デフォルト)
-
- NINCが100や1000でも最初の増分が収束しない場合は、増分ステップが原因ではありません。
- 原因 #2
メッシュに接続性の問題があるか、モデルが完全に拘束されていない。
- 対応策 #2
- .outファイルのavg_Uを確認します。avg_Uの絶対値が非常に大きい場合は、剛体運動の可能性があります。
- .outファイルのavg_Uを確認します。avg_Uの絶対値が非常に大きい場合は、剛体運動の可能性があります。
-
- 固有値解析を実行し、すべてのモードが妥当であるか、予期しない剛体モードがないかを確認します。
-
- 予期しないモードがある場合は、すべての要素が想定通りに接続されていることを確認し、物理的に意味のある追加の拘束条件を適用します。
「Free Edges」と「Faces」ツールは、シェル要素とソリッド要素の接続性の問題の特定に、「Element Quality」ツールの「Free 1Ds」は、1D要素の接続性の問題を特定するのに役立ちます。
- 予期しないモードがある場合は、すべての要素が想定通りに接続されていることを確認し、物理的に意味のある追加の拘束条件を適用します。
-
- 固有値解析を再実行し、すべての予期しない剛体モードが修正されたことを確認します。
- 原因 #3
非線形(FREEZE や TIE ではない)接触のみで支持されたパートがある。
- 対応策 #3
-
- モデルの接触ペアに初期ギャップがない場合は、CONTACT カードの CLEARANCE を 0 に設定すると解析の最初から接触が発生するため、接触の収束が容易になります。
-
- ステップ 1 で問題が解決しない場合や微小変位モデルに N2S 接触がある場合は、PARAM,EXPERTNL,CNTSTB を追加して接触安定化を有効にします。
-
- 接触安定化の詳細な制御が必要な場合や微小変位モデルのN2S接触以外の接触タイプがある場合は、CNTSTB バルクカードを作成し収束問題が発生する荷重ケースに割り当てます。
- 原因 #4
一部の収束しにくい接触ペアがある。
- 対応策 #4
- テキストエディタで*_nl.outファイルを開きます。
どの節点に「MAX PENETRATION ERROR」と「MAX PRESSURE ERROR」があるかを確認します。
接触の設定が物理的に意味があるかを確認し、そうでないものがあれば修正します。
- テキストエディタで*_nl.outファイルを開きます。
-
- ステップ1で問題が解決しない場合は、モデルが収束するまで一度に1つまたは数個の接触をFREEZE接触に切り替えます。
この方法を繰り返して、収束問題の原因となる接触を特定します。
- ステップ1で問題が解決しない場合は、モデルが収束するまで一度に1つまたは数個の接触をFREEZE接触に切り替えます。
-
- PCONTカードで柔らかいペナルティ(STIFF = SOFT)を試します。
これにより、接触界面の剛性が低下し、収束しやすくなります。
- PCONTカードで柔らかいペナルティ(STIFF = SOFT)を試します。
-
- 問題のある接触カードでN2S、S2S、メイン面とセカンダリ面の入れ替え、スライディング接触を試します。
-
- ステップ1-4でも問題が解決しない場合は、CNTSTBバルクカードを作成し荷重ケースに割り当ててください。
モデルがスライディング接触で収束する場合は、問題は摩擦にあり、CNTSTBカードのTFRAC(デフォルト=0.1)値を増やすと収束する可能性があります。
- ステップ1-4でも問題が解決しない場合は、CNTSTBバルクカードを作成し荷重ケースに割り当ててください。
収束問題 #2 荷重ステップが1.00に達するまでモデルは収束するが、荷重ステップ=1.0では最終的なステップ増分がどれだけ小さくても収束しない。
- 原因 #1
荷重ステップ = 1.0 のときに接触安定化が 0 に落ちるため、安定化なしでは接触の収束が困難になる。
- 対応策 #1
- 接触安定化に PARAM,EXPERTNL,CNTSTB を使用している場合は、完全に収束しない荷重ステップに CNTSTB バルクカードを作成して割り当てます。
-
- CNTSTB カードの S1 入力を 0.1 や 0.01 などの小さな値に変更します。
-
- ステップ 2 でモデルが収束した場合は、*_e.nlm ファイルを HyperGraph に読み込み、contact stabilization energy(接触安定化エネルギー)を確認します。
contact stabilization energyがstrain energy(ひずみエネルギー)と比較して相対的に小さいこと(例えば <1%)を確認します。
- ステップ 2 でモデルが収束した場合は、*_e.nlm ファイルを HyperGraph に読み込み、contact stabilization energy(接触安定化エネルギー)を確認します。
-
- contact stabilization energyが高すぎる場合は、S0 および S1 の値を減らします。
収束問題 #3 二次要素を使用したモデルは完全に収束しないが、同じメッシュと設定で全ての要素が一次要素であれば収束する。
- 原因 #1
RBE2/RBE3のSPC、荷重、またはスレーブノードが2次要素の中間節点に適用されていない。
- 対応策 #1
- セカンダリ節点のSPC、荷重、RBE2/RBE3に中間節点を追加します。
これにより、中間節点であろうとなかろうと、すべての節点に同じ境界条件が適用されます。
- 原因 #2
N2S、S2S接触は2次要素で収束しにくいため。
- 対応策 #2
- テキストエディタで*_nl.outファイルを開きます。
どの節点に「MAX PENETRATION ERROR」と「MAX PRESSURE ERROR」があるかを確認します。 - 一度に1つまたは数個の接触をFREEZE接触に変更して、モデルが収束するまで試します。
ステップ1で特定した接触から始めます。この方法を繰り返して、収束問題を引き起こしている接触を見つけます。
- 問題のある接触カードに対して、N2S、S2S、メイン面とセカンダリ面の入れ替え、スライディング接触などを試します。
- ステップ3でも問題が解決しない場合は、CNTSTBバルクカードを作成し、荷重ケースに割り当てます。
- PCONTカードでソフトペナルティ(STIFF=SOFT)やさらに小さなスケールファクター(-0.01)でのソフト化や、指数ペナルティを試します。
詳細はリファレンスガイドを参照してください。
収束問題 #4 非線形接触を考慮したモデルは完全に収束しないが、問題が接触に関係していることを示す兆候がいくつかある。
非線形接触を考慮したモデルは完全に収束しないが、問題が接触に関係していることを示す兆候がいくつかある。
たとえば、収束しなかった増分では、*.outファイルのopen gap(開口部)とclose gap(閉口部)の数が各反復で変化している。
また、1つ以上の接触カードのタイプをFREEZEに設定すると、モデルが収束することもある。
- 原因 #1
接触ペアの定義が物理現象を正しく反映していない。(特に、接触領域に鋭角があるモデル)
- 対応策 #1
-
- NLOUT バルクカードで SVNONCNV = Yes を設定し、そのバルクカードを荷重ステップに割り当てます。
これにより、最後の非収束増分のアニメーションが保存されます。
- NLOUT バルクカードで SVNONCNV = Yes を設定し、そのバルクカードを荷重ステップに割り当てます。
-
- *.h3d アニメーションファイルを HyperView に読み込み、特に最後の数ステップの増分のアニメーションを確認します。
接触アルゴリズムが現実と一致しない場所を特定します。
- *.h3d アニメーションファイルを HyperView に読み込み、特に最後の数ステップの増分のアニメーションを確認します。
-
- また、PARAM, NLMON, DISP をリクエストするかサブケースで NLMON バルクカードを割り当てることで、診断に役立つ *_nl.h3d ファイルが生成されます。
-
- N2S と S2S のアルゴリズムを切り替えたり、メイン面とセカンダリ面を切り替えたりして、アルゴリズムが物理的な接触をより正確にシミュレートするようにします。
-
- 鋭角はセカンダリ面に含め、N2S 接触を設定します。
- 鋭角はセカンダリ面に含め、N2S 接触を設定します。
-
- S2S アルゴリズムを使用する場合は、S2S 接触に鋭角を含めないように、2 つの別々の接触を定義します。
- S2S アルゴリズムを使用する場合は、S2S 接触に鋭角を含めないように、2 つの別々の接触を定義します。
-
- 接触面を分割したくない場合は、CONTACT カードで CORNER = AUTO を設定して、適切なコーナー処理を行うこともできます。
- 原因 #2
与えられたジオメトリに対して、接触アルゴリズムがうまく機能していない。
- 対応策 #2
- テキストエディタで*_nl.outファイルを開きます。どのノードに「MAX PENETRATION ERROR」と「MAX PRESSURE ERROR」があるかを確認します。
- テキストエディタで*_nl.outファイルを開きます。どのノードに「MAX PENETRATION ERROR」と「MAX PRESSURE ERROR」があるかを確認します。
-
- モデルが収束するまで、一度に1つまたは数個の接触をFREEZEに切り替えます。ユーザーはステップ1で特定した接触から始めることができます。この方法を繰り返して、収束問題を引き起こしている接触を見つけます。
-
- N2S、S2S、メイン面とセカンダリ面を切り替えてみてください。
- 原因 #3
接触剛性が高すぎる。
- 対応策 #3
- 対応策#2 の方法を使って、収束困難な接触を特定します。
-
- PCONT接触プロパティカードを作成し、STIFF = SOFTに設定します。
-
- PCONTプロパティカードを問題のある接触カードに割り当てます。
-
- PCONTで指数関数的または二次的なペナルティを試すこともできます。
- 原因 #4
セカンダリ節点またはセカンダリ面がメイン要素に対して1要素長以上スライドしている。
- 対応策 #4
- この場合、大変形解析が必要になる場合があります。NLPARM バルクカードを、荷重ステップ定義の NLPARM(LGDISP) フィールドに割り当てます。
- この場合、大変形解析が必要になる場合があります。NLPARM バルクカードを、荷重ステップ定義の NLPARM(LGDISP) フィールドに割り当てます。
-
- メイン面とセカンダリ面の間に大きな相対スライドがある接触には、TRACK = CONSLI を設定します。
- メイン面とセカンダリ面の間に大きな相対スライドがある接触には、TRACK = CONSLI を設定します。
-
- 大変形解析での大きなスライド接触は、独自の収束問題を持つ可能性があります。
モデルがステップ 2 で収束しない場合は、収束問題 #5 (大変形 (LGDISP))を参照してください。
- 大変形解析での大きなスライド接触は、独自の収束問題を持つ可能性があります。
収束問題 #5 大変位(LGDISP)解析を用いたモデルは完全に収束しないが、微小変位解析を用いるとモデルは収束する。
- 原因 #1
荷重が大きすぎて構造物が不安定になったり崩壊したりして、さらに高い荷重を受けることができなくなっている。
- 対応策 #1
- 荷重入力として外力ではなく強制変位を使用します。
-
- ステップ1で問題が解決しない場合は、NLADAPTバルクカードを作成し、STABILIZフィールドに0でない値を使用します。
NLADAPTカードを荷重ステップ定義のNLADAPTフィールドに割り当てます。
STABILIZ入力の適切な値を決めるためには、リファレンスガイドを参照してください。
*_e.nlm出力ファイルのstatic stabilization energy(静的安定化エネルギー)を確認し、ひずみエネルギーに対して小さいことを確認してください。
- ステップ1で問題が解決しない場合は、NLADAPTバルクカードを作成し、STABILIZフィールドに0でない値を使用します。
-
- 荷重入力として強制変位が使用できない場合は、NLPARMカードと同じIDのNLPCIカードを作成します。
このカードは非線形座屈問題を解くための弧長法を有効にします。
- 荷重入力として強制変位が使用できない場合は、NLPARMカードと同じIDのNLPCIカードを作成します。
-
- ステップ1-3で問題が解決しない場合は、非線形過渡解析を試してみてください。
強制変位と荷重入力としてのNLADAPTカードのSTABILIZは、非線形過渡解析でも有効です。
- ステップ1-3で問題が解決しない場合は、非線形過渡解析を試してみてください。
- 原因 #2
接触が収束しにくい。
- 対応策 #2
- すべり距離が平均要素サイズより小さいすべての接触について、TRACK = SMALL を設定します。
-
- 相対的に大きなすべりがある接触については、TRACK = CONSLI を設定します。
-
- 収束問題 #3 – 対応策 #2 を参照して、問題のある接触ペアを特定し、問題を解決してください。
大変位接触は異なるアルゴリズムを持っているので、微小変位解析で最適な設定が大変位解析でも最適とは限りません。
- 収束問題 #3 – 対応策 #2 を参照して、問題のある接触ペアを特定し、問題を解決してください。
収束問題 #6 MATS1材料カードを使用したモデルは完全に収束しないが、線形材料特性のみを使用すると、モデルは収束する。
- 原因 #1
ソルバーデックの応力-ひずみ入力が実際の材料挙動と一致しない。
- 対応策 #1
- TYPSTRNフィールドを確認し、全ひずみまたは塑性ひずみの選択が応力-ひずみ表のデータと一致することを確認します。
- 1要素モデルを作成し、単純支持で引張荷重を適用します。力-変位結果が期待に合っているかどうかを確認します。
- 原因 #2
ひずみがMATS1カードで提供された応力-ひずみデータを超えている。
- 対応策 #2
- そのような高いひずみが予測されるか、意味があるかどうかを確認します。
そうでない場合、モデルの他の部分に何か問題がある可能性があります。
- デフォルトでは、OptiStructは応力-ひずみ曲線を表の範囲外にまで外挿します。
応力-ひずみ曲線の最後に別のデータ点を追加して、曲線の最後に非常に小さな正の傾きがあるようにします。
収束問題 #7 MATHE材料カードを使用したモデルは完全に収束しないが、線形材料特性のみを使用するとモデルは収束する。
- 原因 #1
材料の実際の応力-ひずみ挙動が試験片の引張試験曲線と異なる。
- 対応策 #1
- 1要素の単純支持モデルを作成し、引張荷重を適用し、要素の応力とひずみ出力をモニターします。
-
- 単一要素の応力-ひずみ出力が材料引張試験データと一致しない場合は、材料カード入力をダブルチェックし、単一要素シミュレーション結果が材料引張試験結果と一致するまでパラメーターを変更します。
- 原因 #2
一部の要素のひずみが安定範囲を超えている。
- 対応策 #2
- .outファイルを確認して、material’s stability limitation (材料の安定性制限)を確認します。
-
- 解析によりで高いひずみが想定でき、さらに現実的な設定であることを確認します。
-
- 解析でのひずみが安定性制限を超えている場合は、他の超弾性材料法を検討してください。
収束問題 #8 要素の歪みによる収束不良。
- 原因 #1
過剰または非現実的な荷重。
- 対応策 #1
- モデルの荷重方向と大きさが意図したものであるか確認してください。
-
- 荷重の大きさが現実的であるか評価してください。
シミュレーションから材料の破壊が予想される場合は、適切な材料破壊則を用いてRadiossやOptiStruct Explicitなどの陽解法ソルバーを使用してください。
- 荷重の大きさが現実的であるか評価してください。
-
- 荷重の大きさを調整できない場合は、荷重入力として力ではなく強制変位を試してみてください。
-
- ステップ1-4で問題を解決できない場合は、陽解法を試してみてください。
- 原因 #2
モデルが過拘束、もしくは境界条件の仮定が過度に単純化されている。
- 対応策 #2
- SPCやFREEZE/TIE接触などの境界条件をすべて調べて、それらが現実的であるか確認してください。
非線形接触をFREEZEとしたり、接触からの支持をSPCとしたり境界条件を過度に単純化すると、モデルが過拘束されることがあります。
- SPCやFREEZE/TIE接触などの境界条件をすべて調べて、それらが現実的であるか確認してください。
-
- *_nl.outファイルをチェックして、最後の収束しない反復で最大力節点(max force node)がSPC、RBE2、またはFREEZE/TIE接触に近いかどうか確認してください。
その場合、要素の歪みはそれらに関係している可能性があります。
- *_nl.outファイルをチェックして、最後の収束しない反復で最大力節点(max force node)がSPC、RBE2、またはFREEZE/TIE接触に近いかどうか確認してください。
-
- より現実的な境界条件を設定します。
- 原因 #3
モデル、材料、もしくは荷重の間の不一致な単位系による過度の変形。
- 対応策 #3
- 材料特性、荷重の大きさ、およびジオメトリの寸法が一貫した単位系(mm、MPa、N、s 系など)であるかどうかを調べます。
- 原因 #4
圧縮された高密度の非圧縮性材料(ゴム)。
- 対応策 #4
- h3d ファイルの結果アニメーションを確認して、非圧縮性材料が一方向に圧縮されるときに他の方向に膨張できるかどうか、および要素変形が大きいかどうかを確認します。
-
- 非圧縮性材料の近くに過度に単純化された拘束や接触がないかどうかを確認します。ある場合は、それらの境界を改善します。
-
- 非圧縮性材料のポアソン比をわずかに減らして、歪んだ要素の問題が解決するかどうかを確認します。
収束問題 #9 大変形解析で解析がうまく収束していたのに突然収束が悪くなったり、収束が遅くなったりする。
- 原因 #1
全体的な不安定性(全体的な崩壊)や局所的な不安定性(局所的な座屈、材料のネッキング、または塑性ヒンジ)が発生している
- 対応策 #1
- 荷重の大きさを減らして、解析が完全に収束するかどうかを確認します。そうであれば、不安定性が収束問題の原因である可能性が高いです。
-
- *_nl.out ファイルと h3d アニメーションを確認して、不安定性が発生している可能性のある場所を特定します。
-
- 荷重の大きさと方向を確認して、全体的に不安定な結果が想定されるかチェックします。
荷重と境界条件の仮定が妥当であることを確認します。
- 荷重の大きさと方向を確認して、全体的に不安定な結果が想定されるかチェックします。
-
- 可能であれば、力ではなく変位拘束によって荷重を与えます。
変位を拘束した節点で反力を追跡します。これは多くの場合、全体的に不安定な結果による収束失敗の問題を解決できます。
- 可能であれば、力ではなく変位拘束によって荷重を与えます。
-
- ステップ 4 で問題が解決しない場合は、変位拘束を荷重入力として維持したまま、NLADAPT バルクカードを作成し、STABILIZ フィールドに0でない値を入力します。
NLADAPT カードを荷重ステップ定義の NLADAPT フィールドに割り当てます。
STABILIZ 入力に適切な値を決めるためには、リファレンスガイドを参照してください。
*_e.nlm 出力ファイルでstatic stabilization energy (静的安定化エネルギー)を確認し、ひずみエネルギーに対して小さいことを確認してください。
- ステップ 4 で問題が解決しない場合は、変位拘束を荷重入力として維持したまま、NLADAPT バルクカードを作成し、STABILIZ フィールドに0でない値を入力します。
-
- 変位拘束を荷重入力として使用できない場合は、NLPARM カードと同じ ID の NLPCI カードを作成します。
このカードは非線形座屈問題を解くための弧長法を有効にします。
- 変位拘束を荷重入力として使用できない場合は、NLPARM カードと同じ ID の NLPCI カードを作成します。
-
- 前述のステップで問題が解決しない場合は、非線形過渡解析を試すことができます。
変位拘束と STABILIZ は非線形過渡解析でも有効です。
- 前述のステップで問題が解決しない場合は、非線形過渡解析を試すことができます。