Femtetヘルプ/マニュアル
 

ホーム / テクニカルノート / 流体解析/熱流体解析 / 流体解析/熱流体解析が収束しない場合

流体解析/熱流体解析が収束しない場合

1. 流体解析の反復計算

流体解析では、複数の方程式を同時に満たす状態を求めるために、
同じ計算を何度も繰り返して、正しい状態に近づけていきます。

層流解析では、1回の反復で、流速、圧力を順番に求めます。

乱流解析では、1回の反復で、流速、圧力、K、εを順番に求めます。

熱流体解析の双方向連成解析(浮力を考慮する場合、粘度に温度依存性がある場合)には、さらに温度を計算する処理が加わります。

拡散解析の双方向連成解析(拡散物質の重さを考慮する場合)には、さらに拡散値を計算する処理が加わります。

 

乱流解析、熱流体双方向連成解析の場合の流れを示します。

 

U:流速

p:圧力

K:乱流エネルギー

ε:エネルギー散逸率

T:温度

U*,U**,p*,K*,ε*、T*:暫定値

U',U'',p',K',ε', T':増分

αV,αP,αK,αε, αT:緩和係数

 

各方程式の計算を行った後、流速等の更新を行います。

更新する際に緩和係数(計算の収束しやすさを制御するパラメータ:1以下の実数)をかけて更新を行います。

 

方程式がどの程度満たされているかを示す指標として残差を計算しています。

反復毎の残差の変化が進捗状況表示ダイアログ(収束状況と途中結果の表示参照)で表示されます。

 

すべての残差が収束判定値を下回った場合、正しい状態が得られたとみなし、解析を終了します。

この状態を計算が収束した状態になります。

 

 

最大反復回数と収束判定値は「流体解析詳細設定」の「収束判定設定」で変更することができます。

 

計算が収束しないケースとして、2つのケースが考えられます。

・反復を繰り返しているうちに残差が大きくなっていく場合(発散)

計算の途中でなんらかの原因で、求めたい状態(収束した状態)から大きくはずれている状態。

 

・指定した反復回数まで反復を繰り返しても残差が収束判定値よりも小さくならない場合(未収束)

十分な精度が得られておらず、精度が悪い。

徐々に収束判定値に近づいているのであれば、正しい状態(収束した状態)に近い状態が得られていると言える。

 

2. 緩和係数について

発散を防ぐため、各物理量に対する緩和係数は、1より小さい値がデフォルトになっています。

定常解析の場合

流速:0.7

圧力:0.3

K:0.7

ε:0.7

温度:0.9

拡散:0.9

 

多くの場合は、デフォルトで問題ありませんが、計算が発散する場合、小さくすることも検討する必要があります。

また、収束判定値に近づいているが、なかなか収束判定値に到達しない場合には、大きくすることで収束を早めることができる場合があります。

緩和係数は、流体解析タブおよび、熱流体解析タブ流体解析詳細設定で設定することができます。

 

それぞれの緩和係数は、以下の表示内容と関連します。

流速⇒流速残差

圧力⇒連続性残差、流入量/流出量

K⇒K残差

ε⇒ε残差

温度⇒温度残差

拡散値⇒拡散残差

 

緩和係数の変更例を以下に示します。

 

例:流入量と流出量が時間とともに乖離が大きくなって発散する場合

 

圧力の緩和係数を小さくすることで発散を抑制できる場合があります。

発散が抑えられるまで、0.3⇒0.2⇒0.1のように、0.1ずつ変更して計算します。

0.1以下にしても発散する場合、モデルとメッシュに問題がある可能性が高いため、メッシュ状態の確認を推奨します。

緩和係数を小さくすると、連続性残差がなかなか小さくならず未収束になることが多いですが、
そこからリスタート機能を使用して、徐々に緩和係数を上げて再解析を繰り返すことで収束させることができる場合があります。

 

例:流速、連続性は収束しているが、K、εがなかなか収束せず未収束で終わってしまう場合

 

Kとεの緩和係数を大きくすることで収束を早めることができます。

大きすぎると発散することがあるため、0.1ずつのように少しずつ大きくすることを推奨します。

 

例:残差が振動する場合

 

緩和係数が小さくすることで振動を抑制して、収束させることができる場合があります。

圧力の更新と流速の更新のバランスが悪いことが原因の場合もあります。この場合、

圧力 0.2 / 流速 0.8 や、圧力 0.5 / 流速 0.5 のように、トータルが1になるように比率を変えることで収束させることができる場合があります。

 

例:自然対流(浮力考慮)の解析で発散する場合

 

温度の緩和係数を小さくすることで収束する場合があります。0.1ずつ小さくすることを推奨します。

 

例:自然対流(浮力考慮)の解析で未収束で終わってしまう場合

 

途中経過で温度変化を見て、一定値に落ち着くのではなく、徐々に変化している場合、温度の緩和係数が小さすぎる可能性があります。

0.9⇒0.99⇒0.999のように1に近づけていくことで収束する場合があります。

過渡解析の場合

流速:0.7

圧力:0.7

K:0.8

ε:0.8

温度:0.99

拡散:0.99

 

多くの場合は、デフォルトで問題ありませんが、計算が発散する場合、小さくすることも検討する必要があります。

過渡解析定常解析と同じ圧力計算手法を用いる」をチェックすることで発散を防げることがあります。

 

過渡解析の場合、未収束であっても次の時間ステップの計算に進むようになっています。

このため、未収束で計算が止まることはありませんが、残差の大きい状態で次の時間ステップに進んでいる場合、結果の精度が悪い場合があります。

過渡解析の時間ステップを細かくするか、反復回数を増やすことで精度を向上することができます。

3. メッシュ状態の確認

メッシュの結果表示で積層メッシュの生成状況を確認できます。

収束しなかった場合の原因を調査する場合に活用することができます。

主に、「メッシュの質」「要素の節点数」「高さ補正係数」「対向面距離」「積層中止箇所」を使用します。

 

 

・メッシュの質

値が大きい箇所(>100)が発散や未収束の原因となっている場合があります。

・積層メッシュ部

積層メッシュ生成箇所を確認するために使用します。

積層メッシュが極端に薄い場合は、「高さ補正係数」等で原因を調べる必要があります。

 

・積層メッシュ積層数

積層メッシュの積層数を表示します。指定通りの積層数が積層されているかを確認することができます。

・積層メッシュ第1層高さ/積層メッシュトータル高さ

積層メッシュの第1層高さ、および積層メッシュトータル高さを表示します。

高さの自動調節が行われるため、指定値と異なる場合があります。

指定値と大きく異なる場合は、「高さ補正係数」で極端に補正係数が低い箇所のモデルに問題がある可能性があります。

・積層メッシュ積層方向

各節点での積層メッシュ積層方向をベクトル図で確認することができます。

・高さ補正係数

積層メッシュ生成の過程で高さを低く補正した箇所を確認することができます。

極端に補正係数が低い箇所(最小値を示す箇所)はモデルに問題がある可能性があります。

 

※最大値/最小値表示機能で最小箇所を検出しやすくするため、内部節点にも値が割り当てられています。

 

・対向面距離

対向する壁までの距離を確認することができます。

極端に小さい場合、意図しない隙間が存在する可能性があります。

 

※最大値/最小値表示機能で最小箇所を検出しやすくするため、内部節点にも値が割り当てられています。

 

・積層中止箇所

積層できなかった箇所を表示することができます。積層できなかった箇所は収束性を悪化させる場合があります。

積層中心箇所および、対応方法は「積層メッシュ作成時の注意点」を参照してください。

4. 途中結果の表示

発散、もしくは未収束だった場合、反復途中の結果を確認することができます。

また、収束状況と途中結果の表示で中断した場合、同様の表示が可能です。

 

解析が正常に終了した場合は表示されませんが、流体解析タブおよび、熱流体解析タブ流体解析詳細設定で「反復途中の結果も出力する」のチェックを入れた場合は、

解析が正常に終了した場合でも表示されます。

 

なお、「解析終了ダイアログ」で「途中結果を削除」ボタンを押したり、「収束とみなして終了」ボタンを押した場合表示されません。

 

 

・各反復毎の結果が確認できます。

・流速残差、連続性残差、K残差、ε残差それぞれの残差の分布を確認することができます。

 

以下のような確認が可能になります。

 

反復の何回目のどの箇所が発散の原因になっているかを確認できる可能性があります。

流速等が反復回数とともに振動している状態の場合、定常解析で計算するのが難しい解析(過渡解析で解く必要がある解析)の可能性があります。

また、特定の節点付近のみの振動で全体の結果にほとんど影響しない場合は、収束したものとみなすこともできます。

途中経過表示で、「収束領域」を表示したときに、100%に近い場合、そういった状況であると判断することができます。

5. 発散する場合の対策

・モデルの変更 / メッシュサイズの修正

3.メッシュの状態の確認や、4.途中結果の表示で、発散の原因が確認できる場合、その箇所のモデルを変更したり、メッシュサイズを細かくすることで解決できる可能性があります。

・緩和係数を小さくする(2.緩和係数について参照)
・時間ステップを短くする(過渡解析の場合)

過渡解析では、時間ステップを短くすることで収束させることができる場合があります。

時間ステップ「指定」の場合、「精度向上」オプションを使用することで、未収束時に時間ステップを短くして再計算する機能により収束させることができる場合があります。

また、時間ステップ「自動」において、クーラン数による制御を行うことで、適切な時間ステップで計算できるようになり、
収束させることができる場合があります。クーラン数制御の値としては、自由表面解析で1以下、それ以外の解析では10~100程度を推奨します。

・「過渡解析で定常解析と同じ圧力計算手法を用いる」をチェック(過渡解析の場合)

過渡解析では反復回数を削減するために、定常解析とは異なる計算方法を行っていますが、
計算が発散するなどの問題が生じる場合があります。

定常解析の方法を用いることで、反復回数が多くなりますが、発散しにくくなり、安定して計算を収束させることができる場合があります。

このオプションを使用する場合、流速と圧力の緩和係数は、定常解析用のものを使用します。

・リスタート

定常解析では、任意の反復途中の結果からリスタートを行うことができます。

発散する前の結果から、緩和係数を小さくしてリスタートすることで収束させることができる場合があります。

以下の設定を行うことで可能となります。

 

流体解析タブおよび、熱流体解析タブで「他の解析結果を使用する(結果インポート)」にチェック

②結果の指定方法で解析モデル指定:現在の解析モデル名を指定

③モード指定:指定:リスタートしたい結果のモードを選択

 

6. 未収束の場合の対策

・モデルの変更 / メッシュサイズの修正

残差が小さくならない場合(0.1以上)や、残差が大きく振動する場合で残差が0.1を超えるような場合は、モデルやメッシュに問題がある場合があります。

3.メッシュの状態の確認や、4.途中結果の表示で、未収束の原因が確認できる場合、その箇所のモデルを変更したり、メッシュサイズを細かくすることで解決できる可能性があります。

・リスタート

未収束で計算が終了した場合、下記のワーニングが出ます。

残差が減少に向かっている場合はリスタートで収束させることができる場合があります。

 

 

解析終了ダイアログのリスタートボタンをクリックすることでリスタートすることができます。

「解析条件を変更」ボタンをクリックして、緩和係数や収束判定を変更して続行することも可能です。

 

流体解析タブおよび、熱流体解析タブで「前回の解析結果を使用する」にチェックが入った状態になります。

 

また、以下の方法でも同様にリスタートを行うことができます。

 

流体解析タブおよび、熱流体解析タブで「前回の解析結果を使用する」にチェックを入れ、解析実行を行うことで前回の結果を読み込んで解析を続行することができます。

緩和係数や収束判定を変更して続行することも可能です。

 

定常解析では、任意の反復途中の結果からリスタートを行うことも可能です。

以下の設定を行うことで可能となります。

流体解析タブおよび、熱流体解析タブで「他の解析結果を使用する(結果インポート)」にチェック

②結果の指定方法で解析モデル指定:現在の解析モデル名を指定

③モード指定:指定:リスタートしたい結果のモードを選択

・緩和係数を調整する

例:自然対流(浮力考慮)の解析で未収束で終わってしまう場合

 

途中経過で温度変化を見て、一定値に落ち着くのではなく、徐々に変化している場合、温度の緩和係数が小さすぎる可能性があります。

0.9⇒0.99⇒0.999のように1に近づけていくことで収束する場合があります。

 

例:重さを考慮した拡散解析で未収束で終わってしまう場合

 

途中経過で拡散値変化を見て、一定値に落ち着くのではなく、徐々に変化している場合、拡散の緩和係数が小さすぎる可能性があります。

0.9⇒0.99⇒0.999のように1に近づけていくことで収束する場合があります。

 

例:乱流値が収束しない場合

K、εの緩和係数を0.7⇒0.8と大きくすることで収束することもあります。

・解析終了時に、「収束とみなして終了」をクリックして結果を表示する

場合によっては、収束判定値が厳しく、未収束で終わっていても、十分な精度が得られている場合もあります。

収束とみなして終了して結果を表示します。

・定常解析では解けない問題の場合に準定常状態を計算するオプションを使用する

周期的に変動するような、定常解析では解けない問題の場合、準定常状態を計算するオプションを使用することで収束させることができます。

振動中のある瞬間の状態を結果として出力します。

リスタート時に行う場合、流体解析タブのリスタート詳細設定で、「準定常状態を計算する」をチェックします。
解析が未収束だった場合に続けて準定常状態を計算する場合、流体解析詳細設定であらかじめ、「未収束時に準定常状態を計算する」をチェックします。

・定常解析では解けない問題の場合に過渡解析に変更する

周期的に変動するような、定常解析では解けない問題の場合、過渡解析に変更することで解ける場合があります。

 

例:「例題5 円柱周りの流れの過渡解析

 

・モニタリング値による収束判定機能を使用する

流体解析詳細設定」でモニター値による収束判定を行うにチェックを入れた場合、

残差が十分に収束していなくても、モニター値の変動が小さければ収束判定とすることになります。

 

詳細設定ダイアログ上で自動設定ボタンを、押すと、

流体解析の場合、すべての境界条件の圧力(全圧)と体積流量がモニタリング登録されます。

熱流体解析の場合、すべてのボディ属性の温度最大値もモニタリング登録されます。

 

個別に設定したい場合は、「モニタリングタブ」で設定することができます。

 

本来の状態よりも少ない反復回数で打ち切ることがあるため、正常な結果が出ない状態で打ち切られるリスクがあります。

・移流項計算手法「1次精度風上差分」に変更

流体解析では、移流項の計算を行うときに、数値粘性により解が粘性が高い側に見積もられてしまうことが知られています。

流速計算では、粘度が高く、流速差ができにくく、温度計算では、熱伝導率が高く、温度差ができにくくなります。

 

デフォルトの設定(2次精度風上差分)では、反復毎に、数値粘性を小さくする処理を行っていますが、これにより、収束しにくくなる場合があります。

1次精度風上差分に切り替えることで、反復回数を少なくすることができます。

数値粘性はメッシュサイズを小さくすることで最小限に抑えることができるため、1次精度風上差分を使用する場合、メッシュサイズも小さくすることで精度を保つことができます。

移流項計算手法は、流体解析タブおよび、熱流体解析タブ流体解析詳細設定で変更することができます。

 

7. 流体解析が収束して熱伝導解析が未収束の場合の対策

・移流項計算手法「1次精度風上差分」に変更

流体解析では、移流項の計算を行うときに、数値粘性により解が粘性が高い側に見積もられてしまうことが知られています。

温度計算では、熱伝導率が高く、温度差ができにくくなります。

 

デフォルトの設定(2次精度風上差分)では、反復毎に、数値粘性を小さくする処理を行っていますが、これにより、収束しにくくなる場合があります。

1次精度風上差分に切り替えることで、反復回数を少なくすることができます。

数値粘性はメッシュサイズを小さくすることで最小限に抑えることができるため、1次精度風上差分を使用する場合、メッシュサイズも小さくすることで精度を保つことができます。

移流項計算手法は、流体解析タブおよび、熱流体解析タブ流体解析詳細設定で変更することができます。

・流体解析の収束判定を小さくしてリスタート

流体解析結果の精度が悪いことが原因の可能性があります。

流体の収束判定を小さくして、流体解析結果の精度を上げることで収束する場合があります。

収束判定値は流体解析タブおよび、熱流体解析タブ流体解析詳細設定で変更することができます。