Feed (ZO)

The Feed (ZO) model adds volumetric flowrate and mass concentration as variables in connection with the zero-order property model’s state variable, mass flow rate. This allows the user to enter feed volumetric flow rate and concentrations without calculating the mass flowrates of each component in the feed.

Model Type

The Feed (ZO) block for zero-order flowsheets contains methods for getting concentration data from the database, and it has been created to work with the zero-order property package.

Additional Variables

Description

Variable Name

Units

Volumetric flowrate in feed

flow_vol

\(m^3/s\)

Component mass concentrations

conc_mass_comp

\(kg/m^3\)

Additional Constraints

Description

Constraint Name

Volumetric flowrate of the feed

flow_vol_constraint

Component mass concentrations

conc_mass_constraint

Class Documentation

Feed block for zero-order flowsheets with methods for getting concentration data from database.

class watertap.unit_models.zero_order.feed_zo.FeedZO(*args, **kwds)
Parameters:
  • rule (function) – A rule function or None. Default rule calls build().

  • concrete (bool) – If True, make this a toplevel model. Default - False.

  • ctype (class) –

    Pyomo ctype of the block. Default - pyomo.environ.Block

    Config args

    dynamic

    Indicates whether this model will be dynamic or not, default = False. Feed blocks are always steady-state.

    has_holdup

    Feed blocks do not contain holdup, thus this must be False.

    property_package

    Property parameter object used to define property calculations, default - useDefault. Valid values: { useDefault - use default package from parent model or flowsheet, PhysicalParameterObject - a PhysicalParameterBlock object.}

    property_package_args

    A ConfigBlock with arguments to be passed to a property block(s) and used when constructing these, default - None. Valid values: { see property package for documentation.}

  • initialize (dict) – ProcessBlockData config for individual elements. Keys are BlockData indexes and values are dictionaries with config arguments as keys.

  • idx_map (function) – Function to take the index of a BlockData element and return the index in the initialize dict from which to read arguments. This can be provided to override the default behavior of matching the BlockData index exactly to the index in initialize.

Returns:

(FeedZO) New instance

class watertap.unit_models.zero_order.feed_zo.FeedZOData(component)[source]

Zero-Order feed block.

build()[source]

Begin building model.

Parameters:

None

Returns:

None

initialize_build(state_args=None, outlvl=0, solver=None, optarg=None)[source]

This method calls the initialization method of the Feed state block.

Keyword Arguments:
  • state_args – a dict of arguments to be passed to the property package(s) to provide an initial state for initialization (see documentation of the specific property package) (default = None).

  • outlvl – sets output level of initialization routine

  • optarg – solver options dictionary object (default=None, use default solver options)

  • solver – str indicating which solver to use during initialization (default = None, use default solver)

Returns:

None

load_feed_data_from_database(overwrite=False)[source]

Method to load initial flowrate and concentrations from database.

Parameters:

- (overwrite) – should be overwritten by values from database or not.

Returns:

None

Raises:

KeyError if flowrate or concentration values not defined in data