Initialization Methods

Initialization Methods#

The IDAES toolset contains a number of utility functions to assist users with initializing models.

Available Methods#

This module contains utility functions for initialization of IDAES models.

idaes.core.util.initialization.fix_state_vars(blk, state_args=None)[source]#

Method for fixing state variables within StateBlocks. Method takes an optional argument of values to use when fixing variables.

Parameters:
  • blk – An IDAES StateBlock object in which to fix the state variables

  • state_args – a dict containing values to use when fixing state variables. Keys must match with names used in the define_state_vars method, and indices of any variables must agree.

Returns:

A dict keyed by block index, state variable name (as defined by define_state_variables) and variable index indicating the fixed status of each variable before the fix_state_vars method was applied.

idaes.core.util.initialization.initialize_by_time_element(fs, time, **kwargs)[source]#

Function to initialize Flowsheet fs element-by-element along ContinuousSet time. Assumes sufficient initialization/correct degrees of freedom such that the first finite element can be solved immediately and each subsequent finite element can be solved by fixing differential and derivative variables at the initial time point of that finite element.

Parameters:
  • fs – Flowsheet to initialize

  • time – Set whose elements will be solved for individually

  • solver – Pyomo solver object initialized with user’s desired options

  • outlvl – IDAES logger outlvl

  • ignore_dof – Bool. If True, checks for square problems will be skipped.

Returns:

None

idaes.core.util.initialization.propagate_state(destination=None, source=None, arc=None, direction='forward', overwrite_fixed=False)[source]#

This method propagates values between Ports along Arcs. Values can be propagated in either direction using the direction argument.

Parameters:
  • destination (Port) – Port to copy values to or None if specifying arc

  • source (Port) – Port to copy values from or None if specifying arc

  • arc (Arc) – If arc is provided, use arc to define source and destination

  • direction (str) – Direction in which to propagate values. Default = ‘forward’ Valid values: ‘forward’, ‘backward’.

  • overwrite_fixed (bool) – If True overwrite fixed values, otherwise do not overwrite fixed values.

Returns:

None

idaes.core.util.initialization.revert_state_vars(blk, flags)[source]#

Method to revert the fixed state of the state variables within an IDAES StateBlock based on a set of flags of the previous state.

Parameters:
  • blk – an IDAES StateBlock

  • flags – a dict of bools indicating previous state with keys in the form (StateBlock index, state variable name (as defined by define_state_vars), var indices).

Returns:

None

idaes.core.util.initialization.solve_indexed_blocks(solver, blocks, **kwds)[source]#

This method allows for solving of Indexed Block components as if they were a single Block. A temporary Block object is created which is populated with the contents of the objects in the blocks argument and then solved.

Parameters:
  • solver – a Pyomo solver object to use when solving the Indexed Block

  • blocks – an object which inherits from Block, or a list of Blocks

  • kwds – a dict of arguments to be passed to the solver

Returns:

A Pyomo solver results object