OpenFOAM【スカラーフィールドの設定】
laplacianFoamにスカラーフィールドを追加しました。ちょっとひねって、温度に依存して指数関数的に減衰していきます(反応率のイメージ)
createField.Hに追加
volScalarField X
(
IOobject
(
"X",
runTime.timeName(),
mesh,
IOobject::MUST_READ,
IOobject::AUTO_WRITE
),
mesh
);
反応率Xを定義しています。温度と同様に初期条件を(一応)突っ込むので、MUST_READ、結果を出したいのでAUTO_WRITE
laplacianFoam.Cに追加
forAll(X, i){
X[i] = Foam::exp(-0.001*T[i]);
};
温度場を解いて、結果を出力する前あたりに挟み込みます。expを使うには、Foam::が必要。
/0にXを作成
FoamFile { version 2.0; format ascii; class volScalarField; object X; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 0 0 0 0 0 0]; internalField uniform 1; boundaryField { Walls { type zeroGradient; } HotWall { type zeroGradient; } ColdWall { type zeroGradient; } }
Tの初期条件を参考に作成します。
コンパイル・実行
wmakeコマンドでコンパイルし、実行すると結果が出力されます。
可視化
paraFoamで可視化します。applyする前に出力するデータとして"X"をチェックすること。