OpenFOAM【水の蒸発潜熱を考慮する簡単なしかけ】

laplacianFoamの中で、水の蒸発潜熱を取り込む簡単なしかけです。温度場を解いて、次のステップに進む前あたりに突っ込みます。

        //
        // 水の蒸発潜熱のようなもの
        forAll(T,i){
            if( T[i] > T0 ) {
                if( X[i] < 1. ) {
                    X[i] += (T[i]-T0)/h0;
                    T[i] = T0;
                }
            }
            else{
            }
        }

T0が蒸発温度、h0は蒸発潜熱に相当する温度。T[i]設定温度(T0)を超えた場合に無理やりT0に修正。変数0-1をとる変数X(初期値0)を定義して、超えた温度の積算値を計算。温度は適当な設定値h0で規格化。Xが1を超えた場合に再び温度が上昇し始めます。

なんともざっくりですが、とりあえず蒸発潜熱のようなものを表現できます。