OpenFOAM

【OpenFOAM(円筒内の流れ)】軸対称モデルでメッシュ作成(4)

こんにちは(@t_kun_kamakiri

本記事はOpenFOAMでの円柱の軸対称モデルの作り方を紹介します。
以下の記事で円柱内流れを解析するために色々な円柱のメッシュ作成方法を紹介しました。

blockMesh

snappyHexMesh

cfMesh

しかし、円柱なら360°ぐるっと回転対称なので軸対称のモデルで行うことができます。
今回作るのは以下のようなモデルです。

【使用環境】
OpenFOAM-v2012(WSL2)

チュートリアルをコピーする

以下のコマンドで適当なチュートリアルをコピーします。

フォルダを移動します。

フォルダ移動できたらベースのメッシュを作っていきましょう。

ベースのメッシュ生成(blockMesh)

system/blockMeshDictで軸対称モデルのベースになるモデルを作成します。

system/blockMeshDict

blockMeshを実行します。

ParaViewで結果を確認します。
メッシュはy方向は1層だけにしています。

 

次の工程でbottomを距離0にして扇形の形状にします。

扇形形状にする(extrudeMeshDict)

extrudeMeshDictをどこかからコピーしてくる。

以下の候補が出てきます。

適当なチュートリアルからsystemにコピーします。

「system/extrudeMeshDict」を編集します。

system/extrudeMeshDict

 

  • axisPt (x y z); 対称軸上の点を定義
  • axis (X Y Z); 対称軸のベクトル
  • angle A;メッシュをA度スイープ

以下のコマンドを実行します。

ParaViewで確認するとこんな感じです。

不要な面を削除(createPatch)

元々blockMeshで6面のメッシュだったのが面「front」と「back」の面をくっつけたことによって「bottom」がなくなっています。

constant/polyMesh/boundaryを見ると、

「bottom」だけ「nFaces 0;」となっており、面がなくなっているのがわかります。
これを修正します。
面の数が変わったのでcreatePatchDictをどこかからコピーしてきます。

いくつか候補が出てきます。

適当なチュートリアルからコピーします。

「system/createPatchDict」を編集します。
編集と言ってもいらない面を消すだけなので特に設定するものはありません。

system/createPatchDict

この状態で「createPatch」コマンドをすると以下のようなwarning(警告)が出ます。

コードを眺めると以下の部分を出力しているようです。

良くわかりませんがいかのように対処するとwarningは消えるようです。

【対処方法】
system/controlDict

よくわかりませんがwdgeでのwarning見たいですが、バイナリ形式での出力にするとwarningがなくなります・・・・

以下のコマンドでcreatePatchを実行します。

constant/polyMesh/boundaryを見ると、

面「bottom」が消えて面の数が5つになっているのが確認できます。

メッシュ品質の確認

最終的なメッシュはこんな感じです。

以下のコマンドでメッシュ品質も確認しておきましょう。

軸対称のモデルだとメッシュ数が1万くらいなのでめちゃくちゃ軽いモデルですね。
直交性も良いですし。

以下の部分は最低確認するようにしましょう。

  • Max aspect ratio:アスペクト比(縦横の比率)→境界層で大きくなりやすいので大きすぎる場合は確認
  • non-orthogonality:直交性→70°以上であれば修正
  • Max skewness:歪度→4以上だと修正

メッシュ品質の基準は以下のファイルにも記載がありますで確認してみましょう。

コマンドでファイルを探す場合は、

以下のように出力されます。

primitiveMeshCheck.Cの中身を確認しましょう。

該当箇所は「/primitiveMesh」と打って「n(下へ)」「shift + n(上へ)」で探すことができます。

viを終了するには
ESCボタンを押して「:q」か「:q!」で終了することができます。

シミュレーションを行う場合、低品質なセルや面によって生じる数値誤差を低減できる数値スキームを選択します。

おすすめ参考図書

☟こちらは、OpenFOAMの日本語書籍が無い中唯一わかりやすい参考書だと思います。

OpenFOAMによる熱移動と流れの数値解析(第2版)

OpenFOAMによる熱移動と流れの数値解析(第2版)

3,520円(11/21 07:56時点)
Amazonの情報を掲載しています

☟こちらもOpenFOMの古いバージョンでの和訳になります。さすがにこちらはバージョンに対する日本語でのケアはしていないので、OpenFOAMに慣れている方は購入しても良いかと思います。僕は「日本語でまとまっている内容」なので少し重宝しています。

乱流の数値シミュレーション 改訂版

乱流の数値シミュレーション 改訂版

梶島 岳夫
4,975円(11/21 10:33時点)
Amazonの情報を掲載しています

☟以下に、もっと初心者向けの同人誌を紹介しておきます。
初心者は「ってか、まずどうやってOpenFOAMをインストールするの?」というところからつまずきがちです。
そんな時は、以下の書籍をおすすめします。

改訂新版 OpenFOAMの歩き方 (技術の泉シリーズ(NextPublishing))

改訂新版 OpenFOAMの歩き方 (技術の泉シリーズ(NextPublishing))

川畑 真一
2,376円(11/21 18:53時点)
発売日: 2022/04/15
Amazonの情報を掲載しています

インストール方法とチュートリアルで流体解析を体験・・・ちょっと高度な解析まで解説があります。著者曰くOpenFOAMのバージョンの追跡を行いながら、書籍をアップデートするようなので安心ですね。

関連記事もどうぞ

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です