はじめに
OpenFOAMはライセンスフリーのソフトウェアで、どなたでも自由に利用することができます。その反面、丁寧なマニュアルなどはなく、インストール方法や操作方法の調査に時間がかかってしまいます。
弊社のサポートをご契約いただけた場合は、それらのご不明点に関して、メールサポート等でご支援しております。弊社のユーザー限定のサポートサイトでは、これまでにお問合せがあったご質問などをまとめており、約100件以上のFAQをご覧頂くことができます。ここでは、代表的なFAQをいくつかご紹介します。
ご質問1
流速ではなく流量で流入/流出境界を指定する方法は?
回答
0フォルダのUファイルで、typeをflowRateInletVelocityに指定すると、流量で流入/出境界を指定する事ができます。
例)patch名”inlet”から、体積流量0.9で流入
inlet
{
type flowRateInletVelocity;
volumetricFlowRate constant 0.9;
value uniform (0 0 0);
}
volumetricFlowRateの値をマイナスにすると流出になります。
”volumetricFlowRate”を”massFlowRate”に変更すると、質量流量になります。
ご質問2
keyword *** is undefined in dictionary “***” というエラーを解決するには?
--> FOAM FATAL IO ERROR:
keyword *** is undefined in dictionary "***"
回答
上記のエラーが出る場合、複数の原因が考えられます。
- メッセージ通り、指摘されている keyword が記述されていない
- 指摘されている keyword が記述されている場所以前の箇所で、セミコロンの記述を忘れている。
- エラーの出ているファイルの文字コードが UTF-8 with BOM になっている。
1.の場合は無いと指摘されている keyword を記述します。
スペルミス、大文字小文字のミスで keyword が認識されていないこともありますのでご確認ください。
2.の場合はセミコロンが必要な箇所が無いかどうかをチェックしてください。
3.の場合はエラーの出ているファイルの文字コードをテキストエディタの保存機能などで UTF-8 に変更してください。
バージョン1903より前の Windows メモ帳は保存時に UTF-8 のファイルを UTF-8 with BOM に変更してしまうので注意が必要です。
ご質問3
粘性モデル”HerschelBulkley”の適応例と設定方法は?
回答
・適応例
HerschelBulkleyモデルは非ニュートン流体の粘性モデルです。一定のせん断応力に達するまでは流動しないビンガム塑性モデルと、べき乗測モデルを組み合わせたモデルです。バターや生クリーム、流動コンクリート等のビンガム流体を表現できます。
粘度式は次式となります。
・設定方法
設定はconstant/transportPropertiesファイルで設定します。以下に設定ファイルの例を示します。
transportModel HerschelBulkley;
HerschelBulkleyCoeffs
{
nu0 1e-3;
tau0 1;
k 1e-5;
n 1;
}
ご質問4
解析領域内部のメッシュを画面に表示して確認する方法は?
回答
解析領域内部のメッシュを画面に表示して確認するにはParaViewを使用します。※ParaViewは、OpenFOAMのポスト処理が可能なフリーソフトウェアです。
たとえば、計算実行ディレクトリをsampleとしたとき、ParaViewを起動して、ツールバーのファイルオープンボタンをクリックして、sampleディレクトリ以下にあるsample.foamを読み込みます。
(1) 解析領域全体の表面メッシュの表示
- Propertiesパネルの詳細設定ボタン をクリックして、詳細設定ができるようにします。
- [Decompose polyhedra]のチェックをはずし、多面体をテトラとピラミッドに分割しないようにします。
- PropertiesパネルのApplyボタンをクリックします。
- Propertiesパネルあるいはツールバーの[Representation]のプルダウンメニューからを選択します。
以下に、Propertiesパネルを示します。
このようにすると、解析領域の表面メッシュがParaViewによるセル分割が行われずにセルが表示され、表面メッシュを確認できます。
(2) 内部メッシュの表示
- ツールバーからスライスボタンをクリックします。
- Propertiesパネルの詳細設定ボタンをクリックして、詳細設定ができるようにします。
- [Triangulate the slice]のチェックボタンをはずし、要素を三角形に分割しないようにします。あるいは、[Crinkle slice]にチェックを入れ、セル形状を表示するようにします。
- PropertiesパネルのApplyボタンをクリックします。
- Propertiesパネルあるいはツールバーの[Representation]プルダウンメニューからを選択します。
以下に、Propertiesパネルを示します。
このようにすると、スライスされたメッシュの断面がParaViewによって三角形化されずにセルが表示され、内部メッシュを確認できます。
ご質問5
ParaView で粒子追跡機能を利用する方法は?
回答
ParticleTracer フィルターを用います。この粒子追跡は ParaView 上で計算されるものであり、OpenFOAM 側で質量粒子等の形で計算されていなくても利用することができます。
- ParaView にてモデル読み込み後、メニューバーの “Sources” から粒子発生地点を指定するための Plane あるいは Line を選択
- 適宜形状を設定して作成
- Properties ブラウザにて “Resolution” を設定
(Line においてはこれが粒子の配置数となります。Plane においては X resolution × Y resolution が配置数です) - Apply を押すことで Plane あるいは Line を確認できます。
- .foamファイルをクリックして選択します。
- メニューバーの Filters から Temporal -> ParticleTracer を選択します。
- 表示される設定ダイアログにて、Inputに.foam ファイル、Seed Source に作成した Plane あるいは Line を設定し、OKをクリック
- Apply をクリック
以上の手順で粒子が配置され、描画タイムステップを進めることで粒子が流れに乗り移動するのを見ることができます。
粒子を定期的に生成して流したい場合、Peoperties ブラウザで Force Reinjection Every NSteps を1以上の値にすることで可能です。
最後に
以上のように、弊社のメールサポート・FAQでは、細かい手順や設定画面、設定ファイル例を示し、丁寧な回答を心掛けております。また、OpenFOAMライブラリリファレンスの著者も在籍しており、ソースコードから解読しているため、設定内容の詳細な解説も可能です。是非、弊社サポート契約をご検討頂き、OpenFOAMのご活用にお役立て下さい。
ユーザーサポートサイトでは、FAQの他にも、様々な分野(インクジェット、攪拌、樹脂成形、建築・土木・環境水理など)のサンプルアニメーションをご覧いただくことも可能です。また、メールサポートの他にも、トレーニングや受託解析、コンサルティング、カスタマイズ等のサービスも行っており、OpenFOAMをご活用いただくためのご支援を行っております。詳細は、サービス内容のページをご参考ください。
もしご興味をお持ちいただけましたら、こちらからお気軽にお問合せください。