ADM1 to ASM2d Translator

Introduction

A link is required to translate between biological based and physical or chemical mediated processes to develop plant-wide modeling of wastewater treatment. This model mediates the interaction between the Modified Anaerobic Digester Model 1 (ADM1) and the Modified Activated Sludge Model 2d (ASM2d).

The model relies on the following key assumptions:

  • supports only liquid phase

  • supports only Modified ADM1 to Modified ASM2d translations

Degrees of Freedom

The translator degrees of freedom are the inlet feed state variables:

  • temperature

  • pressure

  • volumetric flowrate

  • solute compositions

Ports

This model provides two ports:

  • inlet

  • outlet

Sets

Description

Symbol

Indices

Time

\(t\)

[0]

Inlet/outlet

\(x\)

[‘in’, ‘out’]

Phases

\(p\)

[‘Liq’]

Inlet Components

\(j_{in}\)

[‘H2O’, ‘S_su’, ‘S_aa’, ‘S_fa’, ‘S_va’, ‘S_bu’, ‘S_pro’, ‘S_ac’, ‘S_h2’, ‘S_ch4’, ‘S_IC’, ‘S_IN’, ‘S_IP’, ‘S_I’, ‘X_ch’, ‘X_pr’, ‘X_li’, ‘X_su’, ‘X_aa’, ‘X_fa’, ‘X_c4’, ‘X_pro’, ‘X_ac’, ‘X_h2’, ‘X_I’, ‘X_PHA’, ‘X_PP’, ‘X_PAO’, ‘S_K’, ‘S_Mg’]

Outlet Components

\(j_{out}\)

[‘H2O’, ‘S_A’, ‘S_F’, ‘S_I’, ‘S_N2’, ‘S_NH4’, ‘S_NO3’, ‘S_O2’, ‘S_PO4’, ‘S_K’, ‘S_Mg’, ‘S_IC’, ‘X_AUT’, ‘X_H’, ‘X_I’, ‘X_PAO’, ‘X_PHA’, ‘X_PP’, ‘X_S’]

Ion

\(j_{in}\)

[‘S_cat’, ‘S_an’] 1

Zero Flow Components

\(z\)

[‘S_O2’, ‘S_N2’, ‘S_NO3’, ‘X_H’, ‘X_PAO’, ‘X_PP’, ‘X_PHA’, ‘X_AUT’]

Notes

1 “Ion” is a subset of “Inlet Components” and uses the same symbol j_in.

Parameters

Description

Symbol

Parameter Name

Value

Units

Soluble inerts from composites

\(f_{sI, xc}\)

f_sI_xc

0

\(\text{dimensionless}\)

Particulate inerts from composites

\(f_{xI, xc}\)

f_xI_xc

0.1

\(\text{dimensionless}\)

Carbohydrates from composites

\(f_{ch, xc}\)

f_ch_xc

0.275

\(\text{dimensionless}\)

Proteins from composites

\(f_{pr, xc}\)

f_pr_xc

0.275

\(\text{dimensionless}\)

Lipids from composites

\(f_{li, xc}\)

f_li_xc

0.35

\(\text{dimensionless}\)

Phosphorus content of X_ch

\(P_{ch}\)

P_ch

0

\(\text{dimensionless}\)

Equations and Relationships

Description

Equation

Volumetric flow equality

\(F_{out} = F_{in}\)

Temperature balance

\(T_{out} = T_{in}\)

Pressure balance

\(P_{out} = P_{in}\)

Zero-flow component conversions

\(C_{z, out} = 0\)

Biomass concentration

\(X_{bio} = X_{su, in} + X_{aa, in} + X_{fa, in} + X_{c4, in} + X_{pro, in} + X_{ac, in} + X_{h2, in} + X_{PAO, in}\)

S_ac concentration

\(S_{ac, 1} = S_{ac, in} + X_{PHA, in}\)

S_IC concentration

\(S_{IC, 1} = (X_{bio} * Ci[X_{su}]) - (X_{bio} * f_{sI, xc} * Ci[S_{I}]) - (X_{bio} * f_{ch, xc} * Ci[X_{ch}]) - (X_{bio} * f_{pr, xc} * Ci[X_{pr}]) - (X_{bio} * f_{li, xc} * Ci[X_{li}]) - (X_{bio} * f_{xI, xc} * Ci[X_{I}]) + (X_{PHA, in} * Ci[X_{PHA}]) - (X_{PHA, in} * Ci[S_{ac}])\)

S_IN concentration

\(S_{IN, 1} = (X_{bio} * Ci[X_{su}]) - (X_{bio} * f_{sI, xc} * Ni[S_{I}]) - (X_{bio} * f_{pr, xc} * Ni[X_{pr}]) - (X_{bio} * f_{xI, xc} * Ci[X_{I}])\)

S_I concentration

\(S_{I, 1} = S_{I, in} + (f_{sI, xc} * X_{bio})\)

X_ch concentration

\(X_{ch, 1} = X_{ch, in} + (f_{ch, xc} * X_{bio})\)

X_pr concentration

\(X_{pr, 1} = X_{pr, in} + (f_{pr, xc} * X_{bio})\)

X_li concentration

\(X_{li, 1} = X_{li, in} + (f_{li, xc} * X_{bio})\)

X_I concentration

\(S_{I, 1} = X_{I, in} + (f_{xI, xc} * X_{bio})\)

S_IP concentration

\(S_{IP, 1} = X_{PP, in} + (X_{bio} * Pi[X_{su}]) - (X_{bio} * f_{sI, xc} * Pi[S_{I}]) - (X_{bio} * f_{ch, xc} * P_ch) - (X_{bio} * f_{li, xc} * Pi[X_{li}]) - (X_{bio} * f_{xI, xc} * Pi[X_{I}])\)

X_PHA concentration

\(X_{PHA, 1} = 0\)

X_PP concentration

\(X_{PP, 1} = 0\)

X_PAO concentration

\(X_{PAO, 1} = 0\)

S_IC concentration

\(S_{IC, 2} = (X_{ch, 1} * Ci[X_{ch}]) + (X_{pr, 1} * Ci[X_{pr}]) + (X_{li, 1} * Ci[X_{li}]) - i_{CXS} * (X_{ch, 1} + X_{pr, 1} + X_{li, 1}) + (S_{su, in} * Ci[S_{su}]) + (S_{aa, in} * Ci[S_{aa}]) + (S_{fa, in} * Ci[S_{fa}]) - i_{CSF} * (S_{su, in} + S_{aa, in} + S_{fa, in}) + (S_{va, in} * Ci[S_{va}]) + (S_{bu, in} * Ci[S_{bu}]) + (S_{pro, in} * Ci[S_{pro}]) + (S_{AC, 1} * Ci[S_{ac}]) - i_{CSA} * (S_{va, in} + S_{bu, in} + S_{pro, in} + S_{ac, 1})\)

S_IN concentration

\(S_{IN, 2} = (X_{pr, 1} * Ni[X_{pr}]) - i_{NXS} * (X_{ch, 1} + X_{pr, 1} + X_{li, 1}) + (S_{aa, in} * Ni[S_{aa}]) - i_{NSF} * (S_{su, in} + S_{fa, in} + S_{va, in})\)

S_IP concentration

\(S_{IP, 2} = X_{PP, 1} + (X_{ch, 1} * P_ch) + (X_{li, 1} * Ni[X_{li}]) - i_{PXS} * (X_{ch, 1} + X_{pr, 1} + X_{li, 1}) - i_{PSF} * (S_{su, in} + S_{fa, in} + S_{va, in})\)

S_K concentration

\(S_{K, 2} = S_{K, in} + X_{PP, 1}\)

S_Mg concentration

\(S_{Mg, 2} = S_{Mg, in} + X_{PP, 1}\)

S_F concentration

\(S_{F, out} = S_{su, in} + S_{aa, in} + S_{fa, in}\)

S_A concentration

\(S_{A, out} = S_{va, in} + S_{bu, in} + S_{pro, in} + S_{ac, 1}\)

S_I concentration

\(S_{I, out} = S_{I, 1}\)

S_NH4 concentration

\(S_{NH4, out} = 31(S_{IN, in}/31 + S_{IN, 1} + S_{IN, 2})\)

S_PO4 concentration

\(S_{PO4, out} = 14(S_{IP, in}/14 + S_{IP, 1} + S_{IP, 2})\)

S_IC concentration

\(S_{IC, out} = 12(S_{IC, in}/12 + S_{IC, 1} + S_{IC, 2})\)

X_I concentration

\(X_{I, out} = X_{I, 1}\)

X_S concentration

\(X_{S, out} = X_{ch, 1} + X_{pr, 1} + X_{li, 1}\)

S_K concentration

\(S_{K, out} = S_{K, 2} * 39.1\)

S_Mg concentration

\(S_{Mg, out} = S_{Mg, 2} * 24.3\)

Classes

class watertap.unit_models.translators.translator_adm1_asm2d.TranslatorDataADM1ASM2D(component)[source]

Translator block representing the ADM1/ASM2D interface

build()[source]

Begin building model. :param None:

Returns:

None

initialize_build(state_args_in=None, state_args_out=None, outlvl=0, solver=None, optarg=None)[source]

This method calls the initialization method of the state blocks.

Keyword Arguments:
  • state_args_in – a dict of arguments to be passed to the inlet property package (to provide an initial state for initialization (see documentation of the specific property package) (default = None).

  • state_args_out – a dict of arguments to be passed to the outlet property package (to provide an initial state for initialization (see documentation of the specific property package) (default = None).

  • outlvl – sets output level of initialization routine

  • optarg – solver options dictionary object (default=None, use default solver options)

  • solver – str indicating which solver to use during initialization (default = None, use default solver)

Returns:

None

References

[1] Flores-Alsina, X., Solon, K., Mbamba, C.K., Tait, S., Gernaey, K.V., Jeppsson, U. and Batstone, D.J., 2016. Modelling phosphorus (P), sulfur (S) and iron (Fe) interactions for dynamic simulations of anaerobic digestion processes. Water Research, 95, pp.370-382.