Files
CoolProp/Web/scripts/fluid_properties.Mixtures.py
Matthis Thorade 19a4875879 More autopep8 (#1621)
* autopep8 rule-groups E101,W1,W2,W3

* autopep8 with rule group E3 (blank lines)

autopep8 --in-place --recursive --max-line-length=200 --exclude="externals" --select="E101,E3,W1,W2,W3" .

* tabs and space W191

* autopep8 aggressive
2017-12-13 14:43:41 +01:00

75 lines
2.2 KiB
Python

from __future__ import print_function
from CPWeb.BibtexTools import getCitationOrAlternative, getBibtexParser
import CoolProp
import os.path
web_dir = os.path.abspath(os.path.join(os.path.dirname(__file__),'..'))
csvfile = os.path.join(web_dir,'fluid_properties','Mixtures.csv')
def merge_args(*args):
return " :raw-html:`<br/>` ".join(list(args))
def printCoeff(number):
if number is None or \
len(str(number).strip())<1:
return " "
number = float(number)
short = "{0:.4e}".format(number)
long = "{0:.14e}".format(number)
return u':raw-html:`<span title="{1}">{0}</span>`'.format(short,long)
class Dossier:
def __init__(self):
self.data = {}
def add(self, key, value):
if key not in self.data:
self.data[key] = []
self.data[key].append(value)
d = Dossier()
pairs = CoolProp.get('mixture_binary_pairs_list')
print(len(pairs.split(',')))
for pair in pairs.split(','):
CAS1, CAS2 = pair.split('&')
d.add('CAS1', CAS1)
d.add('CAS2', CAS2)
for key in ['name1','name2','F','function','BibTeX','xi','zeta','betaT','betaV','gammaT','gammaV']:
try:
d.add(key, CoolProp.CoolProp.get_mixture_binary_pair_data(CAS1, CAS2, key))
except BaseException as BE:
d.add(key, '')
import pandas
df = pandas.DataFrame(d.data)
df = df.sort_values(by=['BibTeX','name1'], ascending = [0, 1])
bibtexer = getBibtexParser()#filename = '../../../CoolPropBibTeXLibrary.bib')
with open(csvfile,'w') as fp:
header = 'Ref.,Name1,Name2,function,F,'
header += merge_args("xi","zeta,")
header += merge_args("betaT","betaV,")
header += merge_args("gammaT","gammaV")
header += '\n'
fp.write(header)
for index, row in df.iterrows():
text = ','.join([ \
getCitationOrAlternative(bibtexer,row['BibTeX']),
row['name1'],
row['name2'],
row['function'],
row['F'],
merge_args(printCoeff(row['xi']),printCoeff(row['zeta'])),
merge_args(printCoeff(row['betaT']),printCoeff(row['betaV'])),
merge_args(printCoeff(row['gammaT']),printCoeff(row['gammaV']))
])+'\n'
fp.write(text)