関数IAPWS95_lgsaturation_givenT マニュアル

(The documentation of function IAPWS95_lgsaturation_givenT)

Last Update: 2021/12/3


◆機能・用途(Purpose)

指定された温度における気液平衡状態の圧力および気相と液相の密度を計算する。
Compute the liquid-gas equilibrium pressure and densities of gas and liquid under a given temperature.


◆形式(Format)

#include <IAPWS95/saturation.h>
inline double IAPWS95_lgsaturation_givenT
(const double T,double ∗rhog_sat,double ∗rhol_sat)


◆引数(Arguments)

T 温度(K)。
The temperature (K).
rhog_sat 計算した気相の密度(kg/m\(^3\))の代入先。
A memory where the gas density (kg/m\(^3\)) computed in this function is inserted.
rhol_sat 計算した液相の密度(kg/m\(^3\))の代入先。
A memory where the liquid density (kg/m\(^3\)) computed in this function is inserted.


◆戻り値(Return value)

温度\(T\)において気液平衡になる圧力(Pa)。
超臨界の場合など何らかの理由で計算が失敗した場合は\(-1.0\)を返す。 この場合はrhog_sat,rhol_satには何も代入されない。
The pressure (Pa) at which the liquid and gas become equilibrium under the temperature \(T\).
If the calculation failed for some reason, e.g., for a case of supercritical, \(-1.0\) is returned. In this case, nothing is inserted into rhog_sat and rhol_sat.


◆使用例(Example)

double rhog_sat,rhol_sat,P;
const double T=537.09;
P=IAPWS95_lgsaturation_givenT(T,&rhog_sat,&rhol_sat);


◆アルゴリズムの概略 (Overview of the algorithm)

一定温度下における圧力を密度の関数として表すと下図のようになる。 領域1が気相、領域5が液相である。 2つの相が平衡になるのは圧力とギブスの自由エネルギーがともに等しい場合である。 この状態を以下の手順で求める。
The figure below indicates the density-pressure relation of water under a constant temperature. Regions 1 and 5 corresponds to gas and liquid regions, respectively. The phase equilibrium is achieved when both the pressure and the Gibbs free energy of the two phases are equal. This state can be solved for in the following way.

まず、気相の密度\(\rho_g\)を十分に小さな値から始めて 領域1の範囲で徐々に増やしていく。 各\(\rho_g\)に対してWagner and Pruss (2002)の状態方程式を用いて 気相の圧力\(P\)を計算し、 液相の圧力がちょうど同じ\(P\)になる密度\(\rho_l\) (図の赤線と黒線の交点のうち、領域5にあるもの)を探索する。 このようにして\((\rho_g, \rho_l, P)\)の組が1つ得られる。 これは\(\rho_g\)を仮定して得られた値であるので 気液平衡時の値とは一般には一致しない。 また、仮定する\(\rho_g\)の値が大きいほど \(\rho_l\), \(P\)も大きくなることが図から分かる。 したがって、気液平衡時の\(\rho_g\), \(\rho_l\), \(P\)をそれぞれ \(\rho_g^{sat}\), \(\rho_l^{sat}\), \(P^{sat}\)と書くことにすると 以下の性質が成り立つ。
そこで、仮定した\(\rho_g\)および得られた\(\rho_l\)を用いて ギブスのエネルギー\(g_g\), \(g_l\)を計算する。 もし\(g_g < g_l\)であれば\(\rho_g < \rho_g^{sat}\)、 \(g_g > g_l\)であれば\(\rho_g > \rho_g^{sat}\)であると判断できる。 この性質を利用して\(\rho_g\)を平衡点に近づける方向に修正し、 再度計算をやり直す。 この処理を\(g_g\)と\(g_l\)が十分に近い値になるまで繰り返せば 気液平衡点での\(\rho_g\), \(\rho_l\), \(P\)を求めることができる。
The computation begins with a small gas density \(\rho_g\), which is then gradually increased. For each \(\rho_g\), the pressure \(P\) of gas is computed using the equation of state of Wagner and Pruss (2002), then the liquid density \(\rho_l\) which gives this pressure is searched; this density can be searched as the intersection between the black and red lines that is located in region 5 in the figure. In this way, a combination of \((\rho_g, \rho_l, P)\) is obtained. Because these values were obtained for an assumed \(\rho_g\) value, they are in general not equal to the values under the saturation state. Also, the figure tells that \(\rho_l\) and \(P\) are larger for larger \(\rho_g\) value. Thus the following statements hold, where \(\rho_g^{sat}\), \(\rho_l^{sat}\), and \(P^{sat}\) are the gas density, the liquid density, and the pressure, respectively:
To use these relations, the program computes the Gibbs free energies \(g_g\) and \(g_l\) for the assumed \(\rho_g\) and the computed \(\rho_l\). If \(g_g < g_l\), the above statements tells that \(\rho_g < \rho_g^{sat}\). Inversely, \(g_g > g_l\) means \(\rho_g > \rho_g^{sat}\). Using these relations, the program modifies \(\rho_g\) to a value nearer to the saturation point, then repeat the calculations. These procedures are repeated until \(g_g\) and \(g_l\) becomes sufficiently close values. In this way, \(\rho_g\), \(\rho_l\), and \(P\) at the saturation point are obtained.