↑ページトップへ

チュートリアル:簡易車体モデルでの抗力係数の測定

インポートした形状データの周りに解析領域を作り、OpenFOAM® 用の解析設定ファイルを作成する方法を説明します。また抗力係数、揚力係数などの力係数の値を出力します。

解析の概要

時速約 10 km の空気の流れの中におかれた模擬車体モデル(Ahmed body)の周りの非定常流れを5秒間分、計算します。また抗力係数、揚力係数などの出力設定を行なって各時刻での値を取得します。

ParaFoam velocity result
解析結果

計算設定ファイルの作成

プロジェクトの作成

XSim を開き、プロジェクトの作成ダイアログでプロジェクト名として「MyProject」と入力し作成を押します。

プロジェクトの作成ダイアログ
プロジェクトの作成ダイアログ

形状のインポート

このチュートリアルではあらかじめ用意された形状ファイルを使用します。次のリンク「tutorial-AhmedBody.zip」からZipファイルをダウンロードし、適当な場所に展開します。

「ファイルドロップ」タブでダウンロード・展開したファイル「AhmedBody.stl」をドラッグ&ドロップして読み込みます。読み込まれた形状は3Dビュー上に表示されます。

ファイルからの形状の読み込み
ファイルからの形状の読み込み

「形状の追加」タブでタイプとして「直方体」を選び、最小座標に(-2, -1.5, 0)m、最大座標(5, 1.5, 1.5)m を設定します。追加を押します。3Dビュー下の表示切り替え「表示切り替え」アイコンで3D表示を半透明に切り替えることができます。

形状の追加
形状の追加
解析領域用の形状を追加(3Dビュー)
解析領域用の形状を追加(3Dビュー)

メモ:外部流れでの解析領域の大きさ

外部流れの解析では解析領域外との境界の影響を減らすためにできるだけ大きな解析領域を設定することが望ましいですが、一方で、解析領域が大きければそれだけ計算時間や使用メモリ量といった計算コストが大きくなるため、適切なバランスを取る必要があります。

基準としては次の図のように解析対象の最大長さをLとして、上流側に2L、下流側に5~10L、側面方向に5Lの距離を取ると境界の影響を減らせることが経験的に知られています。

解析領域のサイズの目安
解析領域のサイズの目安

また側面方向の距離の目安としては、解析対象の前面投影面積と解析領域の断面積の比であるブロッケージ比(blockage ratio)を基準にすることもあります。ブロッケージ比を基準とする場合、環境風洞では100%~60%以下、力特性測定に用いられる空力風洞では10%以下となるのが望ましいとされます(参考文献[1][2][3])。

次へでメッシュ設定へ進みます。

メッシュ

  • 再分割設定

    「再分割設定」で範囲タイプとして「直方体」を選び、最小座標に(-0.1, -0.5, 0)m、最大座標(3, 0.5, 0.5)m を設定します。また再分割レベルを2に設定します。プレビューボタン「プレビュー」アイコンを押して形状を確認したら追加を押します。

    再分割設定(直方体)
    再分割設定(直方体)
    再分割用の直方体領域
    再分割用の直方体領域

    さらに「再分割設定」で範囲タイプとして「表面(領域)」を選び、領域として「AhmedBody」を選びます。再分割レベルは3に設定します。設定が終わったら追加を押します。

    再分割設定(表面)
    再分割設定(表面)
  • レイヤーメッシュ設定

    厚み比率が0.3、領域が「選択されている領域」、レイヤー層数が3となっていることを確認し、ウィンドウ左側のナビゲーション・ビューで「AhmedBody」、「ZMin」をクリックして選択してから設定を押します。

    レイヤーメッシュ設定
    レイヤーメッシュ設定

次へで解析の基本設定へ進みます。

基本設定

解析の種類を設定します。「非定常」を選択し終了時間を5秒に設定します。

基本設定
基本設定

次へで物性の設定へ進みます。

物性

流体の種類を設定します。物性値ライブラリーボタン「物性値ライブラリー」アイコンを押して表示されたダイアログで「Air(空気)」を選択してOKを押します。

物性設定
物性設定
物性値ライブラリーダイアログ
物性値ライブラリーダイアログ

次へで初期条件設定へ進みます。

初期条件

最終的な解を得るまでの計算時間を短縮するために、初期流れ場を設定します。物理量で「速度」を選び、値として(2.77, 0, 0)m/s を設定して設定を押します。

初期条件設定
初期条件設定

次へで境界条件設定へ進みます。

流れ境界条件

  • 流入境界

    領域として「選択されている領域」、タイプとして「流速指定」を選び、ナビゲーション・ビューで「XMin」を選択してから流速として(2.77, 0, 0)m/s を設定して設定を押します。

    流入境界条件
    流入境界条件
  • 流出境界

    領域として「選択されている領域」、タイプとして「静圧指定」を選び、ナビゲーション・ビューで「XMax」を選択してから静圧として0 Pa を設定して設定を押します。

    流出境界条件
    流出境界条件
  • 静止壁境界

    領域として「選択されている領域」、タイプとして「静止壁」を選び、ナビゲーション・ビューで「AhmedBody」、「ZMin」を選択してから設定を押します。

    壁境界条件
    壁境界条件

流入境界と流出境界は3Dビュー上に矢印で表示されます。

3Dビュー上での流入境界と流出境界の表示
3Dビュー上での流入境界と流出境界の表示

次へで計算設定へ進みます。

計算設定

計算に使用するマシンの CPU コア数に合わせて並列数を設定します(例えば 4) 。

計算設定
計算設定

次へで出力設定へ進みます。

出力

今回の計算は非定常計算なのでタイプとして「指定時刻ごと」を選択し、間隔として1秒を設定します。

出力設定
出力設定

次に抗力係数の出力を設定します。

「領域」タブを選択し、領域として「選択されている領域」、タイプとして「力係数」を選びます。さらに代表速度として2.77 m/sを設定します。

ナビゲーション・ビューで「AhmedBody」を選択してから投影面積の測定ボタン「投影面積の測定」アイコンを押し、投影面積ダイアログでOKを押して代表面積を設定します。

投影面積ダイアログ
投影面積ダイアログ

パラメーターの設定が全て終わったら設定ボタンを押して力係数の出力を設定します。

力係数の出力設定
力係数の出力設定

次へでエクスポートページへ進みます。

エクスポート

これで全ての設定が終わりました。エクスポートボタンをクリックして解析設定を zip 圧縮された OpenFOAM ケースのディレクトリ「MyProject.zip」としてエクスポートします。 zip ファイルのダウンロードはただちに開始されます。

エクスポート
エクスポート

計算の実行

ダウンロードした「MyProject.zip」を展開します。ケース・ディレクトリ内に bash スクリプト「Allrun」があります。以下のコマンドでこのスクリプトを実行してメッシュの作成と OpenFOAM ソルバーの実行を行います。

./Allrun

実行しているマシンがデスクトップ環境で、gnuplot がインストールされている場合にはモニタリング用に残差収束グラフが表示されます。

モニタリング用グラフ
モニタリング用グラフ

4並列(Inter(R) Core(TM) i7-8700 CPU @ 3.20GHz 3.19GHz)で実行した場合、メッシュ作成には10秒、解析には8分ほどかかります。

計算結果の確認

計算が終了したら以下のコマンドで ParaView を実行してメッシュと計算結果を可視化できます。

paraFoam

まずメッシュです。

物体表面のメッシュ
物体表面のメッシュ

流れ方向断面でのメッシュ
流れ方向断面でのメッシュ
流れ方向断面でのメッシュ(拡大)
流れ方向断面でのメッシュ(拡大)

流速、圧力の分布は以下の様になります。

流速分布
流速分布
流速分布(空間側のみ)
流速分布(空間側のみ)

圧力分布
圧力分布
圧力分布(空間側のみ)
圧力分布(空間側のみ)

抗力係数などは「postProcessing/forceCoeffs(AhmedBody)/0」フォルダ内のファイル「forceCoeffs.dat」に以下のような形式のテキストとして出力されます。

# Force coefficients
# liftDir     : (0.000000e+00 0.000000e+00 1.000000e+00)
# dragDir     : (1.000000e+00 0.000000e+00 0.000000e+00)
# pitchAxis   : (0.000000e+00 -1.000000e+00 0.000000e+00)
# magUInf     : 2.770000e+00
# lRef        : 1.000000e+00
# Aref        : 1.151719e-01
# CofR        : (3.369437e-01 2.145408e-05 7.275021e-02)
# Time        	Cm            	Cd            	Cl            	Cl(f)         	Cl(r)       
0             	-5.587547e-03	7.058447e-02	5.698159e-04	-5.302639e-03	5.872454e-03
0.000361925   	-1.563391e+01	1.850193e+02	4.270235e+01	5.717266e+00	3.698508e+01
0.000783536   	-1.687351e+01	2.081231e+02	5.050325e+01	8.378113e+00	4.212514e+01
……(省略)……
4.99739       	9.405859e-02	4.975069e-01	5.129965e-01	3.505568e-01	1.624397e-01
4.9987        	9.400983e-02	4.974598e-01	5.128405e-01	3.504301e-01	1.624104e-01
5             	9.397174e-02	4.974367e-01	5.127337e-01	3.503386e-01	1.623951e-01

Cm、Cd、Clはそれぞれトルク係数、抗力係数、揚力係数を表します。またCl(f)は「Cl/2.0 + Cm」、Cl(r)は「Cl/2.0 - Cm」で定義される値です。

参考文献