(The documentation of function
IAPWS95_calculate_density_givenTP_supercritical)
Last Update: 2023/9/19
◆機能・用途(Purpose)
Wagner and Pruss (2002)の状態方程式を用いて
指定された温度・圧力を与える密度(超臨界流体)を計算する。
Compute the density of the supercritical fluid
for given temperature and pressure
using the equation of state of Wagner and Pruss (2002).
臨界温度よりも高温の場合、
密度\(\rho\)と圧力\(P\)の関係は単調増加
(全ての密度で\(\PartialDiff{P}{\rho}>0\))となる。
この場合、指定された圧力を与える密度は1つだけであり、
2分法を用いて容易に解を求められる。
The relation between the density \(\rho\) and pressure \(P\)
is monotonic (\(\PartialDiff{P}{\rho}>0\) for all density)
for a temperature \(T\) that is higher than that of the critical point.
In this case, there is only one density that satisfies
the specified pressure;
it can easily be solved by the bisection method.
まずは解の探索範囲(図1における領域1の密度範囲)を決定する。
探索範囲の下限は\(\rho_{min}=0\) [kg m\(^{-3}\)]、
上限は\(\rho_{max}=1500\) [kg m\(^{-3}\)]を使用する。
The search range for the solution is determined first.
Densities of \(\rho_{min}=0\) and \(\rho_{max}=1500\) [kg m\(^{-3}\)]
are used for the lower and upper limits of the search range, respectively.
次に、\(\PartialDiff{P}{\rho}\geq 0\)であることを利用して
2分法により解を探索する。
まず、密度\(\rho=(\rho_{min}+\rho_{max})/2\)として圧力を計算する。
その値が引数で指定した圧力\(P\)よりも大きければ
仮定した密度が正解よりも大きいということであるので、
このときの\(\rho\)を探索範囲の新たな上限\(\rho_{max}\)にする。
一方、計算した圧力が\(P\)よりも小さければ
仮定した密度が正解よりも小さいということであるので、
このときの\(\rho\)を探索範囲の新たな下限\(\rho_{min}\)にする。
関数doublecmp
の要求精度内で
計算した圧力が\(P\)と一致、
あるいは\(\rho_{min}\)と\(\rho_{max}\)が一致するまで
この処理を繰り返すことで密度を求める。
Next, the solution is searched with the bisection method
using the nature of \(\PartialDiff{P}{\rho}\geq 0\).
First, the pressure is computed for a density
\(\rho=(\rho_{min}+\rho_{max})/2\).
If this pressure is greater than the given \(P\),
the assumed density is greater than the correct density
so that this \(\rho\) is adopted as
the new upper limit \(\rho_{max}\) of the search range.
If the computed pressure is less than the given \(P\),
the assumed density is less than the correct density
so that this \(\rho\) is adopted as
the new lower limit \(\rho_{min}\) of the search range.
This procedure is repeated until
the computed pressure is equal to \(P\)
or \(\rho_{min}\) is equal to \(\rho_{max}\)
within the accuracy required by
function doublecmp.