現在私はOpenFOAMを用いて研究を行っております。
chtMultiRegionFoamのチュートリアルである「snappyMultiRegionHeater」の境界条件をコード埋め込み型に変更したいと思っています.
具体的にはTopairの入口温度を,Topairの出口温度を参照して動的に変化させたいです.現状,codedFixedValueを使って以下のように関数化する方法を試しているのですが,出口温度を参照する方法がわかりません.
const_cast scalar Tout = patch().Sf[i][ ]
のSfで出口境界面の温度を参照しようとしているのですが,2つ目の[]の中に何を入れればよいのかがわからず,また,minXの境界条件を設定しているところで出口の境界面の値を参照することはできるのかというのがわからないです.
minX
{
type codedFixedValue;
name userdefinedT;
value uniform 300;
code
#{
fvPatchField<scalar> f
(
patch().lookupPatchField<volScalarField,scalar>("T")
);
forAll(f,i){
const_cast scalar Tout = patch().Sf[i][]
f[i] = scalar(Tout - 10);
}
operator == (f);
#};
}
const_cast scalar Tout = patch().Sf[i][]
この問題の原因や解決策をご存じの方がおられましたら、ご教示いただけると幸いです。
なお、OpenFOAMはDEXCS2020 for OpenFOAMを用いて導入し、バージョンはv2006です。
よろしくお願いいたします。