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.