示例#1
0
# -*- 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)
示例#2
0
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:
示例#3
0
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.")
示例#4
0
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