Modular Encapsulated Two-stage Anaerobic Biological Reactor (ZO)

Model Type

This unit model is formulated as a reactive single-inlet, double-outlet model form. See documentation for reactive single-inlet, double-outlet Helper Methods.

Electricity Consumption

The constraint used to calculate energy consumption is described in the Additional Constraints section below. More details can be found in the unit model class.

Costing Method

Costing is calculated using the cost_metab() method. For full details on costing, see documentation for the zero-order costing package.

Additional Variables

Description

Variable Name

Units

Reactor volume

volume

\(m^3\)

Hydraulic residence time

hydraulic_retention_time

\(h\)

Electricity demand of unit

electricity

\(kW\)

Thermal demand of unit

heat

\(kW\)

Electricity intensity of mixer with respect to reactor volume

energy_electric_mixer_vol

\(kW/m^3\)

Electricity intensity of vacuum pump with respect to product gas flow

energy_electric_vacuum_flow_vol_byproduct

\(h*kW/kg\)

Thermal energy intensity of reactor with respect to inlet volumetric flowrate

energy_thermal_flow_vol_inlet

\(kJ/m^3\)

Additional Constraints

Description

Constraint Name

Constraint for reactor volume based on hydraulic residence time

eq_reactor_volume

Constraint for electricity consumption based on feed flowrate.

electricity_consumption

Constraint for heat demand based on feed flowrate.

heat_demand

Class Documentation

This module contains a zero-order representation of a METAB bioreactor with simple reactions (i.e., conversion fractions for key reagents and conversion ratios for other reactive species).

class watertap.unit_models.zero_order.metab_zo.MetabZO(*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

    All zero-order models are steady-state only

    has_holdup

    Zero order models do not include holdup

    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.}

    database

    An instance of a WaterTAP Database to use for parameters.

    process_subtype

    Process subtype to use when looking up parameters from database.

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

(MetabZO) New instance

class watertap.unit_models.zero_order.metab_zo.MetabZOData(component)[source]

Zero-Order model for a METAB bioreactor

build()[source]

General build method for UnitModelBlockData. This method calls a number of sub-methods which automate the construction of expected attributes of unit models.

Inheriting models should call super().build.

Parameters:

None

Returns:

None

static cost_metab(blk)[source]

General method for costing the metab reactor. Capital cost is based on the cost of reactor, mixer, METAB beads, membrane, and vacuum pump. This method also registers the electricity demand as a costed flow.