Coagulation-Flocculation

Introduction

Coagulation-Flocculation is a water treatment process designed to remove total suspended solids (TSS) from solution by converting small suspended and/or colloidal matter, and some natural organic matter, into larger ‘floccs’ (or ‘Sludge’) that can then be separated by sedimentation and/or filtration (or other separation processes) later in the treatment train. This is accomplished in a 2-stage process:

Stage 1) Coagulation (where chemical coagulants and other aids are rapidly mixed into solution) Stage 2) Flocculation (where the ‘floccs’ are formed through slow, gentle mixing/agitation)

In this implementation of the model, the user MUST provide a measured final Turbidity (in NTU) made during a Jar Test for the given water source. This measurement is then used to estimate how much TSS would be removed during the Coagulation-Flocculation process. Users may also provide the specific chemical composition of additives used to achieve this final Turbidity, and can provide information on the level of salts in those additives. This information can be used to estimate an increase in total dissolved salts (TDS) that may occur due to the addition of those chemicals.

This model also includes relationships for power usage in the rapid mixing and flocculation basins. Users will need to provide information for power usage such as retention times of each basin, mixing paddle sizes, number of mixers, etc.

The main assumptions of the implemented model are as follows:

  1. Coagulation-Flocculation can be modeled together in a single combined unit (Figure 1)

  2. Model dimensionality is limited to a 0D control volume

  3. Predicted levels of suspended solid removal can be determined solely by Jar Test measurements

  4. Single liquid phase only

  5. Isothermal operation

../../_images/coagulation_flocculation.png

Figure 1. Schematic representation of a coagulation-flocculation unit modeled in WaterTAP

Ports

The model provides two ports (Pyomo notation in parenthesis):

  • Inlet port (inlet)

  • Outlet port (outlet)

Sets

Description

Symbol

Indices

Time

\(t\)

[0]

Phases

\(p\)

[‘Liq’]

Components

\(j\)

[‘H2O’, ‘TDS’, ‘TSS’, ‘Sludge’, …]

Chemical Additives

\(i\)

[‘chem_A’, ‘chem_B’, …]

Users are responsible for naming any chemical additives and defining all parameters associated with them

Degrees of Freedom and Variables

Aside from the inlet feed state variables (i.e., temperature, pressure, component mass flowrates),

the Coagulation-Flocculation model has at least an additional 13 degrees of freedom that the user must specify. The table below gives an outline of these.

Description

Symbol

Variable Name

Index

Units

Fluid temperature

\(T\)

temperature

[t]

\(\text{K}\)

Fluid pressure

\(P\)

pressure

[t]

\(\text{Pa}\)

Mass flowrate of components

\(M_j\)

flow_mass_phase_comp

[t, ‘Liq’, j]

\(\text{kg/s}\)

Slope relationship between measured Turbidity and TSS

\(a\)

slope

[t]

\(\text{mg/L/NTU}\)

Intercept relationship between measured Turbidity and TSS

\(b\)

intercept

[t]

\(\text{mg/L}\)

Turbidity measured before Jar Test

\(Turb_o\)

initial_turbidity_ntu

[t]

\(\text{NTU}\)

Turbidity measured after Jar Test

\(Turb_f\)

final_turbidity_ntu

[t]

\(\text{NTU}\)

Chemical Doses added during Jar Test

\(D_i\)

chemical_doses

[t, i]

\(\text{mg/L}\)

Retention time for each rapid mixer

\(\tau_r\)

rapid_mixing_retention_time

[t]

\(\text{s}\)

Number of rapid mixers in series

\(n_r\)

num_rapid_mixing_basins

None

None

Rapid mixer velocity gradient

\(G_r\)

rapid_mixing_vel_grad

[t]

\(\text{s}^{-1}\)

Retention time of flocculation basin

\(\tau_f\)

floc_retention_time

[t]

\(\text{s}\)

Flocculation single paddle length (from center of rotation to blade edge)

\(L\)

single_paddle_length

None

\(\text{m}\)

Flocculation single paddle width

\(w\)

single_paddle_width

None

\(\text{m}\)

Flocculation paddle rotational speed

\(\omega\)

paddle_rotational_speed

[t]

\(\text{revolutions/s}\)

Flocculation paddle drag coefficient

\(C_D\)

paddle_drag_coef

[t]

None

Flocculation paddle velocity fraction

\(f\)

vel_fraction

None

None

Number of rotating paddle wheels

\(n_w\)

num_paddle_wheels

None

None

Number of paddles per wheel

\(n_p\)

num_paddles_per_wheel

None

None

Users must provide values for and ‘fix’ these variables to solve the model with DOF=0. However, users may also leave variables unfixed for optimization purposes.

NOTE: Default values are provided for the slope and intercept relationships between Turbidity and TSS. These come from Rugner et al. (2013) but can be substituted as needed to match any data available relating turbidity to TSS.

NOTE: Variables for ‘temperature’, ‘pressure’, and ‘flow_mass_phase_comp’ come from the associated property package as state variables and are accessed via {port_name}.{state_var_name}

Chemical Dosing Parameters

In addition to providing and fixing values for chemical additives, the users will need to provide parameter information for each additive including molecular weight (\(MW_{a,i}\)), moles of salt that would be added per mole of additive (\(N_i\)), and a representative molecular weight of the salt species that would be formed from addition of the additive (\(MW_{s,i}\)). If a user does not have this information off hand, then the user can simply give a value of ‘0’ for the moles of salt added per mole of additive (and dummy values for the molecular weights). This information is only used to estimate the rise in TDS when salts are added, so it is not critical for the determination of the main objective of Coagulation-Flocculation, which is the removal of TSS.

To provide this information to the unit model, users must add a ‘chemical_additives’ dictionary to the initialization of the unit model. That dictionary must have the following format.

chem_dict = {'chem_A':
               {'parameter_data':
                 {'mw_additive': (value, units),
                  'moles_per_mole_additive': value,
                  'mw_salt': (value, units)
                 }
               },
             'chem_B':
               {'parameter_data':
                 {'mw_additive': (value, units),
                  'moles_per_mole_additive': value,
                  'mw_salt': (value, units)
                 }
               }
           }

For example, this ‘chem_dict’ would be passed into the model on construction as one of the configuration options as shown below.

model.fs.unit = CoagulationFlocculation(
    property_package=model.fs.properties,
    chemical_additives=chem_dict,
)

NOTE: The above example assumes you have already constructed a pyomo model named ‘model’ and attached an IDAES flowsheet named ‘fs’ to it, as well as a properties block named ‘properties’

Equations and Relationships

Description

Equation

TSS relationship with initial Turbidity

\(TSS_o = b + a(Turb_o)\)

TSS relationship with final Turbidity

\(TSS_f = b + a(Turb_f)\)

TSS loss rate

\(S_{TSS} = M_{TSS,in} - Q \cdotp TSS_f\)

TSS mass balance

\(0 = M_{TSS,in} - M_{TSS,out} - S_{TSS}\)

Sludge mass balance

\(0 = M_{Sludge,in} - M_{Sludge,out} + S_{TSS}\)

TDS gain rate

\(S_{TDS} = Q \cdotp {\sum_{i} \frac{D_i}{MW_{a,i}} \cdotp N_i \cdotp MW_{s,i} }\)

TDS mass balance

\(0 = M_{TDS,in} - M_{TDS,out} + S_{TDS}\)

Rapid Mixer Total Volume

\(V_r = Q \cdotp \tau_r \cdotp n_r\)

Rapid Mixer Total Power Usage

\(P_r = {G_r}^2 \cdotp \mu \cdotp V_r\)

Flocculation Basin Total Volume

\(V_f = Q \cdotp \tau_f\)

Paddle Wheel Speed

\(v_p = \pi \cdotp L \cdotp \omega\)

Flocculation Power Usage

\(P_p = 0.5 \cdotp C_D \cdotp L \cdotp w \cdotp n_w \cdotp n_p \cdotp \rho {(f \cdotp v_p)}^3\)

Total Power Usage

\(P_T = P_p + P_r\)

Relationships for power usage all come from Mines (2014)

NOTE: \(Q\) is defined as the total volumetric flow rate and \(S_{j}\) is the source/sink term for component \(j\)

References

H. Rugner, M. Schwientek, B. Beckingham, B. Kuch, P. Grathwohl, Environ. Earth Sci. 69 (2013) 373-380. DOI:10.1007/s12665-013-2307-1

R.O. Mines Environmental Engineering: Principles and Practice, 1st Ed, John Wiley & Sons, 2014. Ch. 6.