Coagulation Flocculation (ZO)

Model Type

This unit model is formulated as a pass-through model form. See documentation for pass-through 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_coag_and_floc() method. For full details on costing, see documentation for the zero-order costing package.

Additional Variables

Description

Variable Name

Units

Dosing rate of alum

alum_dose

\(mg/l\)

Dosing rate of polymer

polymer_dose

\(mg/l\)

Ratio of anionic to cationic polymer in dosage

anion_to_cation_polymer_ratio

\(dimensionless\)

Dosing rate of anionic polymer

anionic_polymer_dose

\(mg/l\)

Dosing rate of cationic polymer

cationic_polymer_dose

\(mg/l\)

Mass flow rate of chemical solution

chemical_flow_mass

\(kg/s\)

Mass flow rate of chemical solution

chemical_flow_mass

\(kg/s\)

Rapid Mix Retention Time

rapid_mix_retention_time

\(s\)

Floc Retention Time

floc_retention_time

\(min\)

Rapid Mix Basin Volume

rapid_mix_basin_vol

\(m^3\)

Floc Basin Volume

floc_basin_vol

\(m^3\)

Number of Rapid Mixers

num_rapid_mixers

\(dimensionless\)

Number of Floc Mixers

num_floc_mixers

\(dimensionless\)

Number of Rapid Mix Processes

num_rapid_mix_processes

\(dimensionless\)

Number of Floc Processes

num_floc_processes

\(dimensionless\)

Number of Coagulation Processes

num_coag_processes

\(dimensionless\)

Number of Floc Injection Processes

num_floc_injection_processes

\(dimensionless\)

Rapid Mix Velocity Gradient

velocity_gradient_rapid_mix

\(1/s\)

Floc Velocity Gradient

velocity_gradient_floc

\(1/s\)

Rapid Mix Power Consumption

power_rapid_mix

\(kW\)

Floc Power Consumption

power_floc

\(kW\)

Total Power Consumption

electricity

\(kW\)

Additional Constraints

Description

Constraint Name

None

rapid_mix_basin_vol_constraint

None

floc_basin_vol_constraint

None

chemical_flow_constraint

None

chemical_flow_constraint

None

anionic_polymer_dose_constraint

None

cationic_polymer_dose_constraint

Constraint for rapid mix power consumption

rule_power_rapid_mix

Constraint for floc power consumption

rule_power_floc

Total power consumption

electricity_constraint

Class Documentation

This module contains a zero-order representation of a coagulation/flocculation unit operation.

class watertap.unit_models.zero_order.coag_and_floc_zo.CoagulationFlocculationZO(*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:

(CoagulationFlocculationZO) New instance

class watertap.unit_models.zero_order.coag_and_floc_zo.CoagulationFlocculationZOData(component)[source]

Zero-Order model for a Coagulation/Flocculation 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_coag_and_floc(blk)[source]

General method for costing coagulation/flocculation processes. Capital cost is based on the alum flowrate and the polymer flowrate of the incoming stream. This method also registers the electricity demand as a costed flow.