In [13]:
import CoolProp, matplotlib.pyplot as plt, numpy as np

import CoolProp.CoolProp as CP, json

jj = json.loads(CP.get_config_as_json_string())
jj['ALTERNATIVE_REFPROP_PATH'] = '/opt/refprop'
CP.set_config_as_json_string(json.dumps(jj))
    
p = 2.28e5 # 2.28 bar

RP = CoolProp.AbstractState("REFPROP","R438A.MIX")
RP.update(CoolProp.PQ_INPUTS, p, 0)
sL = RP.smolar()
TL = RP.T()
RP.update(CoolProp.PQ_INPUTS, p, 1)
sV = RP.smolar()
TV = RP.T()

BICU = CoolProp.AbstractState("BICUBIC&REFPROP","R438A.MIX")
BICU.update(CoolProp.PQ_INPUTS, p, 0)
for ds in np.linspace(1e-10, 3):
    try:
        BICU.update(CoolProp.PSmolar_INPUTS, p, sL-ds)
    except:
        print 'bad',ds
for ds in np.linspace(1e-10, 3):
    try:
        BICU.update(CoolProp.PSmolar_INPUTS, p, sV+ds)
    except:
        print 'bad',ds


bad 1e-10

In [ ]: