補足説明させて頂きます。blockMeshDictをはじめとしてDictionary内にプログラムコードを埋め込む機構が
OpenFOAM-2.0から導入されています。これを#codeStreamと呼びます。satoshiさんがご指摘された方法は
これにあたります。
チュートリアルでは、incompressible/simpleFoam/pipeCyclic でも利用されています。
#code ” "で指示されたコードを実行時にコンパイルして計算します。
また、blockMeshDictにコードを埋め込まずに、m4マクロを使って計算結果の数値でblockMeshDictを自動生成
する例が、incompressible/MRFSimpleFoam/mixerVessel2Dなどに見られます。ここではm4マクロ言語で書かれた
プログラムblockMeshDict.m4を使って、下記の様にしてblockMeshDictを作成します。
m4 < blockMeshDict.m4 > blockMeshDict
同様に、任意のスクリプト言語(python, ruby, perlなど)でもblockMeshDictを生成させることができます。
pythonの場合、pyFoamという優れたツールが存在し簡単にDictionaryを扱えるので、pythonスクリプトで
生成するのが最も便利だと思います。
以上、ご参考まで。
2013年1月18日金曜日 0時30分01秒 UTC+9 satoshi: