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

79 lines
2.2 KiB
Python

from CoolProp.CoolProp import get_fluid_param_string
# Map from chemical formula to name
name_map = {'CH4': 'Methane',
'N2': 'Nitrogen',
'O2': 'Oxygen',
'CO2': 'CarbonDioxide',
'CO': 'CarbonMonoxide',
'H2S': 'HydrogenSulfide',
'H2': 'Hydrogen',
'H2O': 'Water',
'He': 'Helium',
'Ar': 'Argon',
'C2H6': 'Ethane',
'C3H8': 'Propane',
'nC4H10': 'n-Butane',
'iC4H10': 'IsoButane',
'nC5H12': 'n-Pentane',
'iC5H12': 'Isopentane',
'nC6H14': 'n-Hexane',
'nC7H16': 'n-Heptane',
'nC8H18': 'n-Octane',
'nC9H20': 'n-Nonane',
'nC10H22': 'n-Decane',
}
F_factors = {}
lines = open('KunzWagner2012_TableA6.txt', 'r').readlines()
for line in lines:
names, F = line.strip().split(' ')
name1, name2 = names.split('/')
CAS1 = get_fluid_param_string(name1, 'CAS')
CAS2 = get_fluid_param_string(name2, 'CAS')
F_factors[(CAS1, CAS2)] = F
F_factors[(CAS2, CAS1)] = F
lines = open('KunzWagner2012_TableA8.txt', 'r').readlines()
template = """{{"Name1" : "{Name1:s}",
"Name2" : "{Name2:s}",
"CAS1" : "{CAS1:s}",
"CAS2" : "{CAS2:s}",
"betaV" : {betaV:s},
"gammaV" : {gammaV:s},
"betaT" : {betaT:s},
"gammaT" : {gammaT:s},
"F" : {F:s}
}},"""
for line in lines:
vals = line.strip().split(' ')
if len(vals) == 6:
names, a, betav, gammav, betaT, gammaT = vals
else:
names, betav, gammav, betaT, gammaT = vals
name1, name2 = names.split('-')
name1 = name_map[name1]
name2 = name_map[name2]
CAS1 = get_fluid_param_string(name1, 'CAS')
CAS2 = get_fluid_param_string(name2, 'CAS')
if (CAS1, CAS2) in F_factors:
F = F_factors[(CAS1, CAS2)]
else:
F = '0.0'
print(template.format(Name1=name1,
Name2=name2,
CAS1=CAS1,
CAS2=CAS2,
betaV=betav,
gammaV=gammav,
betaT=betaT,
gammaT=gammaT,
F=F))