idaes.unit_models package¶
Subpackages¶
- idaes.unit_models.convergence package
- idaes.unit_models.icons package
- idaes.unit_models.power_generation package
- Submodules
- idaes.unit_models.power_generation.feedwater_heater_0D module
- idaes.unit_models.power_generation.turbine_inlet module
- idaes.unit_models.power_generation.turbine_multistage module
- idaes.unit_models.power_generation.turbine_outlet module
- idaes.unit_models.power_generation.turbine_stage module
- idaes.unit_models.power_generation.valve_steam module
- idaes.unit_models.power_generation.valve_steam_config module
Submodules¶
idaes.unit_models.cstr module¶
Standard IDAES CSTR model.
-
class
idaes.unit_models.cstr.
CSTR
(*args, **kwargs) Parameters: - rule (function) – A rule function or None. Default rule calls build().
- concrete (bool) – If True, make this a toplevel model. Default - False.
- ctype (str) – Pyomo ctype of the block. Default - “Block”
- default (dict) –
Default ProcessBlockData config
- Keys
- dynamic
- Indicates whether this model will be dynamic or not, default = useDefault. Valid values: { useDefault - get flag from parent (default = False), True - set as a dynamic model, False - set as a steady-state model.}
- has_holdup
- Indicates whether holdup terms should be constructed or not. Must be True if dynamic = True, default - False. Valid values: { True - construct holdup terms, False - do not construct holdup terms}
- material_balance_type
- Indicates what type of material balance should be constructed, default - MaterialBalanceType.componentPhase. Valid values: { MaterialBalanceType.none - exclude material balances, MaterialBalanceType.componentPhase - use phase component balances, MaterialBalanceType.componentTotal - use total component balances, MaterialBalanceType.elementTotal - use total element balances, MaterialBalanceType.total - use total material balance.}
- energy_balance_type
- Indicates what type of energy balance should be constructed, default - EnergyBalanceType.enthalpyTotal. Valid values: { EnergyBalanceType.none - exclude energy balances, EnergyBalanceType.enthalpyTotal - single enthalpy balance for material, EnergyBalanceType.enthalpyPhase - enthalpy balances for each phase, EnergyBalanceType.energyTotal - single energy balance for material, EnergyBalanceType.energyPhase - energy balances for each phase.}
- momentum_balance_type
- Indicates what type of momentum balance should be constructed, default - MomentumBalanceType.pressureTotal. Valid values: { MomentumBalanceType.none - exclude momentum balances, MomentumBalanceType.pressureTotal - single pressure balance for material, MomentumBalanceType.pressurePhase - pressure balances for each phase, MomentumBalanceType.momentumTotal - single momentum balance for material, MomentumBalanceType.momentumPhase - momentum balances for each phase.}
- has_heat_transfer
- Indicates whether terms for heat transfer should be constructed, default - False. Valid values: { True - include heat transfer terms, False - exclude heat transfer terms.}
- has_pressure_change
- Indicates whether terms for pressure change should be constructed, default - False. Valid values: { True - include pressure change terms, False - exclude pressure change terms.}
- has_equilibrium_reactions
- Indicates whether terms for equilibrium controlled reactions should be constructed, default - True. Valid values: { True - include equilibrium reaction terms, False - exclude equilibrium reaction terms.}
- has_phase_equilibrium
- Indicates whether terms for phase equilibrium should be constructed, default = False. Valid values: { True - include phase equilibrium terms False - exclude phase equilibrium terms.}
- has_heat_of_reaction
- Indicates whether terms for heat of reaction terms should be constructed, default - False. Valid values: { True - include heat of reaction terms, False - exclude heat of reaction terms.}
- property_package
- Property parameter object used to define property calculations, default - useDefault. Valid values: { useDefault - use default package from parent model or flowsheet, PhysicalParameterObject - a PhysicalParameterBlock object.}
- property_package_args
- A ConfigBlock with arguments to be passed to a property block(s) and used when constructing these, default - None. Valid values: { see property package for documentation.}
- reaction_package
- Reaction parameter object used to define reaction calculations, default - None. Valid values: { None - no reaction package, ReactionParameterBlock - a ReactionParameterBlock object.}
- reaction_package_args
- A ConfigBlock with arguments to be passed to a reaction block(s) and used when constructing these, default - None. Valid values: { see reaction package for documentation.}
- initialize (dict) – ProcessBlockData config for individual elements. Keys are BlockData indexes and values are dictionaries described under the “default” argument above.
- idx_map (function) – Function to take the index of a BlockData element and return the index in the initialize dict from which to read arguments. This can be provided to overide the default behavior of matching the BlockData index exactly to the index in initialize.
Returns: (CSTR) New instance
idaes.unit_models.equilibrium_reactor module¶
Standard IDAES Equilibrium Reactor model.
-
class
idaes.unit_models.equilibrium_reactor.
EquilibriumReactor
(*args, **kwargs) Parameters: - rule (function) – A rule function or None. Default rule calls build().
- concrete (bool) – If True, make this a toplevel model. Default - False.
- ctype (str) – Pyomo ctype of the block. Default - “Block”
- default (dict) –
Default ProcessBlockData config
- Keys
- dynamic
- Indicates whether this model will be dynamic or not, default = False. Equilibrium Reactors do not support dynamic behavior.
- has_holdup
- Indicates whether holdup terms should be constructed or not. default - False. Equilibrium reactors do not have defined volume, thus this must be False.
- material_balance_type
- Indicates what type of material balance should be constructed, default - MaterialBalanceType.componentPhase. Valid values: { MaterialBalanceType.none - exclude material balances, MaterialBalanceType.componentPhase - use phase component balances, MaterialBalanceType.componentTotal - use total component balances, MaterialBalanceType.elementTotal - use total element balances, MaterialBalanceType.total - use total material balance.}
- energy_balance_type
- Indicates what type of energy balance should be constructed, default - EnergyBalanceType.enthalpyTotal. Valid values: { EnergyBalanceType.none - exclude energy balances, EnergyBalanceType.enthalpyTotal - single enthalpy balance for material, EnergyBalanceType.enthalpyPhase - enthalpy balances for each phase, EnergyBalanceType.energyTotal - single energy balance for material, EnergyBalanceType.energyPhase - energy balances for each phase.}
- momentum_balance_type
- Indicates what type of momentum balance should be constructed, default - MomentumBalanceType.pressureTotal. Valid values: { MomentumBalanceType.none - exclude momentum balances, MomentumBalanceType.pressureTotal - single pressure balance for material, MomentumBalanceType.pressurePhase - pressure balances for each phase, MomentumBalanceType.momentumTotal - single momentum balance for material, MomentumBalanceType.momentumPhase - momentum balances for each phase.}
- has_rate_reactions
- Indicates whether terms for rate controlled reactions should be constructed, along with constraints equating these to zero, default - True. Valid values: { True - include rate reaction terms, False - exclude rate reaction terms.}
- has_equilibrium_reactions
- Indicates whether terms for equilibrium controlled reactions should be constructed, default - True. Valid values: { True - include equilibrium reaction terms, False - exclude equilibrium reaction terms.}
- has_phase_equilibrium
- Indicates whether terms for phase equilibrium should be constructed, default - True. Valid values: { True - include phase equilibrium term, False - exclude phase equlibirum terms.}
- has_heat_transfer
- Indicates whether terms for heat transfer should be constructed, default - False. Valid values: { True - include heat transfer terms, False - exclude heat transfer terms.}
- has_heat_of_reaction
- Indicates whether terms for heat of reaction terms should be constructed, default - False. Valid values: { True - include heat of reaction terms, False - exclude heat of reaction terms.}
- has_pressure_change
- Indicates whether terms for pressure change should be constructed, default - False. Valid values: { True - include pressure change terms, False - exclude pressure change terms.}
- property_package
- Property parameter object used to define property calculations, default - useDefault. Valid values: { useDefault - use default package from parent model or flowsheet, PhysicalParameterObject - a PhysicalParameterBlock object.}
- property_package_args
- A ConfigBlock with arguments to be passed to a property block(s) and used when constructing these, default - None. Valid values: { see property package for documentation.}
- reaction_package
- Reaction parameter object used to define reaction calculations, default - None. Valid values: { None - no reaction package, ReactionParameterBlock - a ReactionParameterBlock object.}
- reaction_package_args
- A ConfigBlock with arguments to be passed to a reaction block(s) and used when constructing these, default - None. Valid values: { see reaction package for documentation.}
- initialize (dict) – ProcessBlockData config for individual elements. Keys are BlockData indexes and values are dictionaries described under the “default” argument above.
- idx_map (function) – Function to take the index of a BlockData element and return the index in the initialize dict from which to read arguments. This can be provided to overide the default behavior of matching the BlockData index exactly to the index in initialize.
Returns: (EquilibriumReactor) New instance
idaes.unit_models.feed module¶
Standard IDAES Feed block.
-
class
idaes.unit_models.feed.
Feed
(*args, **kwargs) Parameters: - rule (function) – A rule function or None. Default rule calls build().
- concrete (bool) – If True, make this a toplevel model. Default - False.
- ctype (str) – Pyomo ctype of the block. Default - “Block”
- default (dict) –
Default ProcessBlockData config
- Keys
- dynamic
- Indicates whether this model will be dynamic or not, default = False. Feed blocks are always steady-state.
- has_holdup
- Feed blocks do not contain holdup, thus this must be False.
- property_package
- Property parameter object used to define property calculations, default - useDefault. Valid values: { useDefault - use default package from parent model or flowsheet, PhysicalParameterObject - a PhysicalParameterBlock object.}
- property_package_args
- A ConfigBlock with arguments to be passed to a property block(s) and used when constructing these, default - None. Valid values: { see property package for documentation.}
- initialize (dict) – ProcessBlockData config for individual elements. Keys are BlockData indexes and values are dictionaries described under the “default” argument above.
- idx_map (function) – Function to take the index of a BlockData element and return the index in the initialize dict from which to read arguments. This can be provided to overide the default behavior of matching the BlockData index exactly to the index in initialize.
Returns: (Feed) New instance
-
class
idaes.unit_models.feed.
FeedData
(component)[source] Standard Feed Block Class
-
build
()[source] Begin building model.
Parameters: None – Returns: None
-
initialize
(state_args={}, outlvl=0, solver='ipopt', optarg={'tol': 1e-06})[source] This method calls the initialization method of the state block.
Keyword Arguments: - state_args – a dict of arguments to be passed to the property package(s) to provide an initial state for initialization (see documentation of the specific property package) (default = {}).
- outlvl –
sets output level of initialisation routine
- 0 = no output (default)
- 1 = return solver state for each step in routine
- 2 = return solver state for each step in subroutines
- 3 = include solver output infomation (tee=True)
- optarg – solver options dictionary object (default={‘tol’: 1e-6})
- solver – str indicating which solver to use during initialization (default = ‘ipopt’)
Returns: None
-
idaes.unit_models.feed_flash module¶
Standard IDAES Feed block with phase equilibrium.
-
class
idaes.unit_models.feed_flash.
FeedFlash
(*args, **kwargs) Parameters: - rule (function) – A rule function or None. Default rule calls build().
- concrete (bool) – If True, make this a toplevel model. Default - False.
- ctype (str) – Pyomo ctype of the block. Default - “Block”
- default (dict) –
Default ProcessBlockData config
- Keys
- dynamic
- Feed units do not support dynamic behavior.
- has_holdup
- Feed units do not have defined volume, thus this must be False.
- material_balance_type
- Indicates what type of material balance should be constructed, default - MaterialBalanceType.componentPhase. Valid values: { MaterialBalanceType.none - exclude material balances, MaterialBalanceType.componentPhase - use phase component balances, MaterialBalanceType.componentTotal - use total component balances, MaterialBalanceType.elementTotal - use total element balances, MaterialBalanceType.total - use total material balance.}
- flash_type
- Indicates what type of flash operation should be used. default - FlashType.isothermal. Valid values: { FlashType.isothermal - specify temperature, FlashType.isenthalpic - specify enthalpy.}
- property_package
- Property parameter object used to define property calculations, default - useDefault. Valid values: { useDefault - use default package from parent model or flowsheet, PhysicalParameterObject - a PhysicalParameterBlock object.}
- property_package_args
- A ConfigBlock with arguments to be passed to a property block(s) and used when constructing these, default - None. Valid values: { see property package for documentation.}
- initialize (dict) – ProcessBlockData config for individual elements. Keys are BlockData indexes and values are dictionaries described under the “default” argument above.
- idx_map (function) – Function to take the index of a BlockData element and return the index in the initialize dict from which to read arguments. This can be provided to overide the default behavior of matching the BlockData index exactly to the index in initialize.
Returns: (FeedFlash) New instance
-
class
idaes.unit_models.feed_flash.
FeedFlashData
(component)[source] Standard Feed block with phase equilibrium
-
build
()[source] Begin building model.
Parameters: None – Returns: None
-
-
class
idaes.unit_models.feed_flash.
FlashType
[source] An enumeration.
idaes.unit_models.flash module¶
Standard IDAES flash model.
-
class
idaes.unit_models.flash.
Flash
(*args, **kwargs) Parameters: - rule (function) – A rule function or None. Default rule calls build().
- concrete (bool) – If True, make this a toplevel model. Default - False.
- ctype (str) – Pyomo ctype of the block. Default - “Block”
- default (dict) –
Default ProcessBlockData config
- Keys
- dynamic
- Indicates whether this model will be dynamic or not, default = False. Flash units do not support dynamic behavior.
- has_holdup
- Indicates whether holdup terms should be constructed or not. default - False. Flash units do not have defined volume, thus this must be False.
- material_balance_type
- Indicates what type of mass balance should be constructed, default - MaterialBalanceType.componentPhase. Valid values: { MaterialBalanceType.none - exclude material balances, MaterialBalanceType.componentPhase - use phase component balances, MaterialBalanceType.componentTotal - use total component balances, MaterialBalanceType.elementTotal - use total element balances, MaterialBalanceType.total - use total material balance.}
- energy_balance_type
- Indicates what type of energy balance should be constructed, default - EnergyBalanceType.enthalpyTotal. Valid values: { EnergyBalanceType.none - exclude energy balances, EnergyBalanceType.enthalpyTotal - single enthalpy balance for material, EnergyBalanceType.enthalpyPhase - enthalpy balances for each phase, EnergyBalanceType.energyTotal - single energy balance for material, EnergyBalanceType.energyPhase - energy balances for each phase.}
- momentum_balance_type
- Indicates what type of momentum balance should be constructed, default - MomentumBalanceType.pressureTotal. Valid values: { MomentumBalanceType.none - exclude momentum balances, MomentumBalanceType.pressureTotal - single pressure balance for material, MomentumBalanceType.pressurePhase - pressure balances for each phase, MomentumBalanceType.momentumTotal - single momentum balance for material, MomentumBalanceType.momentumPhase - momentum balances for each phase.}
- energy_split_basis
- Argument indicating basis to use for splitting energy this is not used for when ideal_separation == True. default - EnergySplittingType.equal_temperature. Valid values: { EnergySplittingType.equal_temperature - outlet temperatures equal inlet EnergySplittingType.equal_molar_enthalpy - oulet molar enthalpies equal inlet, EnergySplittingType.enthalpy_split - apply split fractions to enthalpy flows.}
- ideal_separation
- Argument indicating whether ideal splitting should be used. Ideal splitting assumes perfect separation of material, and attempts to avoid duplication of StateBlocks by directly partitioning outlet flows to ports, default - True. Valid values: { True - use ideal splitting methods. Cannot be combined with has_phase_equilibrium = True, False - use explicit splitting equations with split fractions.}
- has_heat_transfer
- Indicates whether terms for heat transfer should be constructed, default - False. Valid values: { True - include heat transfer terms, False - exclude heat transfer terms.}
- has_pressure_change
- Indicates whether terms for pressure change should be constructed, default - True. Valid values: { True - include pressure change terms, False - exclude pressure change terms.}
- property_package
- Property parameter object used to define property calculations, default - useDefault. Valid values: { useDefault - use default package from parent model or flowsheet, PropertyParameterObject - a PropertyParameterBlock object.}
- property_package_args
- A ConfigBlock with arguments to be passed to a property block(s) and used when constructing these, default - None. Valid values: { see property package for documentation.}
- initialize (dict) – ProcessBlockData config for individual elements. Keys are BlockData indexes and values are dictionaries described under the “default” argument above.
- idx_map (function) – Function to take the index of a BlockData element and return the index in the initialize dict from which to read arguments. This can be provided to overide the default behavior of matching the BlockData index exactly to the index in initialize.
Returns: (Flash) New instance
idaes.unit_models.gibbs_reactor module¶
Standard IDAES Gibbs reactor model.
-
class
idaes.unit_models.gibbs_reactor.
GibbsReactor
(*args, **kwargs) Parameters: - rule (function) – A rule function or None. Default rule calls build().
- concrete (bool) – If True, make this a toplevel model. Default - False.
- ctype (str) – Pyomo ctype of the block. Default - “Block”
- default (dict) –
Default ProcessBlockData config
- Keys
- dynamic
- Gibbs reactors do not support dynamic models, thus this must be False.
- has_holdup
- Gibbs reactors do not have defined volume, thus this must be False.
- energy_balance_type
- Indicates what type of energy balance should be constructed, default - EnergyBalanceType.enthalpyTotal. Valid values: { EnergyBalanceType.none - exclude energy balances, EnergyBalanceType.enthalpyTotal - single enthalpy balance for material, EnergyBalanceType.enthalpyPhase - enthalpy balances for each phase, EnergyBalanceType.energyTotal - single energy balance for material, EnergyBalanceType.energyPhase - energy balances for each phase.}
- momentum_balance_type
- Indicates what type of momentum balance should be constructed, default - MomentumBalanceType.pressureTotal. Valid values: { MomentumBalanceType.none - exclude momentum balances, MomentumBalanceType.pressureTotal - single pressure balance for material, MomentumBalanceType.pressurePhase - pressure balances for each phase, MomentumBalanceType.momentumTotal - single momentum balance for material, MomentumBalanceType.momentumPhase - momentum balances for each phase.}
- has_heat_transfer
- Indicates whether terms for heat transfer should be constructed, default - False. Valid values: { True - include heat transfer terms, False - exclude heat transfer terms.}
- has_pressure_change
- Indicates whether terms for pressure change should be constructed, default - False. Valid values: { True - include pressure change terms, False - exclude pressure change terms.}
- property_package
- Property parameter object used to define property calculations, default - useDefault. Valid values: { useDefault - use default package from parent model or flowsheet, PropertyParameterObject - a PropertyParameterBlock object.}
- property_package_args
- A ConfigBlock with arguments to be passed to a property block(s) and used when constructing these, default - None. Valid values: { see property package for documentation.}
- initialize (dict) – ProcessBlockData config for individual elements. Keys are BlockData indexes and values are dictionaries described under the “default” argument above.
- idx_map (function) – Function to take the index of a BlockData element and return the index in the initialize dict from which to read arguments. This can be provided to overide the default behavior of matching the BlockData index exactly to the index in initialize.
Returns: (GibbsReactor) New instance
-
class
idaes.unit_models.gibbs_reactor.
GibbsReactorData
(component)[source] Standard Gibbs Reactor Unit Model Class
This model assume all possible reactions reach equilibrium such that the system partial molar Gibbs free energy is minimized. Since some species mole flow rate might be very small, the natural log of the species molar flow rate is used. Instead of specifying the system Gibbs free energy as an objective function, the equations for zero partial derivatives of the grand function with Lagrangian multiple terms with repect to product species mole flow rates and the multiples are specified as constraints.
-
build
()[source] Begin building model (pre-DAE transformation).
Parameters: None – Returns: None
-
idaes.unit_models.heat_exchanger module¶
Heat Exchanger Models.
-
class
idaes.unit_models.heat_exchanger.
HeatExchanger
(*args, **kwargs) Simple 0D heat exchanger model.
Parameters: - rule (function) – A rule function or None. Default rule calls build().
- concrete (bool) – If True, make this a toplevel model. Default - False.
- ctype (str) – Pyomo ctype of the block. Default - “Block”
- default (dict) –
Default ProcessBlockData config
- Keys
- dynamic
- Indicates whether this model will be dynamic or not, default = useDefault. Valid values: { useDefault - get flag from parent (default = False), True - set as a dynamic model, False - set as a steady-state model.}
- has_holdup
- Indicates whether holdup terms should be constructed or not. Must be True if dynamic = True, default - False. Valid values: { True - construct holdup terms, False - do not construct holdup terms}
- side_1
- A config block used to construct the side_1 control
volume.
- material_balance_type
- Indicates what type of mass balance should be constructed, default - MaterialBalanceType.componentPhase. Valid values: { MaterialBalanceType.none - exclude material balances, MaterialBalanceType.componentPhase - use phase component balances, MaterialBalanceType.componentTotal - use total component balances, MaterialBalanceType.elementTotal - use total element balances, MaterialBalanceType.total - use total material balance.}
- energy_balance_type
- Indicates what type of energy balance should be constructed, default - EnergyBalanceType.enthalpyTotal. Valid values: { EnergyBalanceType.none - exclude energy balances, EnergyBalanceType.enthalpyTotal - single enthalpy balance for material, EnergyBalanceType.enthalpyPhase - enthalpy balances for each phase, EnergyBalanceType.energyTotal - single energy balance for material, EnergyBalanceType.energyPhase - energy balances for each phase.}
- momentum_balance_type
- Indicates what type of momentum balance should be constructed, default - MomentumBalanceType.pressureTotal. Valid values: { MomentumBalanceType.none - exclude momentum balances, MomentumBalanceType.pressureTotal - single pressure balance for material, MomentumBalanceType.pressurePhase - pressure balances for each phase, MomentumBalanceType.momentumTotal - single momentum balance for material, MomentumBalanceType.momentumPhase - momentum balances for each phase.}
- has_phase_equilibrium
- Indicates whether terms for phase equilibrium should be constructed, default = False. Valid values: { True - include phase equilibrium terms False - exclude phase equilibrium terms.}
- has_pressure_change
- Indicates whether terms for pressure change should be constructed, default - False. Valid values: { True - include pressure change terms, False - exclude pressure change terms.}
- property_package
- Property parameter object used to define property calculations, default - useDefault. Valid values: { useDefault - use default package from parent model or flowsheet, PropertyParameterObject - a PropertyParameterBlock object.}
- property_package_args
- A ConfigBlock with arguments to be passed to a property block(s) and used when constructing these, default - None. Valid values: { see property package for documentation.}
- side_2
- A config block used to construct the side_2 control
volume.
- material_balance_type
- Indicates what type of mass balance should be constructed, default - MaterialBalanceType.componentPhase. Valid values: { MaterialBalanceType.none - exclude material balances, MaterialBalanceType.componentPhase - use phase component balances, MaterialBalanceType.componentTotal - use total component balances, MaterialBalanceType.elementTotal - use total element balances, MaterialBalanceType.total - use total material balance.}
- energy_balance_type
- Indicates what type of energy balance should be constructed, default - EnergyBalanceType.enthalpyTotal. Valid values: { EnergyBalanceType.none - exclude energy balances, EnergyBalanceType.enthalpyTotal - single enthalpy balance for material, EnergyBalanceType.enthalpyPhase - enthalpy balances for each phase, EnergyBalanceType.energyTotal - single energy balance for material, EnergyBalanceType.energyPhase - energy balances for each phase.}
- momentum_balance_type
- Indicates what type of momentum balance should be constructed, default - MomentumBalanceType.pressureTotal. Valid values: { MomentumBalanceType.none - exclude momentum balances, MomentumBalanceType.pressureTotal - single pressure balance for material, MomentumBalanceType.pressurePhase - pressure balances for each phase, MomentumBalanceType.momentumTotal - single momentum balance for material, MomentumBalanceType.momentumPhase - momentum balances for each phase.}
- has_phase_equilibrium
- Indicates whether terms for phase equilibrium should be constructed, default = False. Valid values: { True - include phase equilibrium terms False - exclude phase equilibrium terms.}
- has_pressure_change
- Indicates whether terms for pressure change should be constructed, default - False. Valid values: { True - include pressure change terms, False - exclude pressure change terms.}
- property_package
- Property parameter object used to define property calculations, default - useDefault. Valid values: { useDefault - use default package from parent model or flowsheet, PropertyParameterObject - a PropertyParameterBlock object.}
- property_package_args
- A ConfigBlock with arguments to be passed to a property block(s) and used when constructing these, default - None. Valid values: { see property package for documentation.}
- delta_temperature_rule
- Rule for equation for temperature difference
- flow_pattern
- Heat exchanger flow pattern, default - HeatExchangerFlowPattern.countercurrent. Valid values: { HeatExchangerFlowPattern.countercurrent - countercurrent flow, HeatExchangerFlowPattern.cocurrent - cocurrent flow, HeatExchangerFlowPattern.crossflow - cross flow, factor times countercurrent temperature difference.}
- initialize (dict) – ProcessBlockData config for individual elements. Keys are BlockData indexes and values are dictionaries described under the “default” argument above.
- idx_map (function) – Function to take the index of a BlockData element and return the index in the initialize dict from which to read arguments. This can be provided to overide the default behavior of matching the BlockData index exactly to the index in initialize.
Returns: (HeatExchanger) New instance
-
class
idaes.unit_models.heat_exchanger.
HeatExchangerData
(component)[source] Simple 0D heat exchange unit. Unit model to transfer heat from one material to another.
-
build
()[source] Building model
Parameters: None – Returns: None
-
initialize
(state_args_1=None, state_args_2=None, outlvl=0, solver='ipopt', optarg={'tol': 1e-06}, duty=1000)[source] Heat exchanger initialization method.
Parameters: - state_args_1 – a dict of arguments to be passed to the property initialization for side_1 (see documentation of the specific property package) (default = {}).
- state_args_2 – a dict of arguments to be passed to the property initialization for side_2 (see documentation of the specific property package) (default = {}).
- outlvl – sets output level of initialisation routine * 0 = no output (default) * 1 = return solver state for each step in routine * 2 = return solver state for each step in subroutines * 3 = include solver output infomation (tee=True)
- optarg – solver options dictionary object (default={‘tol’: 1e-6})
- solver – str indicating which solver to use during initialization (default = ‘ipopt’)
- duty – an initial guess for the amount of heat transfered (default = 10000)
Returns: None
-
set_scaling_factor_energy
(f)[source] This function sets scaling_factor_energy for both side_1 and side_2. This factor multiplies the energy balance and heat transfer equations in the heat exchnager. The value of this factor should be about 1/(expected heat duty).
Parameters: f – Energy balance scaling factor
-
-
class
idaes.unit_models.heat_exchanger.
HeatExchangerFlowPattern
[source] An enumeration.
-
class
idaes.unit_models.heat_exchanger.
Heater
(*args, **kwargs) Simple 0D heater/cooler model.
Parameters: - rule (function) – A rule function or None. Default rule calls build().
- concrete (bool) – If True, make this a toplevel model. Default - False.
- ctype (str) – Pyomo ctype of the block. Default - “Block”
- default (dict) –
Default ProcessBlockData config
- Keys
- dynamic
- Indicates whether this model will be dynamic or not, default = useDefault. Valid values: { useDefault - get flag from parent (default = False), True - set as a dynamic model, False - set as a steady-state model.}
- has_holdup
- Indicates whether holdup terms should be constructed or not. Must be True if dynamic = True, default - False. Valid values: { True - construct holdup terms, False - do not construct holdup terms}
- material_balance_type
- Indicates what type of mass balance should be constructed, default - MaterialBalanceType.componentPhase. Valid values: { MaterialBalanceType.none - exclude material balances, MaterialBalanceType.componentPhase - use phase component balances, MaterialBalanceType.componentTotal - use total component balances, MaterialBalanceType.elementTotal - use total element balances, MaterialBalanceType.total - use total material balance.}
- energy_balance_type
- Indicates what type of energy balance should be constructed, default - EnergyBalanceType.enthalpyTotal. Valid values: { EnergyBalanceType.none - exclude energy balances, EnergyBalanceType.enthalpyTotal - single enthalpy balance for material, EnergyBalanceType.enthalpyPhase - enthalpy balances for each phase, EnergyBalanceType.energyTotal - single energy balance for material, EnergyBalanceType.energyPhase - energy balances for each phase.}
- momentum_balance_type
- Indicates what type of momentum balance should be constructed, default - MomentumBalanceType.pressureTotal. Valid values: { MomentumBalanceType.none - exclude momentum balances, MomentumBalanceType.pressureTotal - single pressure balance for material, MomentumBalanceType.pressurePhase - pressure balances for each phase, MomentumBalanceType.momentumTotal - single momentum balance for material, MomentumBalanceType.momentumPhase - momentum balances for each phase.}
- has_phase_equilibrium
- Indicates whether terms for phase equilibrium should be constructed, default = False. Valid values: { True - include phase equilibrium terms False - exclude phase equilibrium terms.}
- has_pressure_change
- Indicates whether terms for pressure change should be constructed, default - False. Valid values: { True - include pressure change terms, False - exclude pressure change terms.}
- property_package
- Property parameter object used to define property calculations, default - useDefault. Valid values: { useDefault - use default package from parent model or flowsheet, PropertyParameterObject - a PropertyParameterBlock object.}
- property_package_args
- A ConfigBlock with arguments to be passed to a property block(s) and used when constructing these, default - None. Valid values: { see property package for documentation.}
- initialize (dict) – ProcessBlockData config for individual elements. Keys are BlockData indexes and values are dictionaries described under the “default” argument above.
- idx_map (function) – Function to take the index of a BlockData element and return the index in the initialize dict from which to read arguments. This can be provided to overide the default behavior of matching the BlockData index exactly to the index in initialize.
Returns: (Heater) New instance
-
class
idaes.unit_models.heat_exchanger.
HeaterData
(component)[source] Simple 0D heater unit. Unit model to add or remove heat from a material.
-
build
()[source] Building model :param None:
Returns: None
-
-
idaes.unit_models.heat_exchanger.
delta_temperature_amtd_rule
(b, t)[source] This is a rule for a temperaure difference expression to calculate \(\Delta T\) in the heat exchanger model using arithmetic-mean temperature difference (AMTD). It can be supplied to “delta_temperature_rule” HeatExchanger configuration option.
-
idaes.unit_models.heat_exchanger.
delta_temperature_lmtd_rule
(b, t)[source] This is a rule for a temperaure difference expression to calculate \(\Delta T\) in the heat exchanger model using log-mean temperature difference (LMTD). It can be supplied to “delta_temperature_rule” HeatExchanger configuration option.
-
idaes.unit_models.heat_exchanger.
delta_temperature_underwood2_rule
(b, t)[source] This is a rule for a temperaure difference expression to calculate \(\Delta T\) in the heat exchanger model using log-mean temperature difference (LMTD) approximation given by Underwood (1970). It can be supplied to “delta_temperature_rule” HeatExchanger configuration option. This uses a cube root function that works with negative numbers returning the real negative root. This function should always evaluate successfully.
-
idaes.unit_models.heat_exchanger.
delta_temperature_underwood_rule
(b, t)[source] This is a rule for a temperaure difference expression to calculate \(\Delta T\) in the heat exchanger model using log-mean temperature difference (LMTD) approximation given by Underwood (1970). It can be supplied to “delta_temperature_rule” HeatExchanger configuration option.
idaes.unit_models.heat_exchanger_1D module¶
Basic IDAES 1D Heat Exchanger Model.
1D Single pass shell and tube HX model with 0D wall conduction model
-
class
idaes.unit_models.heat_exchanger_1D.
HeatExchanger1D
(*args, **kwargs) Parameters: - rule (function) – A rule function or None. Default rule calls build().
- concrete (bool) – If True, make this a toplevel model. Default - False.
- ctype (str) – Pyomo ctype of the block. Default - “Block”
- default (dict) –
Default ProcessBlockData config
- Keys
- dynamic
- Indicates whether this model will be dynamic or not, default = useDefault. Valid values: { useDefault - get flag from parent (default = False), True - set as a dynamic model, False - set as a steady-state model.}
- has_holdup
- Indicates whether holdup terms should be constructed or not. Must be True if dynamic = True, default - False. Valid values: { True - construct holdup terms, False - do not construct holdup terms}
- shell_side
- shell side config arguments
- dynamic
- Indicates whether this model will be dynamic or not, default = useDefault. Valid values: { useDefault - get flag from parent (default = False), True - set as a dynamic model, False - set as a steady-state model.}
- has_holdup
- Indicates whether holdup terms should be constructed or not. Must be True if dynamic = True, default - False. Valid values: { True - construct holdup terms, False - do not construct holdup terms}
- material_balance_type
- Indicates what type of mass balance should be constructed, default - MaterialBalanceType.componentTotal. Valid values: { MaterialBalanceType.none - exclude material balances, MaterialBalanceType.componentPhase - use phase component balances, MaterialBalanceType.componentTotal - use total component balances, MaterialBalanceType.elementTotal - use total element balances, MaterialBalanceType.total - use total material balance.}
- energy_balance_type
- Indicates what type of energy balance should be constructed, default - EnergyBalanceType.enthalpyTotal. Valid values: { EnergyBalanceType.none - exclude energy balances, EnergyBalanceType.enthalpyTotal - single enthalpy balance for material, EnergyBalanceType.enthalpyPhase - enthalpy balances for each phase, EnergyBalanceType.energyTotal - single energy balance for material, EnergyBalanceType.energyPhase - energy balances for each phase.}
- momentum_balance_type
- Indicates what type of momentum balance should be constructed, default - MomentumBalanceType.pressureTotal. Valid values: { MomentumBalanceType.none - exclude momentum balances, MomentumBalanceType.pressureTotal - single pressure balance for material, MomentumBalanceType.pressurePhase - pressure balances for each phase, MomentumBalanceType.momentumTotal - single momentum balance for material, MomentumBalanceType.momentumPhase - momentum balances for each phase.}
- has_pressure_change
- Indicates whether terms for pressure change should be constructed, default - False. Valid values: { True - include pressure change terms, False - exclude pressure change terms.}
- has_phase_equilibrium
- Argument to enable phase equilibrium on the shell side. - True - include phase equilibrium term - False - do not include phase equilibrium term
- property_package
- Property parameter object used to define property calculations (default = ‘use_parent_value’) - ‘use_parent_value’ - get package from parent (default = None) - a ParameterBlock object
- property_package_args
- A dict of arguments to be passed to the PropertyBlockData and used when constructing these (default = ‘use_parent_value’) - ‘use_parent_value’ - get package from parent (default = None) - a dict (see property package for documentation)
- transformation_method
- Discretization method to use for DAE transformation. See Pyomo documentation for supported transformations.
- transformation_scheme
- Discretization scheme to use when transformating domain. See Pyomo documentation for supported schemes.
- tube_side
- tube side config arguments
- dynamic
- Indicates whether this model will be dynamic or not, default = useDefault. Valid values: { useDefault - get flag from parent (default = False), True - set as a dynamic model, False - set as a steady-state model.}
- has_holdup
- Indicates whether holdup terms should be constructed or not. Must be True if dynamic = True, default - False. Valid values: { True - construct holdup terms, False - do not construct holdup terms}
- material_balance_type
- Indicates what type of mass balance should be constructed, default - MaterialBalanceType.componentTotal. Valid values: { MaterialBalanceType.none - exclude material balances, MaterialBalanceType.componentPhase - use phase component balances, MaterialBalanceType.componentTotal - use total component balances, MaterialBalanceType.elementTotal - use total element balances, MaterialBalanceType.total - use total material balance.}
- energy_balance_type
- Indicates what type of energy balance should be constructed, default - EnergyBalanceType.enthalpyTotal. Valid values: { EnergyBalanceType.none - exclude energy balances, EnergyBalanceType.enthalpyTotal - single enthalpy balance for material, EnergyBalanceType.enthalpyPhase - enthalpy balances for each phase, EnergyBalanceType.energyTotal - single energy balance for material, EnergyBalanceType.energyPhase - energy balances for each phase.}
- momentum_balance_type
- Indicates what type of momentum balance should be constructed, default - MomentumBalanceType.pressureTotal. Valid values: { MomentumBalanceType.none - exclude momentum balances, MomentumBalanceType.pressureTotal - single pressure balance for material, MomentumBalanceType.pressurePhase - pressure balances for each phase, MomentumBalanceType.momentumTotal - single momentum balance for material, MomentumBalanceType.momentumPhase - momentum balances for each phase.}
- has_pressure_change
- Indicates whether terms for pressure change should be constructed, default - False. Valid values: { True - include pressure change terms, False - exclude pressure change terms.}
- has_phase_equilibrium
- Argument to enable phase equilibrium on the shell side. - True - include phase equilibrium term - False - do not include phase equilibrium term
- property_package
- Property parameter object used to define property calculations (default = ‘use_parent_value’) - ‘use_parent_value’ - get package from parent (default = None) - a ParameterBlock object
- property_package_args
- A dict of arguments to be passed to the PropertyBlockData and used when constructing these (default = ‘use_parent_value’) - ‘use_parent_value’ - get package from parent (default = None) - a dict (see property package for documentation)
- transformation_method
- Discretization method to use for DAE transformation. See Pyomo documentation for supported transformations.
- transformation_scheme
- Discretization scheme to use when transformating domain. See Pyomo documentation for supported schemes.
- finite_elements
- Number of finite elements to use when discretizing length domain (default=20)
- collocation_points
- Number of collocation points to use per finite element when discretizing length domain (default=3)
- flow_type
- Flow configuration of heat exchanger - HeatExchangerFlowPattern.cocurrent: shell and tube flows from 0 to 1 (default) - HeatExchangerFlowPattern.countercurrent: shell side flows from 0 to 1 tube side flows from 1 to 0
- has_wall_conduction
- Argument to enable type of wall heat conduction model. - WallConductionType.zero_dimensional - 0D wall model (default), - WallConductionType.one_dimensional - 1D wall model along the thickness of the tube, - WallConductionType.two_dimensional - 2D wall model along the lenghth and thickness of the tube
- initialize (dict) – ProcessBlockData config for individual elements. Keys are BlockData indexes and values are dictionaries described under the “default” argument above.
- idx_map (function) – Function to take the index of a BlockData element and return the index in the initialize dict from which to read arguments. This can be provided to overide the default behavior of matching the BlockData index exactly to the index in initialize.
Returns: (HeatExchanger1D) New instance
-
class
idaes.unit_models.heat_exchanger_1D.
HeatExchanger1DData
(component)[source] Standard Heat Exchanger 1D Unit Model Class.
-
build
()[source] Begin building model (pre-DAE transformation).
Parameters: None – Returns: None
-
initialize
(shell_state_args=None, tube_state_args=None, outlvl=1, solver='ipopt', optarg={'tol': 1e-06})[source] Initialisation routine for the unit (default solver ipopt).
Keyword Arguments: - state_args – a dict of arguments to be passed to the property package(s) to provide an initial state for initialization (see documentation of the specific property package) (default = {}).
- outlvl –
sets output level of initialisation routine
- 0 = no output (default)
- 1 = return solver state for each step in routine
- 2 = return solver state for each step in subroutines
- 3 = include solver output infomation (tee=True)
- optarg – solver options dictionary object (default={‘tol’: 1e-6})
- solver – str indicating whcih solver to use during initialization (default = ‘ipopt’)
Returns: None
-
-
class
idaes.unit_models.heat_exchanger_1D.
WallConductionType
[source] An enumeration.
idaes.unit_models.mixer module¶
General purpose mixer block for IDAES models
-
class
idaes.unit_models.mixer.
Mixer
(*args, **kwargs) Parameters: - rule (function) – A rule function or None. Default rule calls build().
- concrete (bool) – If True, make this a toplevel model. Default - False.
- ctype (str) – Pyomo ctype of the block. Default - “Block”
- default (dict) –
Default ProcessBlockData config
- Keys
- dynamic
- Indicates whether this model will be dynamic or not, default = False. Mixer blocks are always steady-state.
- has_holdup
- Mixer blocks do not contain holdup, thus this must be False.
- property_package
- Property parameter object used to define property calculations, default - useDefault. Valid values: { useDefault - use default package from parent model or flowsheet, PropertyParameterObject - a PropertyParameterBlock object.}
- property_package_args
- A ConfigBlock with arguments to be passed to a property block(s) and used when constructing these, default - None. Valid values: { see property package for documentation.}
- inlet_list
- A list containing names of inlets, default - None. Valid values: { None - use num_inlets argument, list - a list of names to use for inlets.}
- num_inlets
- Argument indicating number (int) of inlets to construct, not used if inlet_list arg is provided, default - None. Valid values: { None - use inlet_list arg instead, or default to 2 if neither argument provided, int - number of inlets to create (will be named with sequential integers from 1 to num_inlets).}
- material_balance_type
- Indicates what type of mass balance should be constructed. Only used if ideal_separation = False. default - MaterialBalanceType.componentPhase. Valid values: { MaterialBalanceType.none - exclude material balances, MaterialBalanceType.componentPhase - use phase component balances, MaterialBalanceType.componentTotal - use total component balances, MaterialBalanceType.elementTotal - use total element balances, MaterialBalanceType.total - use total material balance.}
- has_phase_equilibrium
- Argument indicating whether phase equilibrium should be calculated for the resulting mixed stream, default - False. Valid values: { True - calculate phase equilibrium in mixed stream, False - do not calculate equilibrium in mixed stream.}
- material_mixing_type
- Argument indicating what method to use when mixing material flows of incoming streams, default - MixingType.extensive. Valid values: { MixingType.none - do not include material mixing equations, MixingType.extensive - mix total flows of each phase-component pair.}
- energy_mixing_type
- Argument indicating what method to use when mixing energy flows of incoming streams, default - MixingType.extensive. Valid values: { MixingType.none - do not include energy mixing equations, MixingType.extensive - mix total enthalpy flows of each phase.}
- momentum_mixing_type
- Argument indicating what method to use when mixing momentum/ pressure of incoming streams, default - MomentumMixingType.minimize. Valid values: { MomentumMixingType.none - do not include momentum mixing equations, MomentumMixingType.minimize - mixed stream has pressure equal to the minimimum pressure of the incoming streams (uses smoothMin operator), MomentumMixingType.equality - enforces equality of pressure in mixed and all incoming streams., MomentumMixingType.minimize_and_equality - add constraints for pressure equal to the minimum pressure of the inlets and constraints for equality of pressure in mixed and all incoming streams. When the model is initially built, the equality constraints are deactivated. This option is useful for switching between flow and pressure driven simulations.}
- mixed_state_block
- An existing state block to use as the outlet stream from the Mixer block, default - None. Valid values: { None - create a new StateBlock for the mixed stream, StateBlock - a StateBock to use as the destination for the mixed stream.}
- construct_ports
- Argument indicating whether model should construct Port objects linked to all inlet states and the mixed state, default - True. Valid values: { True - construct Ports for all states, False - do not construct Ports.
- initialize (dict) – ProcessBlockData config for individual elements. Keys are BlockData indexes and values are dictionaries described under the “default” argument above.
- idx_map (function) – Function to take the index of a BlockData element and return the index in the initialize dict from which to read arguments. This can be provided to overide the default behavior of matching the BlockData index exactly to the index in initialize.
Returns: (Mixer) New instance
-
class
idaes.unit_models.mixer.
MixerData
(component)[source] This is a general purpose model for a Mixer block with the IDAES modeling framework. This block can be used either as a stand-alone Mixer unit operation, or as a sub-model within another unit operation.
This model creates a number of StateBlocks to represent the incoming streams, then writes a set of phase-component material balances, an overall enthalpy balance and a momentum balance (2 options) linked to a mixed-state StateBlock. The mixed-state StateBlock can either be specified by the user (allowing use as a sub-model), or created by the Mixer.
When being used as a sub-model, Mixer should only be used when a set of new StateBlocks are required for the streams to be mixed. It should not be used to mix streams from mutiple ControlVolumes in a single unit model - in these cases the unit model developer should write their own mixing equations.
-
add_energy_mixing_equations
(inlet_blocks, mixed_block)[source] Add energy mixing equations (total enthalpy balance).
-
add_inlet_state_blocks
(inlet_list)[source] Construct StateBlocks for all inlet streams.
Parameters: of strings to use as StateBlock names (list) – Returns: list of StateBlocks
-
add_material_mixing_equations
(inlet_blocks, mixed_block)[source] Add material mixing equations.
-
add_mixed_state_block
()[source] Constructs StateBlock to represent mixed stream.
Returns: New StateBlock object
-
add_port_objects
(inlet_list, inlet_blocks, mixed_block)[source] Adds Port objects if required.
Parameters: - list of inlet StateBlock objects (a) –
- mixed state StateBlock object (a) –
Returns: None
-
add_pressure_equality_equations
(inlet_blocks, mixed_block)[source] Add pressure equality equations. Note that this writes a number of constraints equal to the number of inlets, enforcing equality between all inlets and the mixed stream.
-
add_pressure_minimization_equations
(inlet_blocks, mixed_block)[source] Add pressure minimization equations. This is done by sequential comparisons of each inlet to the minimum pressure so far, using the IDAES smooth minimum fuction.
-
build
()[source] General build method for MixerData. This method calls a number of sub-methods which automate the construction of expected attributes of unit models.
Inheriting models should call super().build.
Parameters: None – Returns: None
-
create_inlet_list
()[source] Create list of inlet stream names based on config arguments.
Returns: list of strings
-
get_mixed_state_block
()[source] Validates StateBlock provided in user arguments for mixed stream.
Returns: The user-provided StateBlock or an Exception
-
initialize
(outlvl=0, optarg={}, solver='ipopt', hold_state=False)[source] Initialisation routine for mixer (default solver ipopt)
Keyword Arguments: - outlvl – sets output level of initialisation routine. Valid values: 0 - no output (default), 1 - return solver state for each step in routine, 2 - include solver output infomation (tee=True)
- optarg – solver options dictionary object (default={})
- solver – str indicating whcih solver to use during initialization (default = ‘ipopt’)
- hold_state – flag indicating whether the initialization routine should unfix any state variables fixed during initialization, default - False. Valid values: True - states variables are not unfixed, and a dict of returned containing flags for which states were fixed during initialization, False - state variables are unfixed after initialization by calling the release_state method.
Returns: If hold_states is True, returns a dict containing flags for which states were fixed during initialization.
-
model_check
()[source] This method executes the model_check methods on the associated state blocks (if they exist). This method is generally called by a unit model as part of the unit’s model_check method.
Parameters: None – Returns: None
-
release_state
(flags, outlvl=0)[source] Method to release state variables fixed during initialisation.
Keyword Arguments: - flags – dict containing information of which state variables were fixed during initialization, and should now be unfixed. This dict is returned by initialize if hold_state = True.
- outlvl – sets output level of logging
Returns: None
-
use_equal_pressure_constraint
()[source] Deactivate the mixer pressure = mimimum inlet pressure constraint and activate the mixer pressure and all inlet pressures are equal constraints. This should only be used when momentum_mixing_type == MomentumMixingType.minimize_and_equality.
-
use_minimum_inlet_pressure_constraint
()[source] Activate the mixer pressure = mimimum inlet pressure constraint and deactivate the mixer pressure and all inlet pressures are equal constraints. This should only be used when momentum_mixing_type == MomentumMixingType.minimize_and_equality.
-
-
class
idaes.unit_models.mixer.
MixingType
[source] An enumeration.
-
class
idaes.unit_models.mixer.
MomentumMixingType
[source] An enumeration.
idaes.unit_models.plug_flow_reactor module¶
Standard IDAES PFR model.
-
class
idaes.unit_models.plug_flow_reactor.
PFR
(*args, **kwargs) Parameters: - rule (function) – A rule function or None. Default rule calls build().
- concrete (bool) – If True, make this a toplevel model. Default - False.
- ctype (str) – Pyomo ctype of the block. Default - “Block”
- default (dict) –
Default ProcessBlockData config
- Keys
- dynamic
- Indicates whether this model will be dynamic or not, default = useDefault. Valid values: { useDefault - get flag from parent (default = False), True - set as a dynamic model, False - set as a steady-state model.}
- has_holdup
- Indicates whether holdup terms should be constructed or not. Must be True if dynamic = True, default - False. Valid values: { True - construct holdup terms, False - do not construct holdup terms}
- material_balance_type
- Indicates what type of mass balance should be constructed, default - MaterialBalanceType.componentPhase. Valid values: { MaterialBalanceType.none - exclude material balances, MaterialBalanceType.componentPhase - use phase component balances, MaterialBalanceType.componentTotal - use total component balances, MaterialBalanceType.elementTotal - use total element balances, MaterialBalanceType.total - use total material balance.}
- energy_balance_type
- Indicates what type of energy balance should be constructed, default - EnergyBalanceType.enthalpyTotal. Valid values: { EnergyBalanceType.none - exclude energy balances, EnergyBalanceType.enthalpyTotal - single enthalpy balance for material, EnergyBalanceType.enthalpyPhase - enthalpy balances for each phase, EnergyBalanceType.energyTotal - single energy balance for material, EnergyBalanceType.energyPhase - energy balances for each phase.}
- momentum_balance_type
- Indicates what type of momentum balance should be constructed, default - MomentumBalanceType.pressureTotal. Valid values: { MomentumBalanceType.none - exclude momentum balances, MomentumBalanceType.pressureTotal - single pressure balance for material, MomentumBalanceType.pressurePhase - pressure balances for each phase, MomentumBalanceType.momentumTotal - single momentum balance for material, MomentumBalanceType.momentumPhase - momentum balances for each phase.}
- has_equilibrium_reactions
- Indicates whether terms for equilibrium controlled reactions should be constructed, default - True. Valid values: { True - include equilibrium reaction terms, False - exclude equilibrium reaction terms.}
- has_phase_equilibrium
- Indicates whether terms for phase equilibrium should be constructed, default = False. Valid values: { True - include phase equilibrium terms False - exclude phase equilibrium terms.}
- has_heat_of_reaction
- Indicates whether terms for heat of reaction terms should be constructed, default - False. Valid values: { True - include heat of reaction terms, False - exclude heat of reaction terms.}
- has_heat_transfer
- Indicates whether terms for heat transfer should be constructed, default - False. Valid values: { True - include heat transfer terms, False - exclude heat transfer terms.}
- has_pressure_change
- Indicates whether terms for pressure change should be constructed, default - False. Valid values: { True - include pressure change terms, False - exclude pressure change terms.}
- property_package
- Property parameter object used to define property calculations, default - useDefault. Valid values: { useDefault - use default package from parent model or flowsheet, PropertyParameterObject - a PropertyParameterBlock object.}
- property_package_args
- A ConfigBlock with arguments to be passed to a property block(s) and used when constructing these, default - None. Valid values: { see property package for documentation.}
- reaction_package
- Reaction parameter object used to define reaction calculations, default - None. Valid values: { None - no reaction package, ReactionParameterBlock - a ReactionParameterBlock object.}
- reaction_package_args
- A ConfigBlock with arguments to be passed to a reaction block(s) and used when constructing these, default - None. Valid values: { see reaction package for documentation.}
- length_domain_set
- A list of values to be used when constructing the length domain of the reactor. Point must lie between 0.0 and 1.0, default - [0.0, 1.0]. Valid values: { a list of floats}
- transformation_method
- Method to use to transform domain. Must be a method recognised by the Pyomo TransformationFactory, default - “dae.finite_difference”.
- transformation_scheme
- Scheme to use when transformating domain. See Pyomo documentation for supported schemes, default - “BACKWARD”.
- finite_elements
- Number of finite elements to use when transforming length domain, default - 20.
- collocation_points
- Number of collocation points to use when transforming length domain, default - 3.
- initialize (dict) – ProcessBlockData config for individual elements. Keys are BlockData indexes and values are dictionaries described under the “default” argument above.
- idx_map (function) – Function to take the index of a BlockData element and return the index in the initialize dict from which to read arguments. This can be provided to overide the default behavior of matching the BlockData index exactly to the index in initialize.
Returns: (PFR) New instance
idaes.unit_models.pressure_changer module¶
Standard IDAES pressure changer model.
-
class
idaes.unit_models.pressure_changer.
PressureChanger
(*args, **kwargs) Parameters: - rule (function) – A rule function or None. Default rule calls build().
- concrete (bool) – If True, make this a toplevel model. Default - False.
- ctype (str) – Pyomo ctype of the block. Default - “Block”
- default (dict) –
Default ProcessBlockData config
- Keys
- dynamic
- Indicates whether this model will be dynamic or not, default = useDefault. Valid values: { useDefault - get flag from parent (default = False), True - set as a dynamic model, False - set as a steady-state model.}
- has_holdup
- Indicates whether holdup terms should be constructed or not. Must be True if dynamic = True, default - False. Valid values: { True - construct holdup terms, False - do not construct holdup terms}
- material_balance_type
- Indicates what type of mass balance should be constructed, default - MaterialBalanceType.componentPhase. Valid values: { MaterialBalanceType.none - exclude material balances, MaterialBalanceType.componentPhase - use phase component balances, MaterialBalanceType.componentTotal - use total component balances, MaterialBalanceType.elementTotal - use total element balances, MaterialBalanceType.total - use total material balance.}
- energy_balance_type
- Indicates what type of energy balance should be constructed, default - EnergyBalanceType.enthalpyTotal. Valid values: { EnergyBalanceType.none - exclude energy balances, EnergyBalanceType.enthalpyTotal - single enthalpy balance for material, EnergyBalanceType.enthalpyPhase - enthalpy balances for each phase, EnergyBalanceType.energyTotal - single energy balance for material, EnergyBalanceType.energyPhase - energy balances for each phase.}
- momentum_balance_type
- Indicates what type of momentum balance should be constructed, default - MomentumBalanceType.pressureTotal. Valid values: { MomentumBalanceType.none - exclude momentum balances, MomentumBalanceType.pressureTotal - single pressure balance for material, MomentumBalanceType.pressurePhase - pressure balances for each phase, MomentumBalanceType.momentumTotal - single momentum balance for material, MomentumBalanceType.momentumPhase - momentum balances for each phase.}
- has_phase_equilibrium
- Indicates whether terms for phase equilibrium should be constructed, default = False. Valid values: { True - include phase equilibrium terms False - exclude phase equilibrium terms.}
- compressor
- Indicates whether this unit should be considered a compressor (True (default), pressure increase) or an expander (False, pressure decrease).
- thermodynamic_assumption
- Flag to set the thermodynamic assumption to use for the unit. - ThermodynamicAssumption.isothermal (default) - ThermodynamicAssumption.isentropic - ThermodynamicAssumption.pump - ThermodynamicAssumption.adiabatic
- property_package
- Property parameter object used to define property calculations, default - useDefault. Valid values: { useDefault - use default package from parent model or flowsheet, PropertyParameterObject - a PropertyParameterBlock object.}
- property_package_args
- A ConfigBlock with arguments to be passed to a property block(s) and used when constructing these, default - None. Valid values: { see property package for documentation.}
- initialize (dict) – ProcessBlockData config for individual elements. Keys are BlockData indexes and values are dictionaries described under the “default” argument above.
- idx_map (function) – Function to take the index of a BlockData element and return the index in the initialize dict from which to read arguments. This can be provided to overide the default behavior of matching the BlockData index exactly to the index in initialize.
Returns: (PressureChanger) New instance
-
class
idaes.unit_models.pressure_changer.
PressureChangerData
(component)[source] Standard Compressor/Expander Unit Model Class
-
add_adiabatic
()[source] Add constraints for adiabatic assumption.
Parameters: None – Returns: None
-
add_isentropic
()[source] Add constraints for isentropic assumption.
Parameters: None – Returns: None
-
add_isothermal
()[source] Add constraints for isothermal assumption.
Parameters: None – Returns: None
-
add_performance
()[source] Define constraints which describe the behaviour of the unit model.
Parameters: None – Returns: None
-
add_pump
()[source] Add constraints for the incompressible fluid assumption
Parameters: None – Returns: None
-
build
()[source] Parameters: None – Returns: None
-
init_isentropic
(state_args, outlvl, solver, optarg)[source] Initialisation routine for unit (default solver ipopt)
Keyword Arguments: - state_args – a dict of arguments to be passed to the property package(s) to provide an initial state for initialization (see documentation of the specific property package) (default = {}).
- outlvl –
sets output level of initialisation routine
- 0 = no output (default)
- 1 = return solver state for each step in routine
- 2 = return solver state for each step in subroutines
- 3 = include solver output infomation (tee=True)
- optarg – solver options dictionary object (default={‘tol’: 1e-6})
- solver – str indicating whcih solver to use during initialization (default = ‘ipopt’)
Returns: None
-
initialize
(state_args={}, routine=None, outlvl=0, solver='ipopt', optarg={'tol': 1e-06})[source] General wrapper for pressure changer initialisation routines
Keyword Arguments: - routine – str stating which initialization routine to execute * None - use routine matching thermodynamic_assumption * ‘isentropic’ - use isentropic initialization routine * ‘isothermal’ - use isothermal initialization routine
- state_args – a dict of arguments to be passed to the property package(s) to provide an initial state for initialization (see documentation of the specific property package) (default = {}).
- outlvl –
sets output level of initialisation routine
- 0 = no output (default)
- 1 = return solver state for each step in routine
- 2 = return solver state for each step in subroutines
- 3 = include solver output infomation (tee=True)
- optarg – solver options dictionary object (default={‘tol’: 1e-6})
- solver – str indicating whcih solver to use during initialization (default = ‘ipopt’)
Returns: None
-
model_check
()[source] Check that pressure change matches with compressor argument (i.e. if compressor = True, pressure should increase or work should be positive)
Parameters: None – Returns: None
-
set_geometry
()[source] Define the geometry of the unit as necessary, and link to control volume
Parameters: None – Returns: None
-
-
class
idaes.unit_models.pressure_changer.
ThermodynamicAssumption
[source] An enumeration.
idaes.unit_models.product module¶
Standard IDAES Product block.
-
class
idaes.unit_models.product.
Product
(*args, **kwargs) Parameters: - rule (function) – A rule function or None. Default rule calls build().
- concrete (bool) – If True, make this a toplevel model. Default - False.
- ctype (str) – Pyomo ctype of the block. Default - “Block”
- default (dict) –
Default ProcessBlockData config
- Keys
- dynamic
- Indicates whether this model will be dynamic or not, default = False. Product blocks are always steady- state.
- has_holdup
- Product blocks do not contain holdup, thus this must be False.
- property_package
- Property parameter object used to define property calculations, default - useDefault. Valid values: { useDefault - use default package from parent model or flowsheet, PhysicalParameterObject - a PhysicalParameterBlock object.}
- property_package_args
- A ConfigBlock with arguments to be passed to a property block(s) and used when constructing these, default - None. Valid values: { see property package for documentation.}
- initialize (dict) – ProcessBlockData config for individual elements. Keys are BlockData indexes and values are dictionaries described under the “default” argument above.
- idx_map (function) – Function to take the index of a BlockData element and return the index in the initialize dict from which to read arguments. This can be provided to overide the default behavior of matching the BlockData index exactly to the index in initialize.
Returns: (Product) New instance
-
class
idaes.unit_models.product.
ProductData
(component)[source] Standard Product Block Class
-
build
()[source] Begin building model.
Parameters: None – Returns: None
-
initialize
(state_args={}, outlvl=0, solver='ipopt', optarg={'tol': 1e-06})[source] This method calls the initialization method of the state block.
Keyword Arguments: - state_args – a dict of arguments to be passed to the property package(s) to provide an initial state for initialization (see documentation of the specific property package) (default = {}).
- outlvl –
sets output level of initialisation routine
- 0 = no output (default)
- 1 = return solver state for each step in routine
- 2 = return solver state for each step in subroutines
- 3 = include solver output infomation (tee=True)
- optarg – solver options dictionary object (default={‘tol’: 1e-6})
- solver – str indicating which solver to use during initialization (default = ‘ipopt’)
Returns: None
-
idaes.unit_models.separator module¶
General purpose separator block for IDAES models
-
class
idaes.unit_models.separator.
EnergySplittingType
[source] An enumeration.
-
class
idaes.unit_models.separator.
Separator
(*args, **kwargs) Parameters: - rule (function) – A rule function or None. Default rule calls build().
- concrete (bool) – If True, make this a toplevel model. Default - False.
- ctype (str) – Pyomo ctype of the block. Default - “Block”
- default (dict) –
Default ProcessBlockData config
- Keys
- dynamic
- Indicates whether this model will be dynamic or not, default = False. Product blocks are always steady- state.
- has_holdup
- Product blocks do not contain holdup, thus this must be False.
- property_package
- Property parameter object used to define property calculations, default - useDefault. Valid values: { useDefault - use default package from parent model or flowsheet, PropertyParameterObject - a PropertyParameterBlock object.}
- property_package_args
- A ConfigBlock with arguments to be passed to a property block(s) and used when constructing these, default - None. Valid values: { see property package for documentation.}
- outlet_list
- A list containing names of outlets, default - None. Valid values: { None - use num_outlets argument, list - a list of names to use for outlets.}
- num_outlets
- Argument indicating number (int) of outlets to construct, not used if outlet_list arg is provided, default - None. Valid values: { None - use outlet_list arg instead, or default to 2 if neither argument provided, int - number of outlets to create (will be named with sequential integers from 1 to num_outlets).}
- split_basis
- Argument indicating basis to use for splitting mixed stream, default - SplittingType.totalFlow. Valid values: { SplittingType.totalFlow - split based on total flow (split fraction indexed only by time and outlet), SplittingType.phaseFlow - split based on phase flows (split fraction indexed by time, outlet and phase), SplittingType.componentFlow - split based on component flows (split fraction indexed by time, outlet and components), SplittingType.phaseComponentFlow - split based on phase-component flows ( split fraction indexed by both time, outlet, phase and components).}
- material_balance_type
- Indicates what type of mass balance should be constructed. Only used if ideal_separation = False. default - MaterialBalanceType.componentPhase. Valid values: { MaterialBalanceType.none - exclude material balances, MaterialBalanceType.componentPhase - use phase component balances, MaterialBalanceType.componentTotal - use total component balances, MaterialBalanceType.elementTotal - use total element balances, MaterialBalanceType.total - use total material balance.}
- has_phase_equilibrium
- Argument indicating whether phase equilibrium should be calculated for the resulting mixed stream, default - False. Valid values: { True - calculate phase equilibrium in mixed stream, False - do not calculate equilibrium in mixed stream.}
- energy_split_basis
- Argument indicating basis to use for splitting energy this is not used for when ideal_separation == True. default - EnergySplittingType.equal_temperature. Valid values: { EnergySplittingType.equal_temperature - outlet temperatures equal inlet EnergySplittingType.equal_molar_enthalpy - oulet molar enthalpies equal inlet, EnergySplittingType.enthalpy_split - apply split fractions to enthalpy flows. Does not work with component or phase-component splitting.}
- ideal_separation
- Argument indicating whether ideal splitting should be used. Ideal splitting assumes perfect spearation of material, and attempts to avoid duplication of StateBlocks by directly partitioning outlet flows to ports, default - True. Valid values: { True - use ideal splitting methods. Cannot be combined with has_phase_equilibrium = True, False - use explicit splitting equations with split fractions.}
- ideal_split_map
- Dictionary containing information on how extensive variables should be partitioned when using ideal splitting (ideal_separation = True). default - None. Valid values: { dict with keys of indexing set members and values indicating which outlet this combination of keys should be partitioned to. E.g. {(“Vap”, “H2”): “outlet_1”}}
- mixed_state_block
- An existing state block to use as the source stream from the Separator block, default - None. Valid values: { None - create a new StateBlock for the mixed stream, StateBlock - a StateBock to use as the source for the mixed stream.}
- construct_ports
- Argument indicating whether model should construct Port objects linked the mixed state and all outlet states, default - True. Valid values: { True - construct Ports for all states, False - do not construct Ports.
- initialize (dict) – ProcessBlockData config for individual elements. Keys are BlockData indexes and values are dictionaries described under the “default” argument above.
- idx_map (function) – Function to take the index of a BlockData element and return the index in the initialize dict from which to read arguments. This can be provided to overide the default behavior of matching the BlockData index exactly to the index in initialize.
Returns: (Separator) New instance
-
class
idaes.unit_models.separator.
SeparatorData
(component)[source] This is a general purpose model for a Separator block with the IDAES modeling framework. This block can be used either as a stand-alone Separator unit operation, or as a sub-model within another unit operation.
This model creates a number of StateBlocks to represent the outgoing streams, then writes a set of phase-component material balances, an overall enthalpy balance (2 options), and a momentum balance (2 options) linked to a mixed-state StateBlock. The mixed-state StateBlock can either be specified by the user (allowing use as a sub-model), or created by the Separator.
When being used as a sub-model, Separator should only be used when a set of new StateBlocks are required for the streams to be separated. It should not be used to separate streams to go to mutiple ControlVolumes in a single unit model - in these cases the unit model developer should write their own splitting equations.
-
add_energy_splitting_constraints
(mixed_block)[source] Creates constraints for splitting the energy flows - done by equating temperatures in outlets.
-
add_inlet_port_objects
(mixed_block)[source] Adds inlet Port object if required.
Parameters: mixed state StateBlock object (a) – Returns: None
-
add_material_splitting_constraints
(mixed_block)[source] Creates constraints for splitting the material flows
-
add_mixed_state_block
()[source] Constructs StateBlock to represent mixed stream.
Returns: New StateBlock object
-
add_momentum_splitting_constraints
(mixed_block)[source] Creates constraints for splitting the momentum flows - done by equating pressures in outlets.
-
add_outlet_port_objects
(outlet_list, outlet_blocks)[source] Adds outlet Port objects if required.
Parameters: list of outlet StateBlock objects (a) – Returns: None
-
add_outlet_state_blocks
(outlet_list)[source] Construct StateBlocks for all outlet streams.
Parameters: of strings to use as StateBlock names (list) – Returns: list of StateBlocks
-
add_split_fractions
(outlet_list)[source] Creates outlet Port objects and tries to partiton mixed stream flows between these
Parameters: - representing the mixed flow to be split (StateBlock) –
- list of names for outlets (a) –
Returns: None
-
build
()[source] General build method for SeparatorData. This method calls a number of sub-methods which automate the construction of expected attributes of unit models.
Inheriting models should call super().build.
Parameters: None – Returns: None
-
create_outlet_list
()[source] Create list of outlet stream names based on config arguments.
Returns: list of strings
-
get_mixed_state_block
()[source] Validates StateBlock provided in user arguments for mixed stream.
Returns: The user-provided StateBlock or an Exception
-
initialize
(outlvl=0, optarg={}, solver='ipopt', hold_state=False)[source] Initialisation routine for separator (default solver ipopt)
Keyword Arguments: - outlvl – sets output level of initialisation routine. Valid values: 0 - no output (default), 1 - return solver state for each step in routine, 2 - include solver output infomation (tee=True)
- optarg – solver options dictionary object (default=None)
- solver – str indicating whcih solver to use during initialization (default = ‘ipopt’)
- hold_state – flag indicating whether the initialization routine should unfix any state variables fixed during initialization, default - False. Valid values: True - states variables are not unfixed, and a dict of returned containing flags for which states were fixed during initialization, False - state variables are unfixed after initialization by calling the release_state method.
Returns: If hold_states is True, returns a dict containing flags for which states were fixed during initialization.
-
model_check
()[source] This method executes the model_check methods on the associated state blocks (if they exist). This method is generally called by a unit model as part of the unit’s model_check method.
Parameters: None – Returns: None
-
partition_outlet_flows
(mb, outlet_list)[source] Creates outlet Port objects and tries to partiton mixed stream flows between these
Parameters: - representing the mixed flow to be split (StateBlock) –
- list of names for outlets (a) –
Returns: None
-
release_state
(flags, outlvl=0)[source] Method to release state variables fixed during initialisation.
Keyword Arguments: - flags – dict containing information of which state variables were fixed during initialization, and should now be unfixed. This dict is returned by initialize if hold_state = True.
- outlvl – sets output level of logging
Returns: None
-
-
class
idaes.unit_models.separator.
SplittingType
[source] An enumeration.
idaes.unit_models.statejunction module¶
Standard IDAES StateJunction model.
-
class
idaes.unit_models.statejunction.
StateJunction
(*args, **kwargs) Parameters: - rule (function) – A rule function or None. Default rule calls build().
- concrete (bool) – If True, make this a toplevel model. Default - False.
- ctype (str) – Pyomo ctype of the block. Default - “Block”
- default (dict) –
Default ProcessBlockData config
- Keys
- dynamic
- Indicates whether this unit will be dynamic or not, default = False.
- has_holdup
- Indicates whether holdup terms should be constructed or not. default - False. StateJunctions do not have defined volume, thus this must be False.
- property_package
- Property parameter object used to define property state block, default - useDefault. Valid values: { useDefault - use default package from parent model or flowsheet, PhysicalParameterObject - a PhysicalParameterBlock object.}
- property_package_args
- A ConfigBlock with arguments to be passed to a property block(s) and used when constructing these, default - None. Valid values: { see property package for documentation.}
- initialize (dict) – ProcessBlockData config for individual elements. Keys are BlockData indexes and values are dictionaries described under the “default” argument above.
- idx_map (function) – Function to take the index of a BlockData element and return the index in the initialize dict from which to read arguments. This can be provided to overide the default behavior of matching the BlockData index exactly to the index in initialize.
Returns: (StateJunction) New instance
-
class
idaes.unit_models.statejunction.
StateJunctionData
(component)[source] Standard StateJunction Unit Model Class
-
build
()[source] Begin building model. :param None:
Returns: None
-
initialize
(state_args={}, outlvl=0, solver='ipopt', optarg={'tol': 1e-06})[source] This method initializes the StateJunction block by calling the initialize method on the property block.
Keyword Arguments: - state_args – a dict of arguments to be passed to the property package(s) to provide an initial state for initialization (see documentation of the specific property package) (default = {}).
- outlvl –
sets output level of initialisation routine
- 0 = no output (default)
- 1 = return solver state for each step in routine
- 2 = return solver state for each step in subroutines
- 3 = include solver output infomation (tee=True)
- optarg – solver options dictionary object (default={‘tol’: 1e-6})
- solver – str indicating which solver to use during initialization (default = ‘ipopt’)
Returns: None
-
idaes.unit_models.stoichiometric_reactor module¶
Standard IDAES STOICHIOMETRIC reactor model
-
class
idaes.unit_models.stoichiometric_reactor.
StoichiometricReactor
(*args, **kwargs) Parameters: - rule (function) – A rule function or None. Default rule calls build().
- concrete (bool) – If True, make this a toplevel model. Default - False.
- ctype (str) – Pyomo ctype of the block. Default - “Block”
- default (dict) –
Default ProcessBlockData config
- Keys
- dynamic
- Indicates whether this model will be dynamic or not, default = useDefault. Valid values: { useDefault - get flag from parent (default = False), True - set as a dynamic model, False - set as a steady-state model.}
- has_holdup
- Indicates whether holdup terms should be constructed or not. Must be True if dynamic = True, default - False. Valid values: { True - construct holdup terms, False - do not construct holdup terms}
- material_balance_type
- Indicates what type of mass balance should be constructed, default - MaterialBalanceType.componentPhase. Valid values: { MaterialBalanceType.none - exclude material balances, MaterialBalanceType.componentPhase - use phase component balances, MaterialBalanceType.componentTotal - use total component balances, MaterialBalanceType.elementTotal - use total element balances, MaterialBalanceType.total - use total material balance.}
- energy_balance_type
- Indicates what type of energy balance should be constructed, default - EnergyBalanceType.enthalpyTotal. Valid values: { EnergyBalanceType.none - exclude energy balances, EnergyBalanceType.enthalpyTotal - single enthalpy balance for material, EnergyBalanceType.enthalpyPhase - enthalpy balances for each phase, EnergyBalanceType.energyTotal - single energy balance for material, EnergyBalanceType.energyPhase - energy balances for each phase.}
- momentum_balance_type
- Indicates what type of momentum balance should be constructed, default - MomentumBalanceType.pressureTotal. Valid values: { MomentumBalanceType.none - exclude momentum balances, MomentumBalanceType.pressureTotal - single pressure balance for material, MomentumBalanceType.pressurePhase - pressure balances for each phase, MomentumBalanceType.momentumTotal - single momentum balance for material, MomentumBalanceType.momentumPhase - momentum balances for each phase.}
- has_heat_of_reaction
- Indicates whether terms for heat of reaction terms should be constructed, default - False. Valid values: { True - include heat of reaction terms, False - exclude heat of reaction terms.}
- has_heat_transfer
- Indicates whether terms for heat transfer should be constructed, default - False. Valid values: { True - include heat transfer terms, False - exclude heat transfer terms.}
- has_pressure_change
- Indicates whether terms for pressure change should be constructed, default - False. Valid values: { True - include pressure change terms, False - exclude pressure change terms.}
- property_package
- Property parameter object used to define property calculations, default - useDefault. Valid values: { useDefault - use default package from parent model or flowsheet, PropertyParameterObject - a PropertyParameterBlock object.}
- property_package_args
- A ConfigBlock with arguments to be passed to a property block(s) and used when constructing these, default - None. Valid values: { see property package for documentation.}
- reaction_package
- Reaction parameter object used to define reaction calculations, default - None. Valid values: { None - no reaction package, ReactionParameterBlock - a ReactionParameterBlock object.}
- reaction_package_args
- A ConfigBlock with arguments to be passed to a reaction block(s) and used when constructing these, default - None. Valid values: { see reaction package for documentation.}
- initialize (dict) – ProcessBlockData config for individual elements. Keys are BlockData indexes and values are dictionaries described under the “default” argument above.
- idx_map (function) – Function to take the index of a BlockData element and return the index in the initialize dict from which to read arguments. This can be provided to overide the default behavior of matching the BlockData index exactly to the index in initialize.
Returns: (StoichiometricReactor) New instance
-
class
idaes.unit_models.stoichiometric_reactor.
StoichiometricReactorData
(component)[source] Standard Stoichiometric Reactor Unit Model Class This model assumes that all given reactions are irreversible, and that each reaction has a fixed rate_reaction extent which has to be specified by the user.
-
build
()[source] Begin building model (pre-DAE transformation). :param None:
Returns: None
-
idaes.unit_models.translator module¶
Generic template for a translator block.
-
class
idaes.unit_models.translator.
Translator
(*args, **kwargs) Parameters: - rule (function) – A rule function or None. Default rule calls build().
- concrete (bool) – If True, make this a toplevel model. Default - False.
- ctype (str) – Pyomo ctype of the block. Default - “Block”
- default (dict) –
Default ProcessBlockData config
- Keys
- dynamic
- Translator blocks are always steady-state.
- has_holdup
- Translator blocks do not contain holdup.
- outlet_state_defined
- Indicates whether unit model will fully define outlet state. If False, the outlet property package will enforce constraints such as sum of mole fractions and phase equilibrium. default - True. Valid values: { True - outlet state will be fully defined, False - outlet property package should enforce sumation and equilibrium constraints.}
- has_phase_equilibrium
- Indicates whether outlet property package should enforce phase equilibrium constraints. default - False. Valid values: { True - outlet property package should calculate phase equilibrium, False - outlet property package should notcalculate phase equilibrium.}
- inlet_property_package
- Property parameter object used to define property calculations for the incoming stream, default - None. Valid values: { PhysicalParameterObject - a PhysicalParameterBlock object.}
- inlet_property_package_args
- A ConfigBlock with arguments to be passed to the property block associated with the incoming stream, default - None. Valid values: { see property package for documentation.}
- outlet_property_package
- Property parameter object used to define property calculations for the outgoing stream, default - None. Valid values: { PhysicalParameterObject - a PhysicalParameterBlock object.}
- outlet_property_package_args
- A ConfigBlock with arguments to be passed to the property block associated with the outgoing stream, default - None. Valid values: { see property package for documentation.}
- initialize (dict) – ProcessBlockData config for individual elements. Keys are BlockData indexes and values are dictionaries described under the “default” argument above.
- idx_map (function) – Function to take the index of a BlockData element and return the index in the initialize dict from which to read arguments. This can be provided to overide the default behavior of matching the BlockData index exactly to the index in initialize.
Returns: (Translator) New instance
-
class
idaes.unit_models.translator.
TranslatorData
(component)[source] Standard Translator Block Class
-
build
()[source] Begin building model.
Parameters: None – Returns: None
-
initialize
(state_args_in={}, state_args_out={}, outlvl=0, solver='ipopt', optarg={'tol': 1e-06})[source] This method calls the initialization method of the state blocks.
Keyword Arguments: - state_args_in – a dict of arguments to be passed to the inlet property package (to provide an initial state for initialization (see documentation of the specific property package) (default = {}).
- state_args_out – a dict of arguments to be passed to the outlet property package (to provide an initial state for initialization (see documentation of the specific property package) (default = {}).
- outlvl –
sets output level of initialisation routine
- 0 = no output (default)
- 1 = return solver state for each step in routine
- 2 = return solver state for each step in subroutines
- 3 = include solver output infomation (tee=True)
- optarg – solver options dictionary object (default={‘tol’: 1e-6})
- solver – str indicating which solver to use during initialization (default = ‘ipopt’)
Returns: None
-