非定常境界条件

2011年2月24日

使用バージョン

OpenFOAM 1.7.1

非定常境界条件

時間によって変化する境界条件を設定するには、境界条件タイプ "timeVaryingUniformFixedValue" を使う。これは時間ごとの値のリストが書かれたファイルを読み込む。

たとえば、次の通り。

$ cp -r $FOAM_TUTORIALS/incompressible/icoFoam/cavity .
$ blockMesh -case cavity/
$ cd cavity/0/
$ vi U
...
boundaryField
{
    movingWall
    {
        type            timeVaryingUniformFixedValue;
        fileName        "0/movingWall.dat";
        outOfBounds     clamp;
    }
    ...
$ vi movingWall.dat
(
(0   (1 0 0))
(0.5 (2 0 0))
(1   (3 0 0))
)
$ cd ..
$ vi system/controlDict
endTime         1;
$ icoFoam

フィールドデータの境界条件は次のように設定する。

boundaryField
{
    movingWall
    {
        type            timeVaryingUniformFixedValue;
        fileName        "0/movingWall.dat";
        outOfBounds     clamp;
    }
    ...

type に "timeVaryingUniformFixedValue" を指定する。fileName で時間ごとの値のリストを含むファイルを指定する。パスはケースディレクトリのルートから見ているようなので、0 ディレクトリ内のファイルを指定するには "0/..." とする。時間ごとの値のリストは次のように書く。

(
(t1 v1)
(t2 v2)
...
)

境界条件設定の "outOfBounds" は、計算時間がリストのデータをはみ出してしまったときの挙動を指定する。次のものが指定できる。

  • clamp: はみ出たら最後の値をそれ以後使う。
  • repeat: データを繰り返す。
  • error: はみ出たら止まる。
  • warn: はみ出たら警告を出す。値は clamp と同じ。