idaes.models package

Submodules

idaes.models.cstr module

Standard IDAES CSTR model.

class idaes.models.cstr.CSTR(*args, **kwargs)

Bases: idaes.core.process_block.ProcessBlock

Parameters:
  • rule – (Optional) A rule function or None. Default rule calls build().
  • concrete – If True, make this a toplevel model. Default - False.
  • ctype – (Optional) Pyomo ctype of the Block.
  • dynamic – Indicates whether this model will be dynamic, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent, True - set as a dynamic model, False - set as a steady-state model}
  • include_holdup – Indicates whether holdup terms should be constructed or not. Must be True if dynamic = True, default - ‘use_parent_value’. Valid values: { ‘use_parent_value` - get flag from parent (default = True), True - construct holdup terms, False - do not construct holdup terms}
  • material_balance_type – Indicates what type of mass balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘component’), ‘none’ - exclude material balances, **’component_phase’ - use phase component balances, **’component_total’ - use total component balances, **’element_total’ - use total element balances.}
  • energy_balance_type – Indicates what type of energy balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘enthalpy_total’), ‘none’ - exclude energy balances, ‘enthalpy_total’ - single ethalpy balance for material.}
  • momentum_balance_type – Indicates what type of momentum balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘pressure’), ‘none’ - exclude momentum balances, ‘pressure’ - single pressure balance for material.}
  • has_rate_reactions – Indicates whether terms for rate controlled reactions should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include kinetic reaction terms, False - exclude kinetic reaction terms.}
  • has_equilibrium_reactions – Indicates whether terms for equilibrium controlled reactions should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include equilibrium reaction terms, False - exclude equilibrium reaction terms.}
  • has_phase_equilibrium – Indicates whether terms for phase equilibrium should be
constructed (default = ‘use_parent_value’)
  • ‘use_parent_value’ - get flag from parent (default = False)
  • True - include phase equilibrium terms
  • False - exclude phase equilibrium terms
has_mass_transfer: Indicates whether terms for mass transfer should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include mass transfer terms, False - exclude mass transfer terms.}
has_heat_transfer: Indicates whether terms for heat transfer should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include heat transfer terms, False - exclude heat transfer terms.}
has_work_transfer: Indicates whether terms for work transfer should be constructed,
default - ‘use_parent_value’. Valid values { ‘use_parent_value’ - get flag from parent (default = False), True - include work transfer terms, False - exclude work transfer terms.}
has_pressure_change: Indicates whether terms for pressure change should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include pressure change terms, False - exclude pressure change terms.}

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)
inlet_list: A list containing names of inlets (default = None) - None - default
single inlet - list - a list of names for inlets

num_inlets: Argument indication number (int) of inlets to construct

(default = None). Not used if inlet_list arg is provided.
  • None - use inlet_list arg instead
  • int - Inlets will be named with sequential numbers from 1
    to num_inlets
outlet_list: A list containing names of outlets (default = None) - None - default
single outlet - list - a list of names for outlets

num_outlets: Argument indication number (int) of outlets to construct

(default = None). Not used if outlet_list arg is provided.
  • None - use outlet_list arg instead
  • int - Outlets will be named with sequential numbers from 1
    to num_outlets
Returns:New CSTR instance
class idaes.models.cstr.CSTRData(component)[source]

Bases: idaes.core.unit_model.UnitBlockData

Standard CSTR Unit Model Class

CONFIG = <pyutilib.misc.config.ConfigBlock object>
build()[source]

Begin building model (pre-DAE transformation).

Parameters:None
Returns:None
post_transform_build()[source]

Continue model construction after DAE transformation.

Parameters:None
Returns:None

idaes.models.equilibrium_reactor module

Standard IDAES Equilibrium Reactor model.

Currently only works a as steady-state model - does a dynamic equilibrium reactor make any sense?

class idaes.models.equilibrium_reactor.EquilibriumReactor(*args, **kwargs)

Bases: idaes.core.process_block.ProcessBlock

Parameters:
  • rule – (Optional) A rule function or None. Default rule calls build().
  • concrete – If True, make this a toplevel model. Default - False.
  • ctype – (Optional) Pyomo ctype of the Block.
  • dynamic – Indicates whether this model will be dynamic, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent, True - set as a dynamic model, False - set as a steady-state model}
  • include_holdup – Indicates whether holdup terms should be constructed or not. Must be True if dynamic = True, default - ‘use_parent_value’. Valid values: { ‘use_parent_value` - get flag from parent (default = True), True - construct holdup terms, False - do not construct holdup terms}
  • material_balance_type – Indicates what type of mass balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘component’), ‘none’ - exclude material balances, **’component_phase’ - use phase component balances, **’component_total’ - use total component balances, **’element_total’ - use total element balances.}
  • energy_balance_type – Indicates what type of energy balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘enthalpy_total’), ‘none’ - exclude energy balances, ‘enthalpy_total’ - single ethalpy balance for material.}
  • momentum_balance_type – Indicates what type of momentum balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘pressure’), ‘none’ - exclude momentum balances, ‘pressure’ - single pressure balance for material.}
  • has_rate_reactions – Indicates whether terms for rate controlled reactions should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include kinetic reaction terms, False - exclude kinetic reaction terms.}
  • has_equilibrium_reactions – Indicates whether terms for equilibrium controlled reactions should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include equilibrium reaction terms, False - exclude equilibrium reaction terms.}
  • has_phase_equilibrium – Indicates whether terms for phase equilibrium should be
constructed (default = ‘use_parent_value’)
  • ‘use_parent_value’ - get flag from parent (default = False)
  • True - include phase equilibrium terms
  • False - exclude phase equilibrium terms
has_mass_transfer: Indicates whether terms for mass transfer should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include mass transfer terms, False - exclude mass transfer terms.}
has_heat_transfer: Indicates whether terms for heat transfer should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include heat transfer terms, False - exclude heat transfer terms.}
has_work_transfer: Indicates whether terms for work transfer should be constructed,
default - ‘use_parent_value’. Valid values { ‘use_parent_value’ - get flag from parent (default = False), True - include work transfer terms, False - exclude work transfer terms.}
has_pressure_change: Indicates whether terms for pressure change should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include pressure change terms, False - exclude pressure change terms.}

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)
inlet_list: A list containing names of inlets (default = None) - None - default
single inlet - list - a list of names for inlets

num_inlets: Argument indication number (int) of inlets to construct

(default = None). Not used if inlet_list arg is provided.
  • None - use inlet_list arg instead
  • int - Inlets will be named with sequential numbers from 1
    to num_inlets
outlet_list: A list containing names of outlets (default = None) - None - default
single outlet - list - a list of names for outlets

num_outlets: Argument indication number (int) of outlets to construct

(default = None). Not used if outlet_list arg is provided.
  • None - use outlet_list arg instead
  • int - Outlets will be named with sequential numbers from 1
    to num_outlets
Returns:New EquilibriumReactor instance
class idaes.models.equilibrium_reactor.EquilibriumReactorData(component)[source]

Bases: idaes.core.unit_model.UnitBlockData

Standard Equilibrium Reactor Unit Model Class

CONFIG = <pyutilib.misc.config.ConfigBlock object>
build()[source]

Begin building model (pre-DAE transformation).

Parameters:None
Returns:None
post_transform_build()[source]

Continue model construction after DAE transformation.

Parameters:None
Returns:None

idaes.models.feed module

Standard IDAES feed block.

class idaes.models.feed.Feed(*args, **kwargs)

Bases: idaes.core.process_block.ProcessBlock

Parameters:
  • rule – (Optional) A rule function or None. Default rule calls build().
  • concrete – If True, make this a toplevel model. Default - False.
  • ctype – (Optional) Pyomo ctype of the Block.
  • dynamic – Indicates whether this model will be dynamic, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent, True - set as a dynamic model, False - set as a steady-state model}
  • include_holdup – Indicates whether holdup terms should be constructed or not. Must be True if dynamic = True, default - ‘use_parent_value’. Valid values: { ‘use_parent_value` - get flag from parent (default = True), True - construct holdup terms, False - do not construct holdup terms}
  • material_balance_type – Indicates what type of mass balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘component’), ‘none’ - exclude material balances, **’component_phase’ - use phase component balances, **’component_total’ - use total component balances, **’element_total’ - use total element balances.}
  • energy_balance_type – Indicates what type of energy balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘enthalpy_total’), ‘none’ - exclude energy balances, ‘enthalpy_total’ - single ethalpy balance for material.}
  • momentum_balance_type – Indicates what type of momentum balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘pressure’), ‘none’ - exclude momentum balances, ‘pressure’ - single pressure balance for material.}
  • has_rate_reactions – Indicates whether terms for rate controlled reactions should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include kinetic reaction terms, False - exclude kinetic reaction terms.}
  • has_equilibrium_reactions – Indicates whether terms for equilibrium controlled reactions should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include equilibrium reaction terms, False - exclude equilibrium reaction terms.}
  • has_phase_equilibrium – Indicates whether terms for phase equilibrium should be
constructed (default = ‘use_parent_value’)
  • ‘use_parent_value’ - get flag from parent (default = False)
  • True - include phase equilibrium terms
  • False - exclude phase equilibrium terms
has_mass_transfer: Indicates whether terms for mass transfer should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include mass transfer terms, False - exclude mass transfer terms.}
has_heat_transfer: Indicates whether terms for heat transfer should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include heat transfer terms, False - exclude heat transfer terms.}
has_work_transfer: Indicates whether terms for work transfer should be constructed,
default - ‘use_parent_value’. Valid values { ‘use_parent_value’ - get flag from parent (default = False), True - include work transfer terms, False - exclude work transfer terms.}
has_pressure_change: Indicates whether terms for pressure change should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include pressure change terms, False - exclude pressure change terms.}

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)
outlet_list: A list containing names of outlets (default = None) - None - default
single outlet - list - a list of names for outlets

num_outlets: Argument indication number (int) of outlets to construct

(default = None). Not used if outlet_list arg is provided.
  • None - use outlet_list arg instead
  • int - Outlets will be named with sequential numbers from 1
    to num_outlets
Returns:New Feed instance
class idaes.models.feed.FeedData(component)[source]

Bases: idaes.core.unit_model.UnitBlockData

Standard Feed Block Class

CONFIG = <pyutilib.misc.config.ConfigBlock object>
build()[source]

Begin building model (pre-DAE transformation).

Parameters:None
Returns:None
display(display_block=False, ostream=None, prefix='')[source]

Display the contents of Feed unit.

Parameters:
  • display_block – indicates whether to display the entire Block
  • object (default = False) –
  • ostream – output stream (default = None)
  • prefix – str to append to each line of output (default = ‘’)
Returns:

None

fix(var, comp=None, value=None, time=None)[source]

Method for fixing Vars in Feed Block.

Parameters:
  • var – variable name to be fixed (as str)
  • comp – index of var to be fixed (if applicable, default = None)
  • value – value to use when fixing var (default = None)
  • time – list of time points at which to fix var (can be float, int
  • list) (or) –
Returns:

None

post_transform_build()[source]

Continue model construction after DAE transformation.

Parameters:None
Returns:None
unfix(var, comp=None, time=None)[source]

Method for unfixing Vars in Feed Block.

Parameters:
  • var – variable name to be unfixed (as str)
  • comp – index of var to be unfixed (if applicable, default = None)
  • time – list of time points at which to unfix var (can be float, int
  • list) (or) –
Returns:

None

idaes.models.flash module

Standard IDAES flash model.

class idaes.models.flash.Flash(*args, **kwargs)

Bases: idaes.core.process_block.ProcessBlock

Parameters:
  • rule – (Optional) A rule function or None. Default rule calls build().
  • concrete – If True, make this a toplevel model. Default - False.
  • ctype – (Optional) Pyomo ctype of the Block.
  • dynamic – Indicates whether this model will be dynamic, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent, True - set as a dynamic model, False - set as a steady-state model}
  • include_holdup – Indicates whether holdup terms should be constructed or not. Must be True if dynamic = True, default - ‘use_parent_value’. Valid values: { ‘use_parent_value` - get flag from parent (default = True), True - construct holdup terms, False - do not construct holdup terms}
  • material_balance_type – Indicates what type of mass balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘component’), ‘none’ - exclude material balances, **’component_phase’ - use phase component balances, **’component_total’ - use total component balances, **’element_total’ - use total element balances.}
  • energy_balance_type – Indicates what type of energy balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘enthalpy_total’), ‘none’ - exclude energy balances, ‘enthalpy_total’ - single ethalpy balance for material.}
  • momentum_balance_type – Indicates what type of momentum balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘pressure’), ‘none’ - exclude momentum balances, ‘pressure’ - single pressure balance for material.}
  • has_rate_reactions – Indicates whether terms for rate controlled reactions should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include kinetic reaction terms, False - exclude kinetic reaction terms.}
  • has_equilibrium_reactions – Indicates whether terms for equilibrium controlled reactions should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include equilibrium reaction terms, False - exclude equilibrium reaction terms.}
  • has_phase_equilibrium – Indicates whether terms for phase equilibrium should be
constructed (default = ‘use_parent_value’)
  • ‘use_parent_value’ - get flag from parent (default = False)
  • True - include phase equilibrium terms
  • False - exclude phase equilibrium terms
has_mass_transfer: Indicates whether terms for mass transfer should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include mass transfer terms, False - exclude mass transfer terms.}
has_heat_transfer: Indicates whether terms for heat transfer should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include heat transfer terms, False - exclude heat transfer terms.}
has_work_transfer: Indicates whether terms for work transfer should be constructed,
default - ‘use_parent_value’. Valid values { ‘use_parent_value’ - get flag from parent (default = False), True - include work transfer terms, False - exclude work transfer terms.}
has_pressure_change: Indicates whether terms for pressure change should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include pressure change terms, False - exclude pressure change terms.}

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)
inlet_list: A list containing names of inlets (default = None) - None - default
single inlet - list - a list of names for inlets

num_inlets: Argument indicating number (int) of inlets to construct

(default = None). Not used if inlet_list arg is provided.
  • None - use inlet_list arg instead
  • int - Inlets will be named with sequential numbers from 1
    to num_inlets
outlet_list: A list containing names of outlets (default = None) - None - default
single outlet - list - a list of names for outlets

num_outlets: Argument indicating number (int) of outlets to construct

(default = None). Not used if outlet_list arg is provided.
  • None - use outlet_list arg instead
  • int - Outlets will be named with sequential numbers from 1
    to num_outlets
outlet_type: Argument indicating whether to use a generic OutletSplitter block
(default) or a direct link to the properties_out block.
energy_split_type: Argument indiciating method to use when splitting material flows
between outlets, default - ‘temperature’. Valid values: { ‘temperature’ - equate temperatures in outlet streams, ‘enth_mol’ - equate specific molar enthalpies in each outlet, ‘enth_mass’ - equate specific mass enthalpies in each outlet, ‘energy_balance’ - split using an energy balance with a split fraction.}
Returns:New Flash instance
class idaes.models.flash.FlashData(component)[source]

Bases: idaes.core.unit_model.UnitBlockData

Standard Flash Unit Model Class

CONFIG = <pyutilib.misc.config.ConfigBlock object>
build()[source]

Begin building model (pre-DAE transformation).

Parameters:None
Returns:None
post_transform_build()[source]

Continue model construction after DAE transformation.

Parameters:None
Returns:None

idaes.models.gibbs_reactor module

Standard IDAES Gibbs reactor model.

class idaes.models.gibbs_reactor.GibbsReactor(*args, **kwargs)

Bases: idaes.core.process_block.ProcessBlock

Parameters:
  • rule – (Optional) A rule function or None. Default rule calls build().
  • concrete – If True, make this a toplevel model. Default - False.
  • ctype – (Optional) Pyomo ctype of the Block.
  • dynamic – Indicates whether this model will be dynamic, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent, True - set as a dynamic model, False - set as a steady-state model}
  • include_holdup – Indicates whether holdup terms should be constructed or not. Must be True if dynamic = True, default - ‘use_parent_value’. Valid values: { ‘use_parent_value` - get flag from parent (default = True), True - construct holdup terms, False - do not construct holdup terms}
  • material_balance_type – Indicates what type of mass balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘component’), ‘none’ - exclude material balances, **’component_phase’ - use phase component balances, **’component_total’ - use total component balances, **’element_total’ - use total element balances.}
  • energy_balance_type – Indicates what type of energy balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘enthalpy_total’), ‘none’ - exclude energy balances, ‘enthalpy_total’ - single ethalpy balance for material.}
  • momentum_balance_type – Indicates what type of momentum balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘pressure’), ‘none’ - exclude momentum balances, ‘pressure’ - single pressure balance for material.}
  • has_rate_reactions – Indicates whether terms for rate controlled reactions should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include kinetic reaction terms, False - exclude kinetic reaction terms.}
  • has_equilibrium_reactions – Indicates whether terms for equilibrium controlled reactions should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include equilibrium reaction terms, False - exclude equilibrium reaction terms.}
  • has_phase_equilibrium – Indicates whether terms for phase equilibrium should be
constructed (default = ‘use_parent_value’)
  • ‘use_parent_value’ - get flag from parent (default = False)
  • True - include phase equilibrium terms
  • False - exclude phase equilibrium terms
has_mass_transfer: Indicates whether terms for mass transfer should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include mass transfer terms, False - exclude mass transfer terms.}
has_heat_transfer: Indicates whether terms for heat transfer should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include heat transfer terms, False - exclude heat transfer terms.}
has_work_transfer: Indicates whether terms for work transfer should be constructed,
default - ‘use_parent_value’. Valid values { ‘use_parent_value’ - get flag from parent (default = False), True - include work transfer terms, False - exclude work transfer terms.}
has_pressure_change: Indicates whether terms for pressure change should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include pressure change terms, False - exclude pressure change terms.}

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)
inlet_list: A list containing names of inlets (default = None) - None - default
single inlet - list - a list of names for inlets

num_inlets: Argument indication number (int) of inlets to construct

(default = None). Not used if inlet_list arg is provided.
  • None - use inlet_list arg instead
  • int - Inlets will be named with sequential numbers from 1
    to num_inlets
outlet_list: A list containing names of outlets (default = None) - None - default
single outlet - list - a list of names for outlets

num_outlets: Argument indication number (int) of outlets to construct

(default = None). Not used if outlet_list arg is provided.
  • None - use outlet_list arg instead
  • int - Outlets will be named with sequential numbers from 1
    to num_outlets
Returns:New GibbsReactor instance
class idaes.models.gibbs_reactor.GibbsReactorData(component)[source]

Bases: idaes.core.unit_model.UnitBlockData

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.

CONFIG = <pyutilib.misc.config.ConfigBlock object>
build()[source]

Begin building model (pre-DAE transformation).

Parameters:None
Returns:None
post_transform_build()[source]

Continue model construction after DAE transformation.

Parameters:None
Returns:None

idaes.models.heat_exchanger module

Standard IDAES heat exchanger model.

class idaes.models.heat_exchanger.HeatExchanger(*args, **kwargs)

Bases: idaes.core.process_block.ProcessBlock

Parameters:
  • rule – (Optional) A rule function or None. Default rule calls build().
  • concrete – If True, make this a toplevel model. Default - False.
  • ctype – (Optional) Pyomo ctype of the Block.
  • dynamic – Indicates whether this model will be dynamic, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent, True - set as a dynamic model, False - set as a steady-state model}
  • include_holdup – Indicates whether holdup terms should be constructed or not. Must be True if dynamic = True, default - ‘use_parent_value’. Valid values: { ‘use_parent_value` - get flag from parent (default = True), True - construct holdup terms, False - do not construct holdup terms}
  • material_balance_type – Indicates what type of mass balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘component’), ‘none’ - exclude material balances, **’component_phase’ - use phase component balances, **’component_total’ - use total component balances, **’element_total’ - use total element balances.}
  • energy_balance_type – Indicates what type of energy balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘enthalpy_total’), ‘none’ - exclude energy balances, ‘enthalpy_total’ - single ethalpy balance for material.}
  • momentum_balance_type – Indicates what type of momentum balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘pressure’), ‘none’ - exclude momentum balances, ‘pressure’ - single pressure balance for material.}
  • has_rate_reactions – Indicates whether terms for rate controlled reactions should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include kinetic reaction terms, False - exclude kinetic reaction terms.}
  • has_equilibrium_reactions – Indicates whether terms for equilibrium controlled reactions should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include equilibrium reaction terms, False - exclude equilibrium reaction terms.}
  • has_phase_equilibrium – Indicates whether terms for phase equilibrium should be
constructed (default = ‘use_parent_value’)
  • ‘use_parent_value’ - get flag from parent (default = False)
  • True - include phase equilibrium terms
  • False - exclude phase equilibrium terms
has_mass_transfer: Indicates whether terms for mass transfer should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include mass transfer terms, False - exclude mass transfer terms.}
has_heat_transfer: Indicates whether terms for heat transfer should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include heat transfer terms, False - exclude heat transfer terms.}
has_work_transfer: Indicates whether terms for work transfer should be constructed,
default - ‘use_parent_value’. Valid values { ‘use_parent_value’ - get flag from parent (default = False), True - include work transfer terms, False - exclude work transfer terms.}
has_pressure_change: Indicates whether terms for pressure change should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include pressure change terms, False - exclude pressure change terms.}

side_1_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

side_1_property_package_args: A dict of arguments to be passed to a property block

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)

side_2_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

side_2_property_package_args: A dict of arguments to be passed to a property block

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)

side_1_inlet_list: A list containing names of inlets for side_1 of heat exchanger

(default = None)
  • None - default single inlet
  • list - a list of names for inlets

side_1_num_inlets: Argument indication number (int) of inlets to construct to

side_1 of heat exchanger (default = None). Not used if side_1_inlet_list arg is provided.

  • None - use side_1_inlet_list arg instead
  • int - Inlets will be named with sequential numbers from 1
    to num_inlets
side_1_outlet_list: A list containing names of outlets for side_1 of heat exchanger
(default = None)
  • None - default single outlet
  • list - a list of names for outlets
side_1_num_outlets: Argument indication number (int) of outlets to construct to

side_1 of heat exchanger (default = None). Not used if side_1_outlet_list arg is provided.

  • None - use side_1_outlet_list arg instead
  • int - Outlets will be named with sequential numbers from 1
    to num_outlets
side_2_inlet_list: A list containing names of inlets for side_2 of heat exchanger
(default = None)
  • None - default single inlet
  • list - a list of names for inlets

side_2_num_inlets: Argument indication number (int) of inlets to construct to

side_2 of heat exchanger (default = None). Not used if side_2_inlet_list arg is provided.

  • None - use side_2_inlet_list arg instead
  • int - Inlets will be named with sequential numbers from 1
    to num_inlets
side_2_outlet_list: A list containing names of outlets for side_2 of heat exchanger
(default = None)
  • None - default single outlet
  • list - a list of names for outlets
side_2_num_outlets: Argument indication number (int) of outlets to construct to

side_2 of heat exchanger (default = None). Not used if side_2_outlet_list arg is provided.

  • None - use side_2_outlet_list arg instead
  • int - Outlets will be named with sequential numbers from 2
    to num_outlets
flow_type: Flag indicating type of flow arrangement to use for heat
exchanger (default = ‘counter-current’)
  • ‘counter-current’ : counter-current flow arrangement
Returns:New HeatExchanger instance
class idaes.models.heat_exchanger.HeatExchangerData(component)[source]

Bases: idaes.core.unit_model.UnitBlockData

Standard Heat Exchanger Unit Model Class

CONFIG = <pyutilib.misc.config.ConfigBlock object>
build()[source]

Begin building model (pre-DAE transformation)

Parameters:None
Returns:None
initialize(state_args_1={}, state_args_2={}, outlvl=0, solver='ipopt', optarg={'tol': 1e-06})[source]

General Heat Exchanger initialisation routine.

Keyword Arguments:
 
  • state_args_1 – a dict of arguments to be passed to the property package(s) for side 1 of the heat exchanger to provide an initial state for initialization (see documentation of the specific property package) (default = {}).
  • state_args_2 – a dict of arguments to be passed to the property package(s) for side 2 of the heat exchanger 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]

Model checks for unit - calls model checks for both Holdup Blocks.

Parameters:None
Returns:None
post_transform_build()[source]

Continue model construction after DAE transformation

Parameters:None
Returns:None

idaes.models.heat_exchanger_1D module

Basic IDAES 1D Heat Exchanger Model.

Single pass shell and tube HX model with 0D/1D wall conduction model

class idaes.models.heat_exchanger_1D.HeatExchanger1D(*args, **kwargs)

Bases: idaes.core.process_block.ProcessBlock

Parameters:
  • rule – (Optional) A rule function or None. Default rule calls build().
  • concrete – If True, make this a toplevel model. Default - False.
  • ctype – (Optional) Pyomo ctype of the Block.
  • dynamic – Indicates whether this model will be dynamic, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent, True - set as a dynamic model, False - set as a steady-state model}
  • include_holdup – Indicates whether holdup terms should be constructed or not. Must be True if dynamic = True, default - ‘use_parent_value’. Valid values: { ‘use_parent_value` - get flag from parent (default = True), True - construct holdup terms, False - do not construct holdup terms}
  • material_balance_type – Indicates what type of mass balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘component’), ‘none’ - exclude material balances, **’component_phase’ - use phase component balances, **’component_total’ - use total component balances, **’element_total’ - use total element balances.}
  • energy_balance_type – Indicates what type of energy balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘enthalpy_total’), ‘none’ - exclude energy balances, ‘enthalpy_total’ - single ethalpy balance for material.}
  • momentum_balance_type – Indicates what type of momentum balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘pressure’), ‘none’ - exclude momentum balances, ‘pressure’ - single pressure balance for material.}
  • has_rate_reactions – Indicates whether terms for rate controlled reactions should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include kinetic reaction terms, False - exclude kinetic reaction terms.}
  • has_equilibrium_reactions – Indicates whether terms for equilibrium controlled reactions should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include equilibrium reaction terms, False - exclude equilibrium reaction terms.}
  • has_mass_transfer – Indicates whether terms for mass transfer should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include mass transfer terms, False - exclude mass transfer terms.}
  • has_heat_transfer – Indicates whether terms for heat transfer should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include heat transfer terms, False - exclude heat transfer terms.}
  • has_work_transfer – Indicates whether terms for work transfer should be constructed, default - ‘use_parent_value’. Valid values { ‘use_parent_value’ - get flag from parent (default = False), True - include work transfer terms, False - exclude work transfer terms.}
  • has_pressure_change – Indicates whether terms for pressure change should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include pressure change terms, False - exclude pressure change terms.}
  • velocity_type – Flag indicating whether velocity should be include in the model default - ‘use_parent_value’. Valid values: { ‘none’ - do not calculate velocity, ‘mixture’ - calculate a single velocity for all phases, ‘phase’ - calculate separate velocities for each phase}
  • shell_has_phase_equilibrium – Argument to enable phase equilibrium on the shell side. - True - include phase equilibrium term - False - do not include phase equilinrium term
  • tube_has_phase_equilibrium – Argument to enable phase equilibrium on the tube side. - True - include phase equilibrium term - False - do not include phase equilinrium term
  • shell_has_mass_diffusion – Flag indicating whether mass diffusion/dispersion should be included in material balance equations (default=False)
  • shell_has_energy_diffusion – Flag indicating whether energy diffusion/dispersion should be included in energy balance equations (default=False)
  • tube_has_mass_diffusion – Flag indicating whether mass diffusion/dispersion should be included in material balance equations (default=False)
  • tube_has_energy_diffusion – Flag indicating whether energy diffusion/dispersion should be included in energy balance equations (default=False)
  • shell_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

shell_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)

tube_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

tube_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)

shell_inlet_list: A list containing names of inlets for shell of heat exchanger

(default = None)
  • None - default single inlet
  • list - a list of names for inlets

shell_num_inlets: Argument indication number (int) of inlets to construct

(default = None). Not used if inlet_list arg is provided.
  • None - use inlet_list arg instead
  • int - Inlets will be named with sequential numbers from 1
    to num_inlets

shell_outlet_list: A list containing names of outlets for shell of heat exchanger

(default = None)
  • None - default single inlet
  • list - a list of names for inlets

shell_num_outlets: Argument indication number (int) of outlets to construct

(default = None). Not used if outlet_list arg is provided.
  • None - use outlet_list arg instead
  • int - Outlets will be named with sequential numbers from 1
    to num_outlets

tube_inlet_list: A list containing names of inlets for tube of heat exchanger

(default = None)
  • None - default single inlet
  • list - a list of names for inlets

tube_num_inlets: Argument indication number (int) of inlets to construct

(default = None). Not used if inlet_list arg is provided.
  • None - use inlet_list arg instead
  • int - Inlets will be named with sequential numbers from 1
    to num_inlets

tube_outlet_list: A list containing names of outlets for tube of heat exchanger

(default = None)
  • None - default single inlet
  • list - a list of names for inlets

tube_num_outlets: Argument indication number (int) of outlets to construct

(default = None). Not used if outlet_list arg is provided.
  • None - use outlet_list arg instead
  • int - Outlets will be named with sequential numbers from 1
    to num_outlets

shell_discretization_method: Method to be used by DAE transformation when discretizing length

domain on shell side (default = OCLR).
  • ‘OCLR’ - orthogonal collocation (Radau roots)
  • ‘OCLL’ - orthogonal collocation (Legendre roots)
  • ‘BFD’ - backwards finite difference (1st order)
  • ‘FFD’ - forwards finite difference (1st order)

tube_discretization_method: Method to be used by DAE transformation when discretizing

length domain on tube side (default = OCLR).

  • ‘OCLR’ - orthogonal collocation (Radau roots)
  • ‘OCLL’ - orthogonal collocation (Legendre roots)
  • ‘BFD’ - backwards finite difference (1st order)
  • ‘FFD’ - forwards finite difference (1st order)
finite_elements: Number of finitie 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

  • co_current: shell and tube flows from 0 to 1

  • counter_current: 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.

  • none - 0D wall model

  • 1D - 1D wall model along the thickness of the tube

  • 2D - 2D wall model along the lenghth and thickness

    of the tube

Returns:New HeatExchanger1D instance
class idaes.models.heat_exchanger_1D.HeatExchanger1dData(component)[source]

Bases: idaes.core.unit_model.UnitBlockData

Standard Heat Exchanger 1D Unit Model Class.

CONFIG = <pyutilib.misc.config.ConfigBlock object>
build()[source]

Begin building model (pre-DAE transformation).

Parameters:None
Returns:None
initialize(shell_state_args={}, tube_state_args={}, outlvl=0, solver='ipopt', optarg={'tol': 1e-06})[source]

Initialisation routine for isothermal 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

model_check()[source]

Model checks for unit (call model check on holdups)

Parameters:None
Returns:None
post_transform_build()[source]

Continue model construction after DAE transformation.

Parameters:None
Returns:None

idaes.models.mixer module

Standard IDAES mixer model.

class idaes.models.mixer.Mixer(*args, **kwargs)

Bases: idaes.core.process_block.ProcessBlock

Parameters:
  • rule – (Optional) A rule function or None. Default rule calls build().
  • concrete – If True, make this a toplevel model. Default - False.
  • ctype – (Optional) Pyomo ctype of the Block.
  • dynamic – Indicates whether this model will be dynamic, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent, True - set as a dynamic model, False - set as a steady-state model}
  • include_holdup – Indicates whether holdup terms should be constructed or not. Must be True if dynamic = True, default - ‘use_parent_value’. Valid values: { ‘use_parent_value` - get flag from parent (default = True), True - construct holdup terms, False - do not construct holdup terms}
  • material_balance_type – Indicates what type of mass balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘component’), ‘none’ - exclude material balances, **’component_phase’ - use phase component balances, **’component_total’ - use total component balances, **’element_total’ - use total element balances.}
  • energy_balance_type – Indicates what type of energy balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘enthalpy_total’), ‘none’ - exclude energy balances, ‘enthalpy_total’ - single ethalpy balance for material.}
  • momentum_balance_type – Indicates what type of momentum balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘pressure’), ‘none’ - exclude momentum balances, ‘pressure’ - single pressure balance for material.}
  • has_rate_reactions – Indicates whether terms for rate controlled reactions should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include kinetic reaction terms, False - exclude kinetic reaction terms.}
  • has_equilibrium_reactions – Indicates whether terms for equilibrium controlled reactions should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include equilibrium reaction terms, False - exclude equilibrium reaction terms.}
  • has_phase_equilibrium – Indicates whether terms for phase equilibrium should be
constructed (default = ‘use_parent_value’)
  • ‘use_parent_value’ - get flag from parent (default = False)
  • True - include phase equilibrium terms
  • False - exclude phase equilibrium terms
has_mass_transfer: Indicates whether terms for mass transfer should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include mass transfer terms, False - exclude mass transfer terms.}
has_heat_transfer: Indicates whether terms for heat transfer should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include heat transfer terms, False - exclude heat transfer terms.}
has_work_transfer: Indicates whether terms for work transfer should be constructed,
default - ‘use_parent_value’. Valid values { ‘use_parent_value’ - get flag from parent (default = False), True - include work transfer terms, False - exclude work transfer terms.}
has_pressure_change: Indicates whether terms for pressure change should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include pressure change terms, False - exclude pressure change terms.}

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)
inlet_list: A list containing names of inlets (default = None) - None - default
single inlet - list - a list of names for inlets

num_inlets: Argument indication number (int) of inlets to construct

(default = None). Not used if inlet_list arg is provided.
  • None - use inlet_list arg instead
  • int - Inlets will be named with sequential numbers from 1
    to num_inlets
outlet_list: A list containing names of outlets (default = None) - None - default
single outlet - list - a list of names for outlets

num_outlets: Argument indication number (int) of outlets to construct

(default = None). Not used if outlet_list arg is provided.
  • None - use outlet_list arg instead
  • int - Outlets will be named with sequential numbers from 1
    to num_outlets
Returns:New Mixer instance
class idaes.models.mixer.MixerData(component)[source]

Bases: idaes.core.unit_model.UnitBlockData

Standard Mixer Unit Class

CONFIG = <pyutilib.misc.config.ConfigBlock object>
build()[source]

Begin building model (pre-DAE transformation).

Parameters:None
Returns:None
post_transform_build()[source]

Continue model construction after DAE transformation.

Parameters:None
Returns:None

idaes.models.plug_flow_reactor module

Basic IDAES plug flow reactor model.

class idaes.models.plug_flow_reactor.PFR(*args, **kwargs)

Bases: idaes.core.process_block.ProcessBlock

Parameters:
  • rule – (Optional) A rule function or None. Default rule calls build().
  • concrete – If True, make this a toplevel model. Default - False.
  • ctype – (Optional) Pyomo ctype of the Block.
  • dynamic – Indicates whether this model will be dynamic, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent, True - set as a dynamic model, False - set as a steady-state model}
  • include_holdup – Indicates whether holdup terms should be constructed or not. Must be True if dynamic = True, default - ‘use_parent_value’. Valid values: { ‘use_parent_value` - get flag from parent (default = True), True - construct holdup terms, False - do not construct holdup terms}
  • material_balance_type – Indicates what type of mass balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘component’), ‘none’ - exclude material balances, **’component_phase’ - use phase component balances, **’component_total’ - use total component balances, **’element_total’ - use total element balances.}
  • energy_balance_type – Indicates what type of energy balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘enthalpy_total’), ‘none’ - exclude energy balances, ‘enthalpy_total’ - single ethalpy balance for material.}
  • momentum_balance_type – Indicates what type of momentum balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘pressure’), ‘none’ - exclude momentum balances, ‘pressure’ - single pressure balance for material.}
  • has_rate_reactions – Indicates whether terms for rate controlled reactions should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include kinetic reaction terms, False - exclude kinetic reaction terms.}
  • has_equilibrium_reactions – Indicates whether terms for equilibrium controlled reactions should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include equilibrium reaction terms, False - exclude equilibrium reaction terms.}
  • has_phase_equilibrium – Indicates whether terms for phase equilibrium should be
constructed (default = ‘use_parent_value’)
  • ‘use_parent_value’ - get flag from parent (default = False)
  • True - include phase equilibrium terms
  • False - exclude phase equilibrium terms
has_mass_transfer: Indicates whether terms for mass transfer should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include mass transfer terms, False - exclude mass transfer terms.}
has_heat_transfer: Indicates whether terms for heat transfer should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include heat transfer terms, False - exclude heat transfer terms.}
has_work_transfer: Indicates whether terms for work transfer should be constructed,
default - ‘use_parent_value’. Valid values { ‘use_parent_value’ - get flag from parent (default = False), True - include work transfer terms, False - exclude work transfer terms.}
has_pressure_change: Indicates whether terms for pressure change should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include pressure change terms, False - exclude pressure change terms.}
velocity_type: Flag indicating whether velocity should be include in the model
default - ‘use_parent_value’. Valid values: { ‘none’ - do not calculate velocity, ‘mixture’ - calculate a single velocity for all phases, ‘phase’ - calculate separate velocities for each phase}

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)
inlet_list: A list containing names of inlets (default = None) - None - default
single inlet - list - a list of names for inlets

num_inlets: Argument indication number (int) of inlets to construct

(default = None). Not used if inlet_list arg is provided.
  • None - use inlet_list arg instead
  • int - Inlets will be named with sequential numbers from 1
    to num_inlets
outlet_list: A list containing names of outlets (default = None) - None - default
single outlet - list - a list of names for outlets

num_outlets: Argument indication number (int) of outlets to construct

(default = None). Not used if outlet_list arg is provided.
  • None - use outlet_list arg instead
  • int - Outlets will be named with sequential numbers from 1
    to num_outlets

discretization_method: Method to be used by DAE transformation when discretizing length

domain (default = OCLR).
  • ‘OCLR’ - orthogonal collocation (Radau roots)
  • ‘OCLL’ - orthogonal collocation (Legendre roots)
  • ‘BFD’ - backwards finite difference (1st order)
  • ‘FFD’ - forwards finite difference (1st order)
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)
has_mass_diffusion: Flag indicating whether mass diffusion/dispersion should be included
in material balance equations (default=False)
has_energy_diffusion: Flag indicating whether energy diffusion/dispersion should be
included in energy balance equations (default=False)
Returns:New PFR instance
class idaes.models.plug_flow_reactor.PFRData(component)[source]

Bases: idaes.core.unit_model.UnitBlockData

Compressor/Expander Unit Class

CONFIG = <pyutilib.misc.config.ConfigBlock object>
build()[source]

Begin building model (pre-DAE transformation).

Parameters:None
Returns:None
post_transform_build()[source]

Continue model construction after DAE transformation.

Parameters:None
Returns:None

idaes.models.pressure_changer module

Basic IDAES pressure changer models.

class idaes.models.pressure_changer.PressureChanger(*args, **kwargs)

Bases: idaes.core.process_block.ProcessBlock

Parameters:
  • rule – (Optional) A rule function or None. Default rule calls build().
  • concrete – If True, make this a toplevel model. Default - False.
  • ctype – (Optional) Pyomo ctype of the Block.
  • dynamic – Indicates whether this model will be dynamic, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent, True - set as a dynamic model, False - set as a steady-state model}
  • include_holdup – Indicates whether holdup terms should be constructed or not. Must be True if dynamic = True, default - ‘use_parent_value’. Valid values: { ‘use_parent_value` - get flag from parent (default = True), True - construct holdup terms, False - do not construct holdup terms}
  • material_balance_type – Indicates what type of mass balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘component’), ‘none’ - exclude material balances, **’component_phase’ - use phase component balances, **’component_total’ - use total component balances, **’element_total’ - use total element balances.}
  • energy_balance_type – Indicates what type of energy balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘enthalpy_total’), ‘none’ - exclude energy balances, ‘enthalpy_total’ - single ethalpy balance for material.}
  • momentum_balance_type – Indicates what type of momentum balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘pressure’), ‘none’ - exclude momentum balances, ‘pressure’ - single pressure balance for material.}
  • has_rate_reactions – Indicates whether terms for rate controlled reactions should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include kinetic reaction terms, False - exclude kinetic reaction terms.}
  • has_equilibrium_reactions – Indicates whether terms for equilibrium controlled reactions should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include equilibrium reaction terms, False - exclude equilibrium reaction terms.}
  • has_phase_equilibrium – Indicates whether terms for phase equilibrium should be
constructed (default = ‘use_parent_value’)
  • ‘use_parent_value’ - get flag from parent (default = False)
  • True - include phase equilibrium terms
  • False - exclude phase equilibrium terms
has_mass_transfer: Indicates whether terms for mass transfer should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include mass transfer terms, False - exclude mass transfer terms.}
has_heat_transfer: Indicates whether terms for heat transfer should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include heat transfer terms, False - exclude heat transfer terms.}
has_work_transfer: Indicates whether terms for work transfer should be constructed,
default - ‘use_parent_value’. Valid values { ‘use_parent_value’ - get flag from parent (default = False), True - include work transfer terms, False - exclude work transfer terms.}
has_pressure_change: Indicates whether terms for pressure change should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include pressure change terms, False - exclude pressure change terms.}

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 a property block

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)
inlet_list: A list containing names of inlets (default = None) - None - default
single inlet - list - a list of names for inlets

num_inlets: Argument indication number (int) of inlets to construct

(default = None). Not used if inlet_list arg is provided.
  • None - use inlet_list arg instead
  • int - Inlets will be named with sequential numbers from 1
    to num_inlets
outlet_list: A list containing names of outlets (default = None) - None - default
single outlet - list - a list of names for outlets

num_outlets: Argument indication number (int) of outlets to construct

(default = None). Not used if outlet_list arg is provided.
  • None - use outlet_list arg instead
  • int - Outlets will be named with sequential numbers from 1
    to num_outlets
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. -
‘isothermal’ (default) - ‘isentropic’
Returns:New PressureChanger instance
class idaes.models.pressure_changer.PressureChangerData(component)[source]

Bases: idaes.core.unit_model.UnitBlockData

Compressor/Expander Unit Class

CONFIG = <pyutilib.misc.config.ConfigBlock object>
build()[source]

Begin building model (pre-DAE transformation)

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
post_transform_build()[source]

Continue model construction after DAE transformation

Parameters:None
Returns:None

idaes.models.product module

Standard IDAES product block.

class idaes.models.product.Product(*args, **kwargs)

Bases: idaes.core.process_block.ProcessBlock

Parameters:
  • rule – (Optional) A rule function or None. Default rule calls build().
  • concrete – If True, make this a toplevel model. Default - False.
  • ctype – (Optional) Pyomo ctype of the Block.
  • dynamic – Indicates whether this model will be dynamic, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent, True - set as a dynamic model, False - set as a steady-state model}
  • include_holdup – Indicates whether holdup terms should be constructed or not. Must be True if dynamic = True, default - ‘use_parent_value’. Valid values: { ‘use_parent_value` - get flag from parent (default = True), True - construct holdup terms, False - do not construct holdup terms}
  • material_balance_type – Indicates what type of mass balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘component’), ‘none’ - exclude material balances, **’component_phase’ - use phase component balances, **’component_total’ - use total component balances, **’element_total’ - use total element balances.}
  • energy_balance_type – Indicates what type of energy balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘enthalpy_total’), ‘none’ - exclude energy balances, ‘enthalpy_total’ - single ethalpy balance for material.}
  • momentum_balance_type – Indicates what type of momentum balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘pressure’), ‘none’ - exclude momentum balances, ‘pressure’ - single pressure balance for material.}
  • has_rate_reactions – Indicates whether terms for rate controlled reactions should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include kinetic reaction terms, False - exclude kinetic reaction terms.}
  • has_equilibrium_reactions – Indicates whether terms for equilibrium controlled reactions should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include equilibrium reaction terms, False - exclude equilibrium reaction terms.}
  • has_phase_equilibrium – Indicates whether terms for phase equilibrium should be
constructed (default = ‘use_parent_value’)
  • ‘use_parent_value’ - get flag from parent (default = False)
  • True - include phase equilibrium terms
  • False - exclude phase equilibrium terms
has_mass_transfer: Indicates whether terms for mass transfer should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include mass transfer terms, False - exclude mass transfer terms.}
has_heat_transfer: Indicates whether terms for heat transfer should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include heat transfer terms, False - exclude heat transfer terms.}
has_work_transfer: Indicates whether terms for work transfer should be constructed,
default - ‘use_parent_value’. Valid values { ‘use_parent_value’ - get flag from parent (default = False), True - include work transfer terms, False - exclude work transfer terms.}
has_pressure_change: Indicates whether terms for pressure change should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include pressure change terms, False - exclude pressure change terms.}

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)
inlet_list: A list containing names of inlets (default = None) - None - default
single inlet - list - a list of names for inlets

num_inlets: Argument indication number (int) of inlets to construct

(default = None). Not used if inlet_list arg is provided.
  • None - use inlet_list arg instead
  • int - Inlets will be named with sequential numbers from 1
    to num_inlets
Returns:New Product instance
class idaes.models.product.ProductData(component)[source]

Bases: idaes.core.unit_model.UnitBlockData

Standard Product Block Class

CONFIG = <pyutilib.misc.config.ConfigBlock object>
build()[source]

Begin building model (pre-DAE transformation).

Parameters:None
Returns:None
display(display_block=False, ostream=None, prefix='')[source]

Display the contents of Product unit.

Parameters:
  • display_block – indicates whether to display the entire Block
  • object (default = False) –
  • ostream – output stream (default = None)
  • prefix – str to append to each line of output (default = ‘’)
Returns:

None

post_transform_build()[source]

Continue model construction after DAE transformation.

Parameters:None
Returns:None

idaes.models.separator module

Standard IDAES Separator model.

class idaes.models.separator.Separator(*args, **kwargs)

Bases: idaes.core.process_block.ProcessBlock

Parameters:
  • rule – (Optional) A rule function or None. Default rule calls build().
  • concrete – If True, make this a toplevel model. Default - False.
  • ctype – (Optional) Pyomo ctype of the Block.
  • dynamic – Indicates whether this model will be dynamic, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent, True - set as a dynamic model, False - set as a steady-state model}
  • include_holdup – Indicates whether holdup terms should be constructed or not. Must be True if dynamic = True, default - ‘use_parent_value’. Valid values: { ‘use_parent_value` - get flag from parent (default = True), True - construct holdup terms, False - do not construct holdup terms}
  • material_balance_type – Indicates what type of mass balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘component’), ‘none’ - exclude material balances, **’component_phase’ - use phase component balances, **’component_total’ - use total component balances, **’element_total’ - use total element balances.}
  • energy_balance_type – Indicates what type of energy balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘enthalpy_total’), ‘none’ - exclude energy balances, ‘enthalpy_total’ - single ethalpy balance for material.}
  • momentum_balance_type – Indicates what type of momentum balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘pressure’), ‘none’ - exclude momentum balances, ‘pressure’ - single pressure balance for material.}
  • has_rate_reactions – Indicates whether terms for rate controlled reactions should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include kinetic reaction terms, False - exclude kinetic reaction terms.}
  • has_equilibrium_reactions – Indicates whether terms for equilibrium controlled reactions should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include equilibrium reaction terms, False - exclude equilibrium reaction terms.}
  • has_phase_equilibrium – Indicates whether terms for phase equilibrium should be
constructed (default = ‘use_parent_value’)
  • ‘use_parent_value’ - get flag from parent (default = False)
  • True - include phase equilibrium terms
  • False - exclude phase equilibrium terms
has_mass_transfer: Indicates whether terms for mass transfer should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include mass transfer terms, False - exclude mass transfer terms.}
has_heat_transfer: Indicates whether terms for heat transfer should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include heat transfer terms, False - exclude heat transfer terms.}
has_work_transfer: Indicates whether terms for work transfer should be constructed,
default - ‘use_parent_value’. Valid values { ‘use_parent_value’ - get flag from parent (default = False), True - include work transfer terms, False - exclude work transfer terms.}
has_pressure_change: Indicates whether terms for pressure change should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include pressure change terms, False - exclude pressure change terms.}

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)
inlet_list: A list containing names of inlets (default = None) - None - default
single inlet - list - a list of names for inlets

num_inlets: Argument indication number (int) of inlets to construct

(default = None). Not used if inlet_list arg is provided.
  • None - use inlet_list arg instead
  • int - Inlets will be named with sequential numbers from 1
    to num_inlets
outlet_list: A list containing names of outlets (default = None) - None - default
single outlet - list - a list of names for outlets

num_outlets: Argument indication number (int) of outlets to construct

(default = None). Not used if outlet_list arg is provided.
  • None - use outlet_list arg instead
  • int - Outlets will be named with sequential numbers from 1
    to num_outlets

separation_type: Flag indicated which method to use for separating outlets

(default = “phase”)
  • “phase” - separate by phase fractions
  • “component” - separate by components
  • “total” - separate by phase and component
energy_split_type: Argument indiciating method to use when splitting material flows
between outlets, default - ‘temperature’. Valid values: { ‘temperature’ - equate temperatures in outlet streams, ‘enth_mol’ - equate specific molar enthalpies in each outlet, ‘enth_mass’ - equate specific mass enthalpies in each outlet, ‘energy_balance’ - split using an energy balance with a split fraction.}
Returns:New Separator instance
class idaes.models.separator.SeparatorData(component)[source]

Bases: idaes.core.unit_model.UnitBlockData

Standard Splitter Unit Class

CONFIG = <pyutilib.misc.config.ConfigBlock object>
build()[source]

Begin building model (pre-DAE transformation).

Parameters:None
Returns:None
post_transform_build()[source]

Continue model construction after DAE transformation.

Parameters:None
Returns:None

idaes.models.splitter module

Standard IDAES splitter model.

class idaes.models.splitter.Splitter(*args, **kwargs)

Bases: idaes.core.process_block.ProcessBlock

Parameters:
  • rule – (Optional) A rule function or None. Default rule calls build().
  • concrete – If True, make this a toplevel model. Default - False.
  • ctype – (Optional) Pyomo ctype of the Block.
  • dynamic – Indicates whether this model will be dynamic, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent, True - set as a dynamic model, False - set as a steady-state model}
  • include_holdup – Indicates whether holdup terms should be constructed or not. Must be True if dynamic = True, default - ‘use_parent_value’. Valid values: { ‘use_parent_value` - get flag from parent (default = True), True - construct holdup terms, False - do not construct holdup terms}
  • material_balance_type – Indicates what type of mass balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘component’), ‘none’ - exclude material balances, **’component_phase’ - use phase component balances, **’component_total’ - use total component balances, **’element_total’ - use total element balances.}
  • energy_balance_type – Indicates what type of energy balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘enthalpy_total’), ‘none’ - exclude energy balances, ‘enthalpy_total’ - single ethalpy balance for material.}
  • momentum_balance_type – Indicates what type of momentum balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘pressure’), ‘none’ - exclude momentum balances, ‘pressure’ - single pressure balance for material.}
  • has_rate_reactions – Indicates whether terms for rate controlled reactions should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include kinetic reaction terms, False - exclude kinetic reaction terms.}
  • has_equilibrium_reactions – Indicates whether terms for equilibrium controlled reactions should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include equilibrium reaction terms, False - exclude equilibrium reaction terms.}
  • has_phase_equilibrium – Indicates whether terms for phase equilibrium should be
constructed (default = ‘use_parent_value’)
  • ‘use_parent_value’ - get flag from parent (default = False)
  • True - include phase equilibrium terms
  • False - exclude phase equilibrium terms
has_mass_transfer: Indicates whether terms for mass transfer should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include mass transfer terms, False - exclude mass transfer terms.}
has_heat_transfer: Indicates whether terms for heat transfer should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include heat transfer terms, False - exclude heat transfer terms.}
has_work_transfer: Indicates whether terms for work transfer should be constructed,
default - ‘use_parent_value’. Valid values { ‘use_parent_value’ - get flag from parent (default = False), True - include work transfer terms, False - exclude work transfer terms.}
has_pressure_change: Indicates whether terms for pressure change should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include pressure change terms, False - exclude pressure change terms.}

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)
inlet_list: A list containing names of inlets (default = None) - None - default
single inlet - list - a list of names for inlets

num_inlets: Argument indication number (int) of inlets to construct

(default = None). Not used if inlet_list arg is provided.
  • None - use inlet_list arg instead
  • int - Inlets will be named with sequential numbers from 1
    to num_inlets
outlet_list: A list containing names of outlets (default = None) - None - default
single outlet - list - a list of names for outlets

num_outlets: Argument indication number (int) of outlets to construct

(default = None). Not used if outlet_list arg is provided.
  • None - use outlet_list arg instead
  • int - Outlets will be named with sequential numbers from 1
    to num_outlets
energy_split_type: Argument indiciating method to use when splitting material flows
between outlets, default - ‘temperature’. Valid values: { ‘temperature’ - equate temperatures in outlet streams, ‘enth_mol’ - equate specific molar enthalpies in each outlet, ‘enth_mass’ - equate specific mass enthalpies in each outlet, ‘energy_balance’ - split using an energy balance with a split fraction.}
Returns:New Splitter instance
class idaes.models.splitter.SplitterData(component)[source]

Bases: idaes.core.unit_model.UnitBlockData

Standard Splitter Unit Class

CONFIG = <pyutilib.misc.config.ConfigBlock object>
build()[source]

Begin building model (pre-DAE transformation).

Parameters:None
Returns:None
post_transform_build()[source]

Continue model construction after DAE transformation.

Parameters:None
Returns:None

idaes.models.stoichiometric_reactor module

Standard IDAES Stoichiometric/Yield reactor model.

class idaes.models.stoichiometric_reactor.StoichiometricReactor(*args, **kwargs)

Bases: idaes.core.process_block.ProcessBlock

Parameters:
  • rule – (Optional) A rule function or None. Default rule calls build().
  • concrete – If True, make this a toplevel model. Default - False.
  • ctype – (Optional) Pyomo ctype of the Block.
  • dynamic – Indicates whether this model will be dynamic, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent, True - set as a dynamic model, False - set as a steady-state model}
  • include_holdup – Indicates whether holdup terms should be constructed or not. Must be True if dynamic = True, default - ‘use_parent_value’. Valid values: { ‘use_parent_value` - get flag from parent (default = True), True - construct holdup terms, False - do not construct holdup terms}
  • material_balance_type – Indicates what type of mass balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘component’), ‘none’ - exclude material balances, **’component_phase’ - use phase component balances, **’component_total’ - use total component balances, **’element_total’ - use total element balances.}
  • energy_balance_type – Indicates what type of energy balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘enthalpy_total’), ‘none’ - exclude energy balances, ‘enthalpy_total’ - single ethalpy balance for material.}
  • momentum_balance_type – Indicates what type of momentum balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘pressure’), ‘none’ - exclude momentum balances, ‘pressure’ - single pressure balance for material.}
  • has_rate_reactions – Indicates whether terms for rate controlled reactions should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include kinetic reaction terms, False - exclude kinetic reaction terms.}
  • has_equilibrium_reactions – Indicates whether terms for equilibrium controlled reactions should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include equilibrium reaction terms, False - exclude equilibrium reaction terms.}
  • has_phase_equilibrium – Indicates whether terms for phase equilibrium should be
constructed (default = ‘use_parent_value’)
  • ‘use_parent_value’ - get flag from parent (default = False)
  • True - include phase equilibrium terms
  • False - exclude phase equilibrium terms
has_mass_transfer: Indicates whether terms for mass transfer should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include mass transfer terms, False - exclude mass transfer terms.}
has_heat_transfer: Indicates whether terms for heat transfer should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include heat transfer terms, False - exclude heat transfer terms.}
has_work_transfer: Indicates whether terms for work transfer should be constructed,
default - ‘use_parent_value’. Valid values { ‘use_parent_value’ - get flag from parent (default = False), True - include work transfer terms, False - exclude work transfer terms.}
has_pressure_change: Indicates whether terms for pressure change should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include pressure change terms, False - exclude pressure change terms.}

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)
inlet_list: A list containing names of inlets (default = None) - None - default
single inlet - list - a list of names for inlets

num_inlets: Argument indication number (int) of inlets to construct

(default = None). Not used if inlet_list arg is provided.
  • None - use inlet_list arg instead
  • int - Inlets will be named with sequential numbers from 1
    to num_inlets
outlet_list: A list containing names of outlets (default = None) - None - default
single outlet - list - a list of names for outlets

num_outlets: Argument indication number (int) of outlets to construct

(default = None). Not used if outlet_list arg is provided.
  • None - use outlet_list arg instead
  • int - Outlets will be named with sequential numbers from 1
    to num_outlets
Returns:New StoichiometricReactor instance
class idaes.models.stoichiometric_reactor.StoichiometricReactorData(component)[source]

Bases: idaes.core.unit_model.UnitBlockData

Standard Stoichiometric/Yield reactor Unit Model Class

CONFIG = <pyutilib.misc.config.ConfigBlock object>
build()[source]

Begin building model (pre-DAE transformation).

Parameters:None
Returns:None
post_transform_build()[source]

Continue model construction after DAE transformation.

Parameters:None
Returns:None

idaes.models.temperature_changer module

Standard IDAES temperature changer model.

class idaes.models.temperature_changer.TemperatureChanger(*args, **kwargs)

Bases: idaes.core.process_block.ProcessBlock

Parameters:
  • rule – (Optional) A rule function or None. Default rule calls build().
  • concrete – If True, make this a toplevel model. Default - False.
  • ctype – (Optional) Pyomo ctype of the Block.
  • dynamic – Indicates whether this model will be dynamic, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent, True - set as a dynamic model, False - set as a steady-state model}
  • include_holdup – Indicates whether holdup terms should be constructed or not. Must be True if dynamic = True, default - ‘use_parent_value’. Valid values: { ‘use_parent_value` - get flag from parent (default = True), True - construct holdup terms, False - do not construct holdup terms}
  • material_balance_type – Indicates what type of mass balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘component’), ‘none’ - exclude material balances, **’component_phase’ - use phase component balances, **’component_total’ - use total component balances, **’element_total’ - use total element balances.}
  • energy_balance_type – Indicates what type of energy balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘enthalpy_total’), ‘none’ - exclude energy balances, ‘enthalpy_total’ - single ethalpy balance for material.}
  • momentum_balance_type – Indicates what type of momentum balance should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = ‘pressure’), ‘none’ - exclude momentum balances, ‘pressure’ - single pressure balance for material.}
  • has_rate_reactions – Indicates whether terms for rate controlled reactions should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include kinetic reaction terms, False - exclude kinetic reaction terms.}
  • has_equilibrium_reactions – Indicates whether terms for equilibrium controlled reactions should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include equilibrium reaction terms, False - exclude equilibrium reaction terms.}
  • has_phase_equilibrium – Indicates whether terms for phase equilibrium should be
constructed (default = ‘use_parent_value’)
  • ‘use_parent_value’ - get flag from parent (default = False)
  • True - include phase equilibrium terms
  • False - exclude phase equilibrium terms
has_mass_transfer: Indicates whether terms for mass transfer should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include mass transfer terms, False - exclude mass transfer terms.}
has_heat_transfer: Indicates whether terms for heat transfer should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include heat transfer terms, False - exclude heat transfer terms.}
has_work_transfer: Indicates whether terms for work transfer should be constructed,
default - ‘use_parent_value’. Valid values { ‘use_parent_value’ - get flag from parent (default = False), True - include work transfer terms, False - exclude work transfer terms.}
has_pressure_change: Indicates whether terms for pressure change should be constructed,
default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include pressure change terms, False - exclude pressure change terms.}

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)
inlet_list: A list containing names of inlets (default = None) - None - default
single inlet - list - a list of names for inlets

num_inlets: Argument indication number (int) of inlets to construct

(default = None). Not used if inlet_list arg is provided.
  • None - use inlet_list arg instead
  • int - Inlets will be named with sequential numbers from 1
    to num_inlets
outlet_list: A list containing names of outlets (default = None) - None - default
single outlet - list - a list of names for outlets

num_outlets: Argument indication number (int) of outlets to construct

(default = None). Not used if outlet_list arg is provided.
  • None - use outlet_list arg instead
  • int - Outlets will be named with sequential numbers from 1
    to num_outlets
heater: Indicates whether this unit should be considered a heater (True
(default), temperature increase) or a cooler (False, temperature decrease).
Returns:New TemperatureChanger instance
class idaes.models.temperature_changer.TemperatureChangerData(component)[source]

Bases: idaes.core.unit_model.UnitBlockData

Standard Temperature Changer Unit Model Class

CONFIG = <pyutilib.misc.config.ConfigBlock object>
build()[source]

Begin building model (pre-DAE transformation)

Parameters:None
Returns:None
model_check()[source]

Check that temperature change matches with heater argument (i.e. if heater = True, temperature should increase).

Parameters:None
Returns:None
post_transform_build()[source]

Continue model construction after DAE transformation

Parameters:None
Returns:None

idaes.models.translator module

IDAES Translator Block for connecting between differnt property packages.

class idaes.models.translator.Translator(*args, **kwargs)

Bases: idaes.core.process_block.ProcessBlock

Parameters:
  • rule – (Optional) A rule function or None. Default rule calls build().
  • concrete – If True, make this a toplevel model. Default - False.
  • ctype – (Optional) Pyomo ctype of the Block.
  • dynamic – Indicates whether this model will be dynamic or not (default = ‘use_parent_value’). ‘use_parent_value’ - get flag from parent (default = False) True - set as a dynamic model False - set as a steady-state model
  • inlet_property_package – Inlet property parameter object to be converted
  • inlet_property_package_args – A dict of arguments to be passed to the inlet PropertyBlockData to be used for construction.
  • outlet_property_package – Outlet property parameter object to be converted
  • outlet_property_package_args – A dict of arguments to be passed to the outlet PropertyBlockData to be used for construction.
  • has_equilibrium_reactions – Indicates whether terms for equilibrium controlled reactions should be constructed, default - ‘use_parent_value’. Valid values: { ‘use_parent_value’ - get flag from parent (default = False), True - include equilibrium reaction terms, False - exclude equilibrium reaction terms.}
  • has_phase_equilibrium – Indicates whether terms for phase equilibrium should be constructed (default = ‘use_parent_value’) - ‘use_parent_value’ - get flag from parent (default = False) - True - include phase equilibrium terms - False - exclude phase equilibrium terms
Returns:

New Translator instance

class idaes.models.translator.TranslatorData(component)[source]

Bases: idaes.core.unit_model.UnitBlockData

This class constructs the basic framework for an IDAES block to “translate” between differnt property packages. This class constructs two property blocks using two different property packages - one for the incoming package and one for the outgoing package - along with the assoicated inlet and outlet Connector objects. Users will then need to provide a set of Constraints to connect the states in the incoming properties to those in the outgoing properties.

CONFIG = <pyutilib.misc.config.ConfigBlock object>
build()[source]

Begin building model (pre-DAE transformation).

Parameters:None
Returns:None
initialize(outlvl=0, solver='ipopt', optarg={'tol': 1e-06})[source]

This is a basic initialization routine for translator blocks. This method assumes both property blocks have good initial values and calls the initialization method of each block.

Users will liekly need to overload this method with a customised routine suited to their particular translation.

Keyword Arguments:
 
  • 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]

This is a general purpose model_check routine for translator blocks. This method tries to call the model_check method of the inlet and outlet property blocks. If an AttributeError is raised, the check is passed.

Parameters:None
Returns:None
post_transform_build()[source]

Continue model construction after DAE transformation.

Parameters:None
Returns:None