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