いきなりOpenFOAM (25)
翼列の解析(後編)
緩和係数
前回は、翼列の揚力係数・抗力係数をOpenFOAMで解析してみましたが、残念ながら途中で発散してしまいました。そこで、今回は緩和係数を変更することで、発散を抑えてみます。
CFD解析では非線形方程式を解くため、繰り返しの計算を行います。この繰り返しの際に、値が大きく変化すると計算が発散してしまいます。そこで、計算サイクル前後の結果に適当な重みを付けて平均化した結果を新たな結果としています。この重みが緩和係数で、下記の式のような平均化がされています。
今回の結果 = 前回の結果×(1-緩和係数)+今回の結果×緩和係数
OpenFOAMをはじめ、一般的な流体解析ソフトウェアでは、圧力、速度、温度、さらに標準的なk-ε乱流モデルでは、乱流エネルギーkと乱流散逸率εなど、それぞれの方程式について緩和係数を設定できます。
なお、上記の式から分かるように、緩和係数を小さくすると、前回結果の割合が大きくなるため、計算は安定化しますが、収束は遅くなります。逆に緩和係数を大きくすることで収束を早めることもでき、各計算条件で最適な(一番効率が良い)値がありますが、通常はその値を追い求めるのではなく、デフォルトの値を使用し、条件が厳しいものについて、うまく計算が進むように調整するのが一般的な使い方になります。また、調整しなければいけない場合も、数値を大きく変化させるのではなく、少しずつ下げていくなど、慎重に扱うべきパラメータになります。
OpenFOAMでの緩和係数の調整
OpenFOAMの緩和係数は解析ファイルの/system/フォルダ内のfvSolutionファイルで設定します。図1に示すように、fvSolutionファイルをエディタで開くと、relaxationFactors部分に圧力p、流速U、乱流エネルギーk、乱流散逸率epsilonの順に、図1の赤枠内に記載されています。
緩和係数は値が小さいほど安定になるので、例えば、デフォルトの値から、p0.3→0.2、U0.7→0.5、k0.7→0.5、epsilon0.7→0.5と修正し、上書き保存後計算を実行すると、新しい緩和係数で解析を行います。
なお、今回はfvSolutionファイルを直接編集しますが、XSimでも図2に示す部分で緩和係数の調整ができます。
新しい緩和係数で計算してみると、図3に示すように、今回は無事に設定したサイクル分の計算が行われました。
ParaViewでの結果の可視化
図4から6はそれぞれ、流線、流速分布、静圧分布を表示したものです。上下の周期境界条件では流速、静圧が同じ値となるため、翼下面の圧力が上昇する部分では周期境界条件を通して、翼上面の圧力低下が影響するため、単独翼と比べて、翼上下面の圧力差が小さくなっています。したがって、単独翼と比べて、翼列では揚力係数が低下すると考えられます。
図7にサイクル毎の揚力係数の変化を示します。図を見ると、揚力係数は100サイクル以降では0.5付近でほぼ一定となっています。したがって、例えば、結果が小数第一位までで十分であれば、膨大なサイクルを計算する必要はなく、目的に合わせた収束条件とサイクル数で計算すると良い結果が得られます。
参考までに、第21回で求めた単独翼の揚力係数、抗力係数と比較した結果を下表に示します。翼列では、単独翼と比べて、揚力係数が低下し、抗力係数が増加することがわかります。
翼列 | 単独翼 | |
揚力係数 | 0.51 | 1.21 |
抗力係数 | 0.16 | 0.09 |
今回は翼列の解析(後編)として、前編で発散してしまった計算を、緩和係数を調整することでうまく計算できるようにしました。なお、収束などは計算の正しさに関するもので、結果が現実と一致するかどうかとは別物です。解析に際しては、設計された製品での実験結果と解析結果とが概ね一致するかを常に確認することが必要です。また、今回のような基本的なものでは、公開された実験結果と同じ条件で計算してみて、同等の結果が得られることを確認するのも有効な方法です。
今回、各アプリケーションの操作説明は省略しています。FreeCADの具体的な操作については、いきなりOpenFOAM第5回および第7回、OpenFOAMでの計算実行は第8回、ParaViewの操作については第3回、第4回および第8回を参考にしてみてください。
おことわり
本コンテンツの動作や表示はお使いのバージョンにより異なる場合があります。
本コンテンツの動作ならびに設定項目等に関する個別の情報提供およびサポートはできかねますので、あらかじめご了承ください。
本コンテンツは動作および結果の保証をするものではありません。ご利用に際してはご自身の判断でお使いいただきますよう、お願いいたします。