OpenFOAM cfMeshを使ってみる。

宇宙カマキリさんの記事で、OpenFOAMのメッシュ作成にcfMeshを使っている記事があり、試しにやってみた。

cfMeshのサンプルフォルダをコピー

cfMeshはOpenFOAMのインストールフォルダ内、modulesというフォルダにまとめて入っている。

そのなかで、今回はこのフォルダ「modules/cfmesh/tutorials/cartesianMesh」の中にあるサンプルフォルダを使う。

このフォルダをcpコマンドでコピーする。インストール先のフォルダまで移動してから、「cp -r [OpenFOAMのインストールフォルダ]modules/cfmesh/tutorials/cartesianMesh . 」でコピペできる。

cp -r [OpenFOAMのインストールフォルダ]/modules/cfmesh/tutorials .
cd tutorials/cartesianMesh/asmoOctree/

試しに使用するモデルは森北出版「OpenFOAMによる熱移動と流れの数値解析(第2版)」でダウンロードできるものを使用した。(ダウンロードファイル

サンプルモデルをコピー

ダウンロードしたフォルダはOpenFOAMの各バージョンごとに分かれているので、まず自分が使用しているフォルダを開く。

次に、mixing_elbow -> steadyIsothermal -> constant -> triSurface フォルダまで移動すると「mixing_elbow.stl」という3次元モデルのデータが見つかるのでコピペして使用する。

コピペしたら、さらにその中のasmoOctreeというフォルダに入る。

ここに、「mixing_elbow.stl」という3次元モデルのデータをコピペする。

条件ファイル の編集

「mixing_elbow.stl」という3次元モデルにメッシュを作成するため、条件ファイルを編集する。

asmoOctreeフォルダ内にsystemというフォルダがある。このフォルダ内のファイルは、メッシュ作成の条件が記入されたファイルになる。

meshDictというファイルをテキストエディタで開く。いろいろ書いてあるが、全部削除して以下の部分のみ残す。

/--------------------------------- C++ -----------------------------------\
| ========= | |
| \ / F ield | cfMesh: A library for mesh generation |
| \ / O peration | |
| \ / A nd | Author: Franjo Juretic |
| \/ M anipulation | E-mail: franjo.juretic@c-fields.com |
*---------------------------------------------------------------------------*/

FoamFile
{
    version   2.0;
    format    ascii;
    class     dictionary;
    location  "system";
    object    meshDict;
}

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

surfaceFile "model000_m.stl";

maxCellSize 0.001;

// ************************************************************************* //

実行コマンド

コマンドは「./Allrun」を実行する、もしくは以下のものを順に実行していく。

	
surfaceFeatureEdges model000_m.stl model000_m.fms

FMSToSurface model000_m.fms model000_m.stl

cartesianMesh 

1行目:エッジを検出する。
2行目:ファイルフォーマットをstlに戻す(paraviewでの確認用)
3行目:6面体メッシュの作成

エラーが出たら

もしコマンドが見つからないというようなエラーが出た場合は、Allwmakeする。

cfmeshのインストールフォルダに移動してから ./Allwmakeコマンドでcfmesh用のコマンドが使えるようになる。

cd [OpenFOAMのインストールフォルダ]/modules/cfmesh

./Allwmake

メッシュの確認

メッシュ作成が終わったらparaviewで確認する。vis.foamファイルを作成する。

touch vis.foam

paraviewでvis.foamを開き、applyボタンを押し、表示を「surface with edges」に変更すると、以下のようにメッシュが切られたモデルが表示される。