(タイトル)未定(副題)DEXCS for OpenFOAM の使い方(5-1-2)

5-1-2. 解析モデルの変更方法



ここでは図5-1-2-1.に示すように、仮想風洞試験における解析対象を変更して解析する手順について解説するが、FreeCADの操作説明が主体になるので、FreeCADを使った経験が無い人は、先に5-2.1.FreeCADの基本を読んでおくことを推奨する。

図5-1-2-1.解析モデル(対象)の変更

本例では前項(5-1-1.まずは使ってみる)と同じソルバー(定常非圧縮性乱流ソルバー:simpleFoam)を使うので、基本的なやり方としては、単に解析モデルを変更して前項と同じ手順でやるのが一番簡単である。特に、前項で解析対象としたDexcsフォントであるが、新しい解析対象(ここでは球体)でもその名前をDexcsとしておけば、全く同一の手順で出来る。

しかし解析モデルを変更した以上、解析対象の名前も変更するのが合理的であろうから、この名前変更に対するケースファイルの適合作業をいかに効率良く実施するかがポイントになる。

5-1-2-1.解析形状(FreeCAD)モデルの変更

まずは前項で使ったFreeCADモデル(dexcsInWindTunnel.fcstd)を開いて、これを別のフォルダ(デスクトップ上sphereInWindTunnelというフォルダ)に名前を変えて(sphereInWindTunnel.fcstd)収納しておこう。この作業は、ファイルマネージャを使って実施しても良い。また、フォルダ名とその在所やファイルの名前もこの通りである必要はない。

左画面のモデルツリー上で、Dexcs(仮想風洞試験における解析対象)を選択してキーボードの「Deleteキー」を押してみよう①。Dexcsが無くなって、替りにC.stl, D.stl,..といった5つのパーツに分解される。これら5つのパーツをまとめて(shiftキーを押しながら)選択して、再度「Deleteキー」を押せば②、解析対象の存在しない、仮想風洞と細分割領域だけのモデルになる。

図5-1-2-2.解析対象(Dexcs)の削除

ここに、新たに解析対象を配置してやれば良いのであるが、FreeCADを立ち上げた直後のワークベンチは「Startワークベンチ」になっており、このワークベンチではモデル作成の作業が出来ない。ここでは球体を配置したい、球体を作成する方法は何通りもあるが、最も簡単に出来る「Partワークベンチ」に切替えておく。

球体を作成する前に、仮想風洞のサイズを確認しておこう。サイズを図るには、「表示ツールバー」の「距離を測定」アイコンを使えば良い。これをクリックすると3D画面上でマウスポインタの形状が変わって、モデル上で動かすと、ポインターの位置に応じて、頂点や辺、面の色が変わる。測定したい箇所の表示色が変わったら左ボタンクリック、その箇所に「x」マークが表示される。対となる箇所で同じように左ボタンクリックすれば、2点間の寸法が表示される。

図5-1-2-3.寸法確認例

具体的に測定した例を図5-1-2-3.に示すが、いくつか要点を述べておこう。

  1. 測定に応じて、モデルツリ-上に、Distance …というコンポーネントが作られる。
  2. モデルツリー上でコンポーネントを選択して「プロパティービュー」画面の「データ」タグで、選択した点の座標値を調べる事ができるとともに、この座標値を直接編集して、選択箇所を変更する事も可能であり、特に頂点をうまく選択できなかった場合には、選択をやり直すよりも、これで修正した方が楽。
  3. 寸法の表示位置を変更したい場合は、「プロパティービュー」画面の「表示」タグで「Dist Factor」の値を変更すればよい。
  4. 寸法はmm(ミリメートル)で表記されているが、OpenFOAMではメートルで解釈される。

なお、かようにして寸法確認は出来るのであるが、ここで作成されたコンポーネントが存在すると、後のプロセスで、cfMesh設定マクロを起動できなくなってしまうので、ここでコンポーネントを削除(選択して「Delete」キーを押せばよい)したという前提で、以下の説明を続ける。

解析対象を球体にしたいので、Partワークベンチに変更、ソリッドツールバーから、「球体のソリッドを作成」アイコンをクリックすれば、図5-1-2.4.の状態になるはずである。

図5-1-2.4.球体を追加

モデルツリー上で、球体を選択して、「プロパティービュー」画面で調べると、

図5-1-2.5.球体プロパティの変更

図5-1-2.5.の左側の状態になっているので、①Radius(球の半径)の値を変更すれば良いことは容易に出来るであろう。注意点としては、Labelの名前を「球体」から②「sphere」(sphereでなく他の名前でもOK)に変更している点である。この変更の要点は、日本語(2バイト文字)の使用は不可という事で、変更しないとこれも後のプロセスにおいて問題となる。

このままでは仮想風洞内部に収納されないので位置を変更する必要がある。球のサイズの変更は容易であったろうが、位置変更は少々やりにくい(補足1参照)。Placement欄の右端に③「…」のアイコンがあるので、これをクリックする。そうすると、コンボビュー画面で「タスク」タグがアクティブになって、図5-1-2.6.の「配置」メニューが使えるようになる(パネルを別ウィンドウにサイズ変更して説明している)。

図5-1-2.6.「配置」(配置変更)メニュー

「配置」変更の方法として、平行移動や回転移動の出来る事がお判りになると思うが、ここでは平行移動のみで、移動量は先に仮想風洞のサイズを測定してあったので、そのサイズに則って①決めた値を記入、②「Apply」ボタンを押して、3D画面上で確認、問題なければ③「OK」ボタンを押して、配置変更の完了である。コンボビュー画面は自動的に「タスク」から「モデル」タグに戻る。

上記作業で、球の位置は仮想風洞の流れ方向から見て中心、上流入口から2の位置に配された事になるが、これをデフォルトの視点から見ていただけでは本当に正しく配置されているかわからない。

視点を変えるには、表示ツールバーの前面や上面ビューへの切替アイコンを使えるが、デフォルトの投影法が透視投影法(近くのものが大きく見える)になっているため、これだけでは正確な位置を判断し難い。投影法を切り替えるには、「表示」メニューから、①「正射投影表示」を選択すると良い(図5-1-2-7.)。

図5-1-2.7.細分化領域の適合

図5-1.2.7.では、②「右面ビューに設定」アイコンで表示確認したもので、確かに球体は風洞の中心に配置された事を確認できたが、球体を取り囲む③regionBox(細分化領域)のサイズが不適切であるので、このサイズを④変更している。

以上で、FreeCADモデルが完成したので、引き続きメッシュ作成に移るが、基本的なやり方は、5-1-1.「まずは使ってみる」で実施した方法と同じで、Dexcsをsphereと読み替えて実行するだけでよい。

但し、境界条件の設定については、gridEditorの使い方に説明が必要になるであろう点と、流体特性パラメタ、計算制御パラメタについても補足しておく。

5-1-2-2.初期・境界条件

メッシュ作成・確認が完了したら、まずは、5-1-1-5.で実施したのと同じ方法でgridEditorを起動してみよう。

図5-1-2-8.gridEditorの起動

警告のメッセージダイヤログが表示されるが、取り敢えず④「OK」ボタンを押しておこう。

図5-1-2-9.gridEditor起動画面

下から2行目、「sphere」の境界条件がすべてブランクになっており、これが警告の意味であったという事である。これは当然の事であり、今回メッシュは「sphere」というパッチ名で作成したのに対し、各フィールドのパッチ名はデフォルトとして「Dexcs」というパッチ名で作成してあったものを使っているからである。新たに作り直した「sphere」に対して、各フィールドの境界条件を作り直してやる必要がある。今回はデフォルトの解析対象「Dexcs」を「sphere」に変更した訳であるが、解析対象の形状と名前は変わっても、境界条件は同一にするのが普通の考え方であろう。

ならば、図5-1-1-20で説明した各フィールド変数ファイルを個別に直接編集(「Dexcs」を「sphere」に変更)すれば良いのであるが面倒な作業になる。あるいはgridEditor上の空欄を一つずつ内容を埋めておけば良いのであるが、どういう境界条件で埋めたら良いのか(特に初心者には)判らない。

ここではgridEditorを複数使った効率的な作業方法について説明しておく。

まずは①「ファイル」⇒「開く」メニューをクリックすると、最初に起動した時と同じ選択画面が現れる。ここで今度は、②「other caseDir」のボタンを押してみよう。そうするとケースファイルの選択画面が現れるので、③DEXCS標準チュートリアルケース(dexcsTutorial)を選択、④「決定」ボタンを押す。再度起動時の選択画面に戻るのであるが、今度は(dexcsTutorial)の内容が反映されており、計算結果も含まれた内容で、編集する時間として、デフォルは「latestTime」Field選択画面も計算結果のみ選択された状態になっているので、これらを変更(⑤「firstTime」を選択、⑥「全てのFieldを選択」)し、⑦「開く」ボタンを押す(図5-1-2.10)。

図5-1-2-10.参照ケースを開く

そうすると、新たにgridEditor画面が現れるが、これは図5-1-1-22に示したものと同じものである。「sphere」を「Dexcs」と同じ境界条件とするのであれば、この参照ケースの「Dexcs」の行全体を選択、③マウス右クリックして「cellコピー」を選択しておき、最初に開いたgridEditor画面上の「sphere」行の⑤最左欄を選択、⑥マウス右クリックして「cell貼付け」を選択すれば、境界条件を一括コピーできる(図5-1-2-10)。

図5-1-2-10.境界条件の一括コピー

正しくコピー出来たかどうか確認して、間違いなければ②「保存」アイコン⇒③「終了」アイコンをクリックして完了である(図5-1-2-11)。

図5-1-2-11.gridEditor終了

5-1-2-3.流体特性パラメタ

5-1-1-3項では、流体特性パラメタの変更方法について説明したが、パラメタの内容についてはほとんど触れなかった。

ここで「球体」を解析対象とした仮想風洞試験を題材にしているが、いわゆる「球体まわりの流れ解析」ということで、この現象に対しては歴史的に様々な実験が行われてきており、多くの数値計算例もある。一方、DEXCSランチャーで抗力係数が計算できるということも分っているので、計算の検証をするには、格好の題材になるのではないかと考えている。

その際の検証方法としては、個々の実験条件をそのまま計算対象にするのでなく、レイノルズ数(Re)という無次元パラメタで結果を整理するのが工学的に有用である。レイノルズ数(Re)は、

  Re=\frac{UD}{nu}

のように表される。ここで、U[m/s]は流速であり、Dは代表寸法(本例では球の直径)[m]、nuは動粘性係数[m2/s]である。

Re数を合わせるには、ここまでの設定例では、U=10, D=1 となっている点を考慮して、nuの値を決めれば良い。但し、nuは物性値であり、参考まで20℃では、空気の場合15.01×10-6 m2 /s、水の場合1.004×10-6 m2 /sとされているので、こちらを規定して、逆に流速を変更するのでも良い。Re数が同じ条件で計算すれば、同一の結果になる事も確認されたい。

もう1点の留意事項は乱流モデルである。一般的にRe数が数千といったあたりで、層流から乱流に遷移すると云われているが、計算は収束性や計算精度を不問とすれば、Re数の値によらず層流計算も乱流計算も可能である。ひとくちに乱流計算というが乱流モデルにも様々なモデルがあって、本チュートリアルでも使用可能である。このあたりも実際に計算してみて、自分の眼で確認していただきたい。

5-1-2-4.計算制御パラメタ

本チュートリアルでは、解析対象の名前を変更し、前項では物性値、乱流モデルパラメタの変更スタディを推奨した。

これらの変更に伴って、systemフォルダ下の計算制御パラメタにも変更が必要になる箇所があるので、ここに取り纏めておく。

まずは、流体力(forces)と空力係数(forcesCoeff)を計算する為の設定ファイルである。デフォルトでは、解析対象が「Dexcs」であったのに対し、本チュートリアルでは「sphere」であるので、該当箇所を変更する必要がある。

forcesCoeffsでは、20行目以降、

patches     (Dexcs);
rho         rhoInf;      // Indicates incompressible
rhoInf      1;           // Redundant for incompressible
liftDir     (0 0 1);
dragDir     (1 0 0);
CofR        (0 0 0);  // Axle midpoint on ground
pitchAxis   (0 1 0);
magUInf     10;
lRef        1;        // Wheelbase length
Aref        1;        // Estimated

となっているが、20行目の(Dexcs) を(sphere)に変更する。forecesにも同様のパラメタがあるので変更が必要である。

また、流入条件に応じて、magUInfの値を、解析対象のサイズ変更に応じて、lRef, Arefの値も変更する必要がある。

もう1点、steamLinesファイルがある。これはチュートリアルでは説明しなかったが、流跡線を計算する為の設定ファイルであり、26行目に、

// Names of fields to sample. Should contain above velocity field!
fields (p U k);

として、フィールド変数(p U k)をサンプリング指定している。デフォルトの計算では問題ないが、前述の乱流モデルを変更し、層流計算した場合には、k(乱流エネルギー)が計算されないので、このままだとエラーとなって計算が実行できなくなる。層流計算の場合は、kを削除するか、そもそも空力係数を検証できれば良いというならば、controlDictファイルの48行目以下で、

functions
{
    #include "forces"
    #include "forceCoeffs"
    #include "probes"
    #include "massFlow"
    #include "sampleDict"
    #include "streamLines"
}

include “streamLines”の行を削除、もしくはコメントアウト(行頭に//)しておくのも方法である。

補足事項
  • 「配置」変更タスクの使い難い点

デフォルトが日本語入力モードになっており、数値入力中に誤ったEnterキーを押すと、タスク画面が閉じてしまったり、桁数が多くなると、勝手に単位が換わって表記されてしまうなど、数値入力がやりにくい。

回転移動に際しては、回転中心、回転角などのオプション指定が必要になり、ある程度は直感的に理解できるので、とにかくやってみればわかるの気持ちで取り組めば自得できるようになる。しかし、何度もやり直していると「OK」ボタンを押しても設定が反映されていなかったりする事も多い。一旦、タスクを終了して、余分の作業を廃してやり直せば大丈夫だと思うが・・・

この章の最初へ 全体目次

5-1-3. 解析ソルバーの変更方法

5-2. 推奨メッシュ生成法

5-2-1. FreeCADの基本

5-2-2. FreeCADマクロの使い方

DEXCS2018以前では、この後別画面でメッシュ作成を実施していたが、DEXCS2019では、このマクロ画面から、そのままメッシュ作成、メッシュ確認出来るようになったので、確認の結果メッシュが適切でないとなったら、直ちにパラメタ変更して

この章の最初へ 全体目次

5-3. 簡単な構造解析

この章の最初へ 全体目次