def build_parameters(rblock, config): parent = rblock.parent_block() units = parent.get_metadata().derived_units rbasis = parent.config.reaction_basis if rbasis == MaterialFlowBasis.molar: r_base = units["amount"] elif rbasis == MaterialFlowBasis.mass: r_base = units["mass"] else: raise BurntToast( "{} for unexpected reaction basis {}. This should not happen " "so please contact the IDAES developers with this bug.".format( rblock.name, rbasis)) c_form = config.concentration_form if c_form is None: raise ConfigurationError( "{} concentration_form configuration argument was not set. " "Please ensure that this argument is included in your " "configuration dict.".format(rblock.name)) elif (c_form == ConcentrationForm.moleFraction or c_form == ConcentrationForm.massFraction): r_units = r_base * units["volume"]**-1 * units["time"]**-1 else: order = 0 for p, j in parent.config.property_package._phase_component_set: order += -rblock.reaction_order[p, j].value if (c_form == ConcentrationForm.molarity or c_form == ConcentrationForm.activity): c_units = units["density_mole"] elif c_form == ConcentrationForm.molality: c_units = units["amount"] * units["mass"]**-1 elif c_form == ConcentrationForm.partialPressure: c_units = units["pressure"] else: raise BurntToast( "{} get_concentration_term received unrecognised " "ConcentrationForm ({}). This should not happen - please " "contact the IDAES developers with this bug.".format( rblock.name, c_form)) r_units = (r_base * units["length"]**-3 * units["time"]**-1 * c_units**order) rblock.arrhenius_const = Var( doc="Arrhenius constant (pre-exponential factor)", units=r_units) set_param_value(rblock, param="arrhenius_const", units=r_units, config=config) rblock.energy_activation = Var(doc="Activation energy", units=units["energy_mole"]) set_param_value(rblock, param="energy_activation", units=units["energy_mole"], config=config)
def build_parameters(cobj): if not hasattr(cobj, "cp_mol_ig_comp_coeff_A"): cp_mol_ig_comp.build_parameters(cobj) units = cobj.parent_block().get_metadata().derived_units cobj.entr_mol_form_vap_comp_ref = Var( doc="Vapor phase molar entropy of formation @ Tref", units=units["entropy_mole"]) set_param_value(cobj, param="entr_mol_form_vap_comp_ref", units=units["entropy_mole"])
def build_parameters(cobj): if not hasattr(cobj, "cp_mol_liq_comp_coeff_1"): cp_mol_liq_comp.build_parameters(cobj) units = cobj.parent_block().get_metadata().derived_units cobj.enth_mol_form_liq_comp_ref = Var( doc="Liquid phase molar heat of formation @ Tref", units=units["energy_mole"]) set_param_value(cobj, param="enth_mol_form_liq_comp_ref", units=units["energy_mole"])
def build_parameters(cobj): if not hasattr(cobj, "cp_mol_ig_comp_coeff_A"): cp_mol_ig_comp.build_parameters(cobj) base_units = cobj.parent_block().get_metadata().default_units h_units = (base_units["mass"] * base_units["length"]**2 * base_units["time"]**-2 * base_units["amount"]**-1) cobj.enth_mol_form_vap_comp_ref = Var( doc="Vapor phase molar heat of formation @ Tref", units=pyunits.cal / pyunits.mol) set_param_value(cobj, param="enth_mol_form_vap_comp_ref", units=pyunits.cal / pyunits.mol)
def build_parameters(cobj): cobj.cp_mol_ig_comp_coeff_A = Var( doc="Parameter A for ideal gas molar heat capacity", units=pyunits.cal / pyunits.mol / pyunits.K) set_param_value(cobj, param="cp_mol_ig_comp_coeff", units=pyunits.cal / pyunits.mol / pyunits.K, index="A") cobj.cp_mol_ig_comp_coeff_B = Var( doc="Parameter B for ideal gas molar heat capacity", units=pyunits.cal / pyunits.mol / pyunits.K**2) set_param_value(cobj, param="cp_mol_ig_comp_coeff", units=pyunits.cal / pyunits.mol / pyunits.K**2, index="B") cobj.cp_mol_ig_comp_coeff_C = Var( doc="Parameter C for ideal gas molar heat capacity", units=pyunits.cal / pyunits.mol / pyunits.K**3) set_param_value(cobj, param="cp_mol_ig_comp_coeff", units=pyunits.cal / pyunits.mol / pyunits.K**3, index="C") cobj.cp_mol_ig_comp_coeff_D = Var( doc="Parameter D for ideal gas molar heat capacity", units=pyunits.cal / pyunits.mol / pyunits.K**4) set_param_value(cobj, param="cp_mol_ig_comp_coeff", units=pyunits.cal / pyunits.mol / pyunits.K**4, index="D")
def build_parameters(cobj): cobj.dens_mol_liq_comp_coeff_1 = Var( doc="Parameter 1 for liquid phase molar density", units=pyunits.kmol * pyunits.m**-3) set_param_value(cobj, param="dens_mol_liq_comp_coeff", units=pyunits.kmol * pyunits.m**-3, index="1") cobj.dens_mol_liq_comp_coeff_2 = Var( doc="Parameter 2 for liquid phase molar density", units=None) set_param_value(cobj, param="dens_mol_liq_comp_coeff", units=None, index="2") cobj.dens_mol_liq_comp_coeff_3 = Var( doc="Parameter 3 for liquid phase molar density", units=pyunits.K) set_param_value(cobj, param="dens_mol_liq_comp_coeff", units=pyunits.K, index="3") cobj.dens_mol_liq_comp_coeff_4 = Var( doc="Parameter 4 for liquid phase molar density", units=None) set_param_value(cobj, param="dens_mol_liq_comp_coeff", units=None, index="4")
def build_parameters(cobj): cobj.pressure_sat_comp_coeff_A = Var( doc="Coefficient A for calculating Psat", units=None) set_param_value(cobj, param="pressure_sat_comp_coeff", units=None, index="A") cobj.pressure_sat_comp_coeff_B = Var( doc="Coefficient B for calculating Psat", units=None) set_param_value(cobj, param="pressure_sat_comp_coeff", units=None, index="B") cobj.pressure_sat_comp_coeff_C = Var( doc="Coefficient C for calculating Psat", units=None) set_param_value(cobj, param="pressure_sat_comp_coeff", units=None, index="C") cobj.pressure_sat_comp_coeff_D = Var( doc="Coefficient D for calculating Psat", units=None) set_param_value(cobj, param="pressure_sat_comp_coeff", units=None, index="D")
def build_parameters(rblock, config): units = rblock.parent_block().get_metadata().derived_units rbasis = rblock.parent_block().config.reaction_basis if rbasis == MaterialFlowBasis.molar: basis = "mole" elif rbasis == MaterialFlowBasis.mass: basis = "mass" rblock.dh_rxn_ref = Var( doc="Specific heat of reaction at reference state", units=units["energy_" + basis]) set_param_value(rblock, param="dh_rxn_ref", units=units["energy_" + basis], config=config)
def build(self): super(ComponentData, self).build() # If the component_list does not exist, add reference to new Component # The IF is mostly for backwards compatability, to allow for old-style # property packages where the component_list already exists but we # need to add new Component objects if not self.config._component_list_exists: if not self.config._electrolyte: self.__add_to_component_list() else: self._add_to_electrolyte_component_list() base_units = self.parent_block().get_metadata().default_units if isinstance(base_units["mass"], _PyomoUnit): # Backwards compatability check p_units = (base_units["mass"] / base_units["length"] / base_units["time"]**2) else: # Backwards compatability check p_units = None # Create Param for molecular weight if provided if "mw" in self.config.parameter_data: if isinstance(self.config.parameter_data["mw"], tuple): mw_init = pyunits.convert_value( self.config.parameter_data["mw"][0], from_units=self.config.parameter_data["mw"][1], to_units=base_units["mass"] / base_units["amount"]) else: _log.debug("{} no units provided for parameter mw - assuming " "default units".format(self.name)) mw_init = self.config.parameter_data["mw"] self.mw = Param(initialize=mw_init, units=base_units["mass"] / base_units["amount"]) # Create Vars for common parameters param_dict = { "pressure_crit": p_units, "temperature_crit": base_units["temperature"], "omega": None } for p, u in param_dict.items(): if p in self.config.parameter_data: self.add_component(p, Var(units=u)) set_param_value(self, p, u)
def build_parameters(rblock, config): parent = rblock.parent_block() units = parent.get_metadata().derived_units c_form = config.concentration_form if c_form is None: raise ConfigurationError( "{} concentration_form configuration argument was not set. " "Please ensure that this argument is included in your " "configuration dict.".format(rblock.name)) elif (c_form == ConcentrationForm.moleFraction or c_form == ConcentrationForm.massFraction): e_units = None else: order = 0 for p, j in parent.config.property_package._phase_component_set: order += rblock.reaction_order[p, j].value if (c_form == ConcentrationForm.molarity or c_form == ConcentrationForm.activity): c_units = units["density_mole"] elif c_form == ConcentrationForm.molality: c_units = units["amount"] * units["mass"]**-1 elif c_form == ConcentrationForm.partialPressure: c_units = units["pressure"] else: raise BurntToast( "{} get_concentration_term received unrecognised " "ConcentrationForm ({}). This should not happen - please " "contact the IDAES developers with this bug.".format( rblock.name, c_form)) e_units = c_units**order rblock.k_eq_ref = Var(doc="Equilibrium constant at reference state", units=e_units) set_param_value(rblock, param="k_eq_ref", units=e_units, config=config) rblock.T_eq_ref = Var( doc="Reference temperature for equilibrium constant", units=units["temperature"]) set_param_value(rblock, param="T_eq_ref", units=units["temperature"], config=config)
def build_parameters(cobj): cobj.cp_mol_liq_comp_coeff_1 = Var( doc="Parameter 1 for liquid phase molar heat capacity", units=pyunits.J * pyunits.kmol**-1 * pyunits.K**-1) set_param_value(cobj, param="cp_mol_liq_comp_coeff", units=pyunits.J * pyunits.kmol**-1 * pyunits.K**-1, index="1") cobj.cp_mol_liq_comp_coeff_2 = Var( doc="Parameter 2 for liquid phase molar heat capacity", units=pyunits.J * pyunits.kmol**-1 * pyunits.K**-2) set_param_value(cobj, param="cp_mol_liq_comp_coeff", units=pyunits.J * pyunits.kmol**-1 * pyunits.K**-2, index="2") cobj.cp_mol_liq_comp_coeff_3 = Var( doc="Parameter 3 for liquid phase molar heat capacity", units=pyunits.J * pyunits.kmol**-1 * pyunits.K**-3) set_param_value(cobj, param="cp_mol_liq_comp_coeff", units=pyunits.J * pyunits.kmol**-1 * pyunits.K**-3, index="3") cobj.cp_mol_liq_comp_coeff_4 = Var( doc="Parameter 4 for liquid phase molar heat capacity", units=pyunits.J * pyunits.kmol**-1 * pyunits.K**-4) set_param_value(cobj, param="cp_mol_liq_comp_coeff", units=pyunits.J * pyunits.kmol**-1 * pyunits.K**-4, index="4") cobj.cp_mol_liq_comp_coeff_5 = Var( doc="Parameter 5 for liquid phase molar heat capacity", units=pyunits.J * pyunits.kmol**-1 * pyunits.K**-5) set_param_value(cobj, param="cp_mol_liq_comp_coeff", units=pyunits.J * pyunits.kmol**-1 * pyunits.K**-5, index="5")
def build_parameters(cobj): cobj.pressure_sat_comp_coeff_A = Var( doc="Antoine A coefficient for calculating Psat", units=None) set_param_value(cobj, param="pressure_sat_comp_coeff", units=None, index="A") cobj.pressure_sat_comp_coeff_B = Var( doc="Antoine B coefficient for calculating Psat", units=pyunits.K) set_param_value(cobj, param="pressure_sat_comp_coeff", units=pyunits.K, index="B") cobj.pressure_sat_comp_coeff_C = Var( doc="Antoine C coefficient for calculating Psat", units=pyunits.K) set_param_value(cobj, param="pressure_sat_comp_coeff", units=pyunits.K, index="C")
def build_parameters(cobj): cobj.cp_mol_ig_comp_coeff_A = Var( doc="Shomate A parameter for ideal gas molar heat capacity", units=pyunits.J * pyunits.mol**-1 * pyunits.K**-1) set_param_value(cobj, param="cp_mol_ig_comp_coeff", units=pyunits.J * pyunits.mol**-1 * pyunits.K**-1, index="A") cobj.cp_mol_ig_comp_coeff_B = Var( doc="Shomate B parameter for ideal gas molar heat capacity", units=pyunits.J * pyunits.mol**-1 * pyunits.K**-1 * pyunits.kiloK**-1) set_param_value(cobj, param="cp_mol_ig_comp_coeff", units=pyunits.J * pyunits.mol**-1 * pyunits.K**-1 * pyunits.kiloK**-1, index="B") cobj.cp_mol_ig_comp_coeff_C = Var( doc="Shomate C parameter for ideal gas molar heat capacity", units=pyunits.J * pyunits.mol**-1 * pyunits.K**-1 * pyunits.kiloK**-2) set_param_value(cobj, param="cp_mol_ig_comp_coeff", units=pyunits.J * pyunits.mol**-1 * pyunits.K**-1 * pyunits.kiloK**-2, index="C") cobj.cp_mol_ig_comp_coeff_D = Var( doc="Shomate D parameter for ideal gas molar heat capacity", units=pyunits.J * pyunits.mol**-1 * pyunits.K**-1 * pyunits.kiloK**-3) set_param_value(cobj, param="cp_mol_ig_comp_coeff", units=pyunits.J * pyunits.mol**-1 * pyunits.K**-1 * pyunits.kiloK**-3, index="D") cobj.cp_mol_ig_comp_coeff_E = Var( doc="Shomate E parameter for ideal gas molar heat capacity", units=pyunits.J * pyunits.mol**-1 * pyunits.K**-1 * pyunits.kiloK**2) set_param_value(cobj, param="cp_mol_ig_comp_coeff", units=pyunits.J * pyunits.mol**-1 * pyunits.K**-1 * pyunits.kiloK**2, index="E") cobj.cp_mol_ig_comp_coeff_F = Var( doc="Shomate F parameter for ideal gas molar heat capacity", units=pyunits.kJ * pyunits.mol**-1) set_param_value(cobj, param="cp_mol_ig_comp_coeff", units=pyunits.kJ * pyunits.mol**-1, index="F") cobj.cp_mol_ig_comp_coeff_G = Var( doc="Shomate G parameter for ideal gas molar heat capacity", units=pyunits.J * pyunits.mol**-1 * pyunits.K**-1) set_param_value(cobj, param="cp_mol_ig_comp_coeff", units=pyunits.J * pyunits.mol**-1 * pyunits.K**-1, index="G") cobj.cp_mol_ig_comp_coeff_H = Var( doc="Shomate H parameter for ideal gas molar heat capacity", units=pyunits.kJ * pyunits.mol**-1) set_param_value(cobj, param="cp_mol_ig_comp_coeff", units=pyunits.kJ * pyunits.mol**-1, index="H")