Fixed Bed (ZO)

Model Type

This unit model is formulated as a single-input, single-output model form. See documentation for single-input, single-output Helper Methods.

Electricity Consumption

Electricity consumption is calculated using the constant_intensity helper function. See documentation for Helper Methods for Electricity Demand.

Costing Method

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

Additional Variables

Description

Variable Name

Units

Dosing rate of acetic acid

acetic_acid_dose

\(kg/m^3\)

Dosing rate of phosphoric acid

phosphoric_acid_dose

\(kg/m^3\)

Dosing rate of ferric chloride

ferric_chloride_dose

\(kg/m^3\)

Consumption rate of acetic acid

acetic_acid_demand

\(kg/h\)

Consumption rate of phosphoric acid

phosphoric_acid_demand

\(kg/h\)

Consumption rate of ferric chloride

ferric_chloride_demand

\(kg/h\)

Replacement rate for activated carbon

activated_carbon_demand

\(kg/h\)

Pre-exponential factor for activated carbon demand

activated_carbon_parameter_a

\(kg/m^3\)

Exponential factor for activated carbon demand

activated_carbon_parameter_b

\(dimensionless\)

Replacement rate for sand

sand_demand

\(kg/h\)

Pre-exponential factor for sand demand

sand_parameter_a

\(kg/m^3\)

Exponential factor for sand demand

sand_parameter_b

\(dimensionless\)

Replacement rate for anthracite

anthracite_demand

\(kg/h\)

Pre-exponential factor for anthracite demand

anthracite_parameter_a

\(kg/m^3\)

Exponential factor for anthracite demand

anthracite_parameter_b

\(dimensionless\)

Replacement rate for cationic polymer

cationic_polymer_demand

\(kg/h\)

Pre-exponential factor for cationic polymer demand

cationic_polymer_parameter_a

\(kg/m^3\)

Exponential factor for cationic polymer demand

cationic_polymer_parameter_b

\(dimensionless\)

Additional Constraints

Description

Constraint Name

Acetic acid demand constraint

acetic_acid_demand_equation

Phosphoric acid demand constraint

phosphoric_acid_demand_equation

Acetic acid demand constraint

ferric_chloride_demand_equation

Activated carbon demand constraint

activated_carbon_demand_equation

Sand demand constraint

sand_demand_equation

Anthracite demand constraint

anthracite_demand_equation

Cationic Polymer demand constraint

cationic_polymer_demand_equation

Class Documentation

This module contains a zero-order representation of a fixed bed unit operation.

class watertap.unit_models.zero_order.fixed_bed_zo.FixedBedZO(*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.

    isothermal

    Isothermal assumption, or ignore temperature variables in unit. Default=True

    isobaric

    Isobaric assumption, or ignore pressure variables in unit. Default=True

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

(FixedBedZO) New instance

class watertap.unit_models.zero_order.fixed_bed_zo.FixedBedZOData(component)[source]

Zero-Order model for an Ion exchange unit operation.

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_fixed_bed(blk, number_of_parallel_units=1)[source]

General method for costing fixed bed units. This primarily calls the cost_power_law_flow method. This method also registers demand for a number of additional material flows. :param number_of_parallel_units: number_of_parallel_units parallel units (default: 1) :type number_of_parallel_units: int, optional