DDT(psi,U)=∂ψ/∂t+∂Uψ/∂x=0、実質微分ですね。psiは解くべきスカラー変数で、Uは速度です。
コード内では面積フラックスphiをフェース面積ベクトルmagSfで割って速度ベクトルUを求めています。
Foam::advectiveFvPatchField<Type>::advectionSpeed()
計算は陰的に行うので、マトリクスの係数行列を修正することで境界条件が課されます。
void Foam::advectiveFvPatchField<Type>::updateCoeffs()
で係数を修正しています。これはすべての境界条件にあてはまります。
この様に定常解析では、境界条件のUが更新されないのでadvectiveが機能しません。
尚、fvSchemesでddtSchemeをsteadyStateにするとadvectionが指定しない様にWarningが表示されます。
以上、ご参考まで。
2013年8月23日金曜日 12時45分01秒 UTC+9 Katsunori Ikuma: