Extended Corresponding StatesΒΆ

This implements the method of Huber and Ely: https://doi.org/10.1016/0140-7007(94)90083-3

It does not include the undocumented temperature and density terms that are included in REFPROP

[1]:
import teqp
teqp.__version__
[1]:
'0.22.0'
[2]:
import numpy as np
import CoolProp.CoolProp as CP
[3]:
# These parameters are from Huber & Ely
j = {
    "kind": "multifluid-ECS-HuberEly1994",
    "model": {
      "reference_fluid": {
            "name": teqp.get_datapath() + "/dev/fluids/R134a.json",
            "acentric": 0.326680,
            "Z_crit": 4.056e6/(5030.8*8.314471*374.179),
            "T_crit / K": 374.179,
            "rhomolar_crit / mol/m^3": 5030.8
      },
      "fluid": {
            "name": "R143a",
            "f_T_coeffs": [ -0.22807e-1, -0.64746],
            "h_T_coeffs": [ 0.36563, -0.26004e-1],
            "acentric": 0.25540,
            "T_crit / K": 346.3,
            "rhomolar_crit / mol/m^3": (1/0.194*1000),
            "Z_crit": 3.76e6/(346.3*8.314471*(1/0.194*1000))
      }
    }
}

model = teqp.make_model(j)
z = np.array([1.0])
R = model.get_R(z)
T, rho = 400, 2600
p = rho*R*T*(1+model.get_Ar01(T, rho, z))
display('pressure from ECS:', p)

display('pressure from EOS:', CP.PropsSI('P','T',T,'Dmolar',rho,'R143a'))
'pressure from ECS:'
5556329.442047298
'pressure from EOS:'
5478978.746656995