Files
CoolProp/dev/Tickets/1758.py
2019-01-12 20:48:56 -07:00

53 lines
1.5 KiB
Python

import numpy as np
import random
import CoolProp.CoolProp as CP
import time
random.seed("coolprop_test")
p = 101325 # 1 atmosphere
T = np.random.uniform(120, 400, 10000) + 273.15 # Random points from 120 to 400 deg C, gas phase only
# Make sure the objects exist and create tables if needed
normal_state = CP.AbstractState("HEOS", "H2O")
tabular_state = CP.AbstractState("BICUBIC&HEOS", "H2O")
# Measure execution speed
results = {}
tmp = time.time()
for Ti in T:
rho = CP.PropsSI("Dmass", "P", p, "T", Ti, "H2O")
results["1. PropsSI"] = time.time() - tmp
tmp = time.time()
for Ti in T:
normal_state.update(CP.PT_INPUTS, p, Ti)
rho = normal_state.keyed_output(CP.iDmass)
results["2. HEOS"] = time.time() - tmp
tmp = time.time()
for Ti in T:
tabular_state.update(CP.PT_INPUTS, p, Ti)
rho = tabular_state.keyed_output(CP.iDmass)
results["3. Tables"] = time.time() - tmp
# for k in sorted(results):
# print("{0} : {1} ms".format(k, results[k]*1e3))
#print("\nDo NOT do this!")
tmp = time.time()
for Ti in T:
normal_state = CP.AbstractState("HEOS", "H2O")
normal_state.update(CP.PT_INPUTS, p, Ti)
rho = normal_state.keyed_output(CP.iDmass)
results["4. HEOS (create state)"] = time.time() - tmp
tmp = time.time()
for Ti in T:
tabular_state = CP.AbstractState("BICUBIC&HEOS", "H2O")
tabular_state.update(CP.PT_INPUTS, p, Ti)
rho = tabular_state.keyed_output(CP.iDmass)
results["5. Tables (create state)"] = time.time() - tmp
for k in sorted(results):
print("{0} : {1} ms".format(k, results[k] * 1e3))