changeDictionary2017年5月23日 | |
はじめにchangeDictionary についてのメモ。 使用バージョンOpenFOAM 4.1 changeDictionarychangeDictionary は、辞書ファイルを書き換えるために使えるユーティリティである。実行には system/changeDictionaryDict が必要である。 たとえば、境界 frontAndBack の境界タイプを wall に設定したい場合、つぎのようなファイルを用意する。 system/changeDictionaryDict
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object changeDictionaryDict;
}
boundary
{
frontAndBack
{
type wall;
inGroups 1(wall);
}
}
※注意: 古いバージョンの OpenFOAM だと、boundary の部分を dictionaryReplacement という辞書の中に入れる必要がある。
dictionaryReplacement
{
boundary
{
...
}
}
実行 $ changeDictionary これで constant/polyMesh/boundary の内容が書き換わる。 フィールドファイルも変更できる。
U
{
internalField uniform (1 0 0);
boundaryField
{
inlet
{
type fixedValue;
value uniform (1 0 0);
}
}
}
キーワードを削除したい場合は、チルダ (~) を用いる。
U
{
boundaryField
{
inlet
{
type zeroGradient;
~value;
}
}
}
上の例の場合、境界条件タイプを fixedValue から zeroGradient に変更しても value が残るので、"~value" で value を削除している。 changeDictionary はオプションなしだとフィールドファイルは 0 ディレクトリのものが用いられるが、オプション "-time" や "-latestTime" で時刻を指定することもできる。 オプションマルチリージョンの場合は、changeDictionaryDict を system のリージョンのディレクトリに入れ、changeDictionary をリージョンごとに実行する必要がある。 $ changeDictionary -region air changeDictionaryDict で "#include" などを使う場合は、オプション "-enableFunctionEntries" を用いる。 $ changeDictionary -enableFunctionEntries changeDictionaryDict で、古いバージョンの OpenFOAM 同様に設定を辞書 dictionaryReplacement の中に書きたい場合は、オプション "-subDict" を用いる。 $ changeDictionary -subDict dictionaryReplacement | |
| PENGUINITIS | |