E.Mogura's Collection


  		

blockMesh作成マクロ

投稿日 2011-07-08 06:25:40


 

				OpenFOAM のtutorials に、blockMeshをマクロで作成しているケース(tutorials/incompressible/MRFSimpleFoam/mixerVessel2D)があったので、これを真似して、簡単な応用例を 作成してみました。

円管用にblockMeshでメッシュ作成するもので、ソースの下記引用部分(27行目?43行目あたり)で円管のサイズやメッシュ分割数を指定すると、あっという間にメッシュが作成できてしまいます。
// 円管径
define(R1, 0.5)

// 円管領域の内部矩形分割領域の比率
define(r, 0.7071)
define(D1, calc(R1 * r))

// 円管の長さ
define(LAB, 5)

// 分割数
//ND 1/4ブロックの周方向
define(ND, 12) 
// NR 円管の矩形外領域の径方向
define(NR, 6)
// NAB 円管の長手方向 
define(NAB, 50)

使用方法

マクロファイル(*.m4)をblockMeshDictのあるpolyMeshフォルダと同じ場所に置いておけば、ケースのルートフォルダにて、以下のコマンドを実行すれば、メッシュの出来上がりです。
m4 < constant/polyMesh/blockMeshDict_Pipe-4.m4 > constant/polyMesh/blockMeshDict
blockMesh

作成例1(円周部分を4ブロック分割)

作成例2(円周部分を8ブロック分割)

作成例3





    

ユーザ名:

パスワード:


パスワード紛失

新規登録