Files
CoolProp/wrappers/Python/CoolProp5/tests/test_Units_CPState.py

103 lines
3.2 KiB
Python

from __future__ import division, print_function
import CoolProp.CoolProp as CP
import CoolProp.unit_systems_constants
from CoolProp import param_constants
from CoolProp.State import State
S = State('R134a',dict(T=300,D=1))
# factor is SI / kSI value
State_listing = [('T',1),
('get_speed_sound',1),
('rho',1),
('p',1000),
('h',1000),
('s',1000),
('cv',1000),
('cp',1000),
('visc',1),
('k',1000),
]
def test_State():
for parameter,SI_over_kSI in State_listing:
CP.set_standard_unit_system(CoolProp.unit_systems_constants.UNIT_SYSTEM_SI)
val_SI = getattr(S, parameter)
CP.set_standard_unit_system(CoolProp.unit_systems_constants.UNIT_SYSTEM_KSI)
val_kSI = getattr(S, parameter)
yield check, val_SI, val_kSI, SI_over_kSI
Props_listing = [('T',1),
('A',1),
('D',1),
('P',1000),
('H',1000),
('S',1000),
('C',1000),
('C0',1000),
('O',1000),
('V',1),
('L',1000),
]
def test_PROPS():
for parameter, SI_over_kSI in Props_listing:
yield check_Props, parameter, SI_over_kSI
def check_Props(parameter, SI_over_kSI):
CP.set_standard_unit_system(CoolProp.unit_systems_constants.UNIT_SYSTEM_SI)
val_SI = CP.Props(parameter,'T',300.0,'D',1.0,'R134a')
CP.set_standard_unit_system(CoolProp.unit_systems_constants.UNIT_SYSTEM_KSI)
val_kSI = CP.Props(parameter,'T',300.0,'D',1.0,'R134a')
try:
val_SI = val_SI()
val_kSI = val_kSI()
except:
pass
print(val_SI,val_kSI, val_SI/val_kSI - SI_over_kSI)
if abs(val_SI/val_kSI - SI_over_kSI) > 1e-12:
raise ValueError(val_SI/val_kSI-SI_over_kSI)
State_Props_listing = [(param_constants.iT,1),
(param_constants.iA,1),
(param_constants.iD,1),
(param_constants.iP,1000),
(param_constants.iH,1000),
(param_constants.iS,1000),
(param_constants.iC,1000),
(param_constants.iC0,1000),
(param_constants.iO,1000),
(param_constants.iV,1),
(param_constants.iL,1000),
]
def test_State_PROPS():
for parameter, SI_over_kSI in State_Props_listing:
CP.set_standard_unit_system(CoolProp.unit_systems_constants.UNIT_SYSTEM_SI)
val_SI = S.Props(parameter)
CP.set_standard_unit_system(CoolProp.unit_systems_constants.UNIT_SYSTEM_KSI)
val_kSI = S.Props(parameter)
yield check, val_SI, val_kSI, SI_over_kSI
def check(val_SI, val_kSI, SI_over_kSI):
try:
val_SI = val_SI()
val_kSI = val_kSI()
except:
pass
if abs(val_SI/val_kSI - SI_over_kSI) > 1e-12:
raise ValueError(val_SI/val_kSI-SI_over_kSI)
if __name__=='__main__':
import nose
nose.runmodule()