# -*- coding: utf-8 -*- """ Created on Tue Jul 5 09:10:33 2016 @author: m.reuss """ from HSCPathways import classes as HSC import numpy as np import CoolProp.CoolProp as CP import pandas as pd from HSCPathways import aidFunctions as aFun CP.set_config_string(CP.ALTERNATIVE_REFPROP_PATH, 'C:\\Program Files (x86)\\REFPROP\\') np.seterr(divide='ignore', invalid='ignore') #%% Calculation of Modules def calcHSC(demArr, distArr, dfHSC, dfTable, i): a = HSC.Production(demArr, distArr, dfHSC['Production'][i], dfTable, i, dfHSC) # Connector1 Calculation b = HSC.Connector(demArr, distArr, dfTable, a.getTotalCost(), i, dfHSC) # Storage Calculation c = HSC.Storage(demArr, distArr, dfHSC['Storage'][i], dfTable, b.getTotalCost(), i, dfHSC)
TYPE_PATTERN = r"[A-Za-z0-9]+" MIXTURE_PATTERN = r"[A-Z0-9]+\s?\:\s?\d+\.?\d*" del loader, tmp_ABcal_types, tmp_io_flags, tmp_qc_flags, tmp_SIcal_types # 物料字典 loader = './common/fluidlist.json' with open(loader, "r") as loader: SUBS_P = load_json(loader) #SUBS_M_CP = dict() #SUBS_M_REFPROP = dict() # 尝试载入REFPROP PATH_TO_REFPROP = "./refprop/" cp.set_config_string(5, PATH_TO_REFPROP) try: cp.PropsSI('H', 'P', 101325, 'Q', 1, 'REFPROP::Water') REFPROP_READY = True logger.critical("Refprop loaded.") except: REFPROP_READY = False logger.critical("Refprop unable to load.") #def prop(sub:str, # outType:list, # inputType1:str, # inputValue1:float, # inputType2:str, # inputValue2:float, # backend:str="CP")-> dict:
import CoolProp.CoolProp as _CP from ctREFPROP.ctREFPROP import REFPROPFunctionLibrary as _REFPROPFunctionLibrary # use _ to avoid polluting the namespace when importing try: _path = _Path(_os.environ["RPPREFIX"]) except KeyError: if _os.path.exists("C:\\Users\\Public\\REFPROP"): _os.environ["RPprefix"] = "C:\\Users\\Public\\REFPROP" _path = _Path(_os.environ["RPPREFIX"]) else: _path = _Path.cwd() _CP.set_config_string(_CP.ALTERNATIVE_REFPROP_PATH, str(_path)) try: _RP = _REFPROPFunctionLibrary(_path) _RP.SETPATHdll(str(_path)) except TypeError: _RP = _REFPROPFunctionLibrary if _os.name == "posix": _shared_library = "librefprop.so" else: _shared_library = "REFPRP64.DLL" _library_path = _path / _shared_library if not _library_path.is_file(): _warnings.warn(f"{_library_path}.\nREFPROP not configured.")
import glob, os, json import numpy as np import CoolProp.CoolProp as CP CP.set_config_string(CP.ALTERNATIVE_REFPROP_PATH, r'C:\Users\ihb\Code\REFPROP-cmake\bld\Release') import teqp root = teqp.get_datapath() for jname in glob.glob(root+'/dev/fluids/*.json'): name = os.path.split(jname)[1].split('.')[0] try: model = teqp.build_multifluid_model([name], root, root+'/dev/mixtures/mixture_binary_pairs.json',{'estimate':'linear'}) Tc = model.get_Tcvec()[0] rhoc = 1/model.get_vcvec()[0] z = np.array([1.0]) # print(Tc, rhoc) diff = model.get_Ar00(Tc+10, rhoc, z) - CP.PropsSI('alphar', 'T', Tc+10, 'Dmolar', rhoc, name) if abs(diff) > 1e-13: print(name, diff, rhoc, Tc+10, model.get_Ar00(Tc+10, rhoc, z), CP.PropsSI('alphar','T',Tc+10, 'Dmolar',rhoc,name)) def get_REFPROP_name(name): j = json.load(open(root+f'/dev/fluids/{name}.json')) return j['INFO']['REFPROP_NAME'] RPname = get_REFPROP_name(name) TcRP, rhocRP = [CP.PropsSI('REFPROP::'+RPname,k) for k in ['Tcrit','rhomolar_critical']] # If EOS is the same according to the DOI: if abs(TcRP-Tc) > 1e-10: print(name, TcRP, Tc, '!!!!!!!! TC(RP,teqp) !!!!!!') if abs(rhocRP-rhoc) > 1e-10: print(name, rhocRP, rhoc, '!!!!!!!! RHOC(RP,teqp) !!!!!!') continue