Skip to content

Commit

Permalink
Flowsheets documentation ADM1, ASM1, ASM2d (#1376)
Browse files Browse the repository at this point in the history
* flowsheet documentation

* adding note of modified ASM2d

* fix error

* moving images to static

* Update docs/technical_reference/flowsheets/ADM1.rst

Co-authored-by: MarcusHolly <96305519+MarcusHolly@users.noreply.github.com>

* Update docs/technical_reference/flowsheets/ASM1.rst

Co-authored-by: MarcusHolly <96305519+MarcusHolly@users.noreply.github.com>

* Update docs/technical_reference/flowsheets/ASM2d.rst

Co-authored-by: MarcusHolly <96305519+MarcusHolly@users.noreply.github.com>

* Update docs/technical_reference/flowsheets/ASM2d.rst

Co-authored-by: MarcusHolly <96305519+MarcusHolly@users.noreply.github.com>

* Update docs/technical_reference/flowsheets/ADM1.rst

Co-authored-by: MarcusHolly <96305519+MarcusHolly@users.noreply.github.com>

* Update docs/technical_reference/flowsheets/ASM2d.rst

Co-authored-by: MarcusHolly <96305519+MarcusHolly@users.noreply.github.com>

* applying suggestions

* changing image width

* changing link format

* Update docs/technical_reference/flowsheets/ADM1.rst

Co-authored-by: MarcusHolly <96305519+MarcusHolly@users.noreply.github.com>

---------

Co-authored-by: MarcusHolly <96305519+MarcusHolly@users.noreply.github.com>
Co-authored-by: Ludovico Bianchi <lbianchi@lbl.gov>
  • Loading branch information
3 people authored May 8, 2024
1 parent 4c0d270 commit 38735ec
Show file tree
Hide file tree
Showing 7 changed files with 367 additions and 0 deletions.
Binary file added docs/_static/flowsheets/ADM1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_static/flowsheets/ASM1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_static/flowsheets/ASM2d.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
103 changes: 103 additions & 0 deletions docs/technical_reference/flowsheets/ADM1.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
Anaerobic Digestion Model No. 1
===============================

Introduction
------------

The IWA created Anaerobic Digestion Model No. 1 (ADM1) with a mathematical model to predict anaerobic digestion scenarios.
The objective of the mathematical model is to simulate biological reactions simultaneously with the disintegration, uptake, and decay of microorganisms
in anaerobic sludge. The property and reaction relationships `ADM1
<https://watertap.readthedocs.io/en/latest/technical_reference/property_models/ADM1.html>`_
of an anaerobic digestion model for industrial wastewater treatment from food and beverage production using an anaerobic digester as provided in
`Batstone, D. J. et al. (2002)
<https://iwaponline.com/wst/article-abstract/45/10/65/6034/The-IWA-Anaerobic-Digestion-Model-No-1-ADM1?redirectedFrom=fulltext>`_ and `Rosen, C. et al.
(2006) <https://pubmed.ncbi.nlm.nih.gov/17037165/>`_

Implementation
--------------

Figure 1 shows the process flow diagram for ADM1 where the flowsheet only includes the anaerobic digester which processes sludge to produce a
biogas stream and residual sludge. S_h2 and S_ch4 exist in both vapor phase and liquid phase, S_co2 exists in the vapor phase, and the other components
only exist in the liquid phase. The amount of CO2 dissolved in the liquid phase is equivalent to S_IC - S_HCO3-.
The flowsheet relies on the following key assumptions:

* supports steady-state only
* property and reaction packages are provided for the anaerobic digester model (ADM)

.. figure:: ../../_static/flowsheets/ADM1.png
:width: 500
:align: center

Figure 1. ADM1 flowsheet

Documentation for each of the unit models can be found below. All unit models were set up with their default configuration arguments.
* `Anaerobic digester <https://watertap.readthedocs.io/en/latest/technical_reference/unit_models/anaerobic_digester.html>`_

Documentation for the property model can be found below.
* `ADM1 <https://watertap.readthedocs.io/en/latest/technical_reference/property_models/ADM1.html>`_

Degrees of Freedom
------------------
The following variables are initially specified for simulating the ADM1 flowsheet (i.e., degrees of freedom = 0):
* sludge conditions (flow, temperature, pressure, component concentrations, and alkalinity)
* anaerobic digester liquid volume, vapor volume, and liquid outlet temperature

Flowsheet Specifications
------------------------

.. csv-table::
:header: "Description", "Value", "Units"

"**Sludge**:math:`^1`"
"Volumetric flow","170", ":math:`\text{m}^3\text{/day}`"
"Temperature", "308.15", ":math:`\text{K}`"
"Pressure", "1", ":math:`\text{atm}`"
"Monosaccharides (S_su) concentration", "10", ":math:`\text{mg/}\text{m}^3`"
"Amino acids (S_aa) concentration", "1", ":math:`\text{mg/}\text{m}^3`"
"Long chain fatty acids (S_fa) concentration", "1", ":math:`\text{mg/}\text{m}^3`"
"Total valerate (S_va) concentration", "1", ":math:`\text{mg/}\text{m}^3`"
"Total butyrates (S_bu) concentration", "1", ":math:`\text{mg/}\text{m}^3`"
"Total propionate (S_pro) concentration", "1", ":math:`\text{mg/}\text{m}^3`"
"Total acetate (S_ac) concentration", "1", ":math:`\text{mg/}\text{m}^3`"
"Hydrogen gas (S_h2) concentration", "1e-5", ":math:`\text{mg/}\text{m}^3`"
"Methane gas (S_ch4) concentration", "1e-2", ":math:`\text{mg/}\text{m}^3`"
"Inorganic carbon (S_IC) concentration", "40", ":math:`\text{mmol/}\text{m}^3`"
"Inorganic nitrogen (S_IN) concentration", "1", ":math:`\text{mmol/}\text{m}^3`"
"Soluble inerts (S_I) concentration", "20", ":math:`\text{mg/}\text{m}^3`"
"Composites (X_c) concentration", "2000", ":math:`\text{mg/}\text{m}^3`"
"Carbohydrates (X_ch) concentration", "5000", ":math:`\text{mg/}\text{m}^3`"
"Proteins (X_pr) concentration", "20000", ":math:`\text{mg/}\text{m}^3`"
"Lipids (X_li) concentration", "5000", ":math:`\text{mmol/}\text{m}^3`"
"Sugar degraders (X_su) concentration", "0", ":math:`\text{mmol/}\text{m}^3`"
"Amino acid degraders (X_aa) concentration", "10", ":math:`\text{mmol/}\text{m}^3`"
"Long chain fatty acid (LCFA) degraders (X_fa) concentration", "10", ":math:`\text{mg/}\text{m}^3`"
"Valerate and butyrate degraders (X_c4) concentration", "10", ":math:`\text{mg/}\text{m}^3`"
"Propionate degraders (X_pro) concentration", "10", ":math:`\text{mg/}\text{m}^3`"
"Acetate degraders (X_ac) concentration", "10", ":math:`\text{mg/}\text{m}^3`"
"Hydrogen degraders (X_h2) concentration", "10", ":math:`\text{mg/}\text{m}^3`"
"Particulate inerts (X_I) concentration", "10", ":math:`\text{mg/}\text{m}^3`"
"Total cation equivalents concentration (S_cat) concentration", "40", ":math:`\text{mmol/}\text{m}^3`"
"Total anion equivalents concentration (S_an) concentration", "20", ":math:`\text{mmol/}\text{m}^3`"

"**Anaerobic Digester**"
"Anaerobic digester liquid volume", "3400", ":math:`\text{m}^3`"
"Anaerobic digester vapor volume", "300", ":math:`\text{m}^3`"
"Anaerobic digester liquid outlet temperature", "308.15", ":math:`\text{m}^3`"

Future Refinements
------------------

The following modifications to ADM1 are planned for development:
* Adding thermal energy requirements to the anaerobic digester

References
----------
[1] Batstone, D.J., Keller, J., Angelidaki, I., Kalyuzhnyi, S.V., Pavlostathis, S.G., Rozzi, A., Sanders, W.T.M., Siegrist, H.A. and Vavilin, V.A., 2002.
The IWA anaerobic digestion model no 1 (ADM1).
Water Science and technology, 45(10), pp.65-73.
https://iwaponline.com/wst/article-abstract/45/10/65/6034

[2] Rosen, C. and Jeppsson, U., 2006.
Aspects on ADM1 Implementation within the BSM2 Framework.
Department of Industrial Electrical Engineering and Automation, Lund University, Lund, Sweden, pp.1-35.
https://www.iea.lth.se/WWTmodels_download/TR_ADM1.pdf
124 changes: 124 additions & 0 deletions docs/technical_reference/flowsheets/ASM1.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
Activated Sludge Model No. 1
============================

Introduction
------------

Activated Sludge Model No. 1 (ASM1) was created by the International Water Association (IWA) to create a mathematical model to predict the output of activated sludge
models. The model aims to incorporate carbon oxidation, nitrification, and denitrification. The model quantifies
the kinetics and stoichiometry of each process. The `ASM1
<https://watertap.readthedocs.io/en/latest/technical_reference/property_models/ASM1.html>`_ property and reaction relationships
are based on the relationships for the activated sludge biological reactor provided in `Henze, M. et al. (1987)
<https://belinra.inrae.fr/doc_num.php?explnum_id=4467>`_.

Implementation
--------------

Figure 1 shows the process flow diagram for ASM1, where influent wastewater is fed to a series of activated sludge
reactors and a secondary clarifier (secondary treatment). CSTRs are used to model the two anoxic reactors in the activated
sludge process and CSTRs with injection (which accounts for aeration tanks) are used to model the three aerobic reactors.
Finally, the effluent is passed through a clarifier. Note that a pressure changer is required in the recycle stream to ensure the
pressure inside the recycle loop, is bounded. As the inlet Mixer uses a pressure minimization constraint and there is no pressure
drop in the reactors, if pressure is not specified at some point within the recycle loop then it becomes unbounded.
The flowsheet relies on the following key assumptions:

* supports steady-state only
* property and reaction packages are provided for the activated sludge model (ASM)
* the clarifier is modeled as a separator with split fractions by components

.. figure:: ../../_static/flowsheets/ASM1.png
:width: 800
:align: center

Figure 1. ASM1 flowsheet

Documentation for each of the unit models can be found below. All unit models were set up with their default configuration arguments.
* `CSTR <https://idaes-pse.readthedocs.io/en/latest/reference_guides/model_libraries/generic/unit_models/cstr.html>`_
* Aeration tank
* Secondary clarifier

Documentation for the property model can be found below.
* `ASM1 <https://watertap.readthedocs.io/en/latest/technical_reference/property_models/ASM1.html>`_

Degrees of Freedom
------------------
The following variables are initially specified for simulating the ASM1 flowsheet (i.e., degrees of freedom = 0):
* feed water conditions (flow, temperature, pressure, component concentrations, and alkalinity)
* volume of activated sludge reactors
* component injection rates for aerobic reactors
* secondary clarifier split fraction(s)
* pressure changer outlet pressure (feeds into the activated sludge process)

Flowsheet Specifications
------------------------

.. csv-table::
:header: "Description", "Value", "Units"

"**Feed Water**:math:`^1`"
"Volumetric flow","18446", ":math:`\text{m}^3\text{/day}`"
"Temperature", "298.15", ":math:`\text{K}`"
"Pressure", "1", ":math:`\text{atm}`"
"Soluble inert organic matter (S_I) concentration", "30", ":math:`\text{g/}\text{m}^3`"
"Readily biodegradable substrate (S_S) concentration", "69.5", ":math:`\text{g/}\text{m}^3`"
"Particulate inert organic matter (X_I) concentration", "51.2", ":math:`\text{g/}\text{m}^3`"
"Slowly biodegradable substrate (X_S) concentration", "202.32", ":math:`\text{g/}\text{m}^3`"
"Active heterotrophic biomass (X_B,H) concentration", "28.17", ":math:`\text{g/}\text{m}^3`"
"Active autotrophic biomass (X_B,A) concentration", "0", ":math:`\text{g/}\text{m}^3`"
"Particulate products arising from biomass decay (X_P) concentration", "0", ":math:`\text{g/}\text{m}^3`"
"Oxygen (S_O) concentration", "0", ":math:`\text{g/}\text{m}^3`"
"Nitrate and nitrite nitrogen (S_NO) concentration", "0", ":math:`\text{g/}\text{m}^3`"
"NH4 :math:`^{+}` + NH :math:`_{3}` Nitrogen (S_NH) concentration", "31.56", ":math:`\text{g/}\text{m}^3`"
"Soluble biodegradable organic nitrogen (S_ND) concentration", "6.95", ":math:`\text{g/}\text{m}^3`"
"Particulate biodegradable organic nitrogen (X_ND) concentration", "10.59", ":math:`\text{g/}\text{m}^3`"
"Alkalinity (S_ALK)", "7", ":math:`\text{mol/}\text{m}^3`"

"**Activated Sludge Process**"
"Reactor 1 volume", "1000", ":math:`\text{m}^3`"
"Reactor 2 volume", "1000", ":math:`\text{m}^3`"
"Reactor 3 volume", "1333", ":math:`\text{m}^3`"
"Reactor 4 volume", "1333", ":math:`\text{m}^3`"
"Reactor 5 volume", "1333", ":math:`\text{m}^3`"
"Reactor 3 injection rate for component j", "0", ":math:`\text{g/}\text{s}`"
"Reactor 4 injection rate for component j", "0", ":math:`\text{g/}\text{s}`"
"Reactor 5 injection rate for component j", "0", ":math:`\text{g/}\text{s}`"
"Reactor 3 outlet oxygen (S_O) concentration", "0.00172", ":math:`\text{g/}\text{m}^3`"
"Reactor 4 outlet oxygen (S_O) concentration", "0.00243", ":math:`\text{g/}\text{m}^3`"
"Reactor 5 outlet oxygen (S_O) concentration", "0.00449", ":math:`\text{g/}\text{m}^3`"
"Reactor 5 underflow split fraction", "0.6", ":math:`\text{dimensionless}`"
"Reactor 3 oxygen mass transfer coefficient", "10", ":math:`\text{hr}^{-1}`"
"Reactor 4 oxygen mass transfer coefficient", "10", ":math:`\text{hr}^{-1}`"
"Secondary clarifier H2O split fraction", "0.48956", ":math:`\text{dimensionless}`"
"Secondary clarifier S_I split fraction", "0.48956", ":math:`\text{dimensionless}`"
"Secondary clarifier S_S split fraction", "0.48956", ":math:`\text{dimensionless}`"
"Secondary clarifier X_I split fraction", "0.00187", ":math:`\text{dimensionless}`"
"Secondary clarifier X_S split fraction", "0.00187", ":math:`\text{dimensionless}`"
"Secondary clarifier X_BH split fraction", "0.00187", ":math:`\text{dimensionless}`"
"Secondary clarifier X_BA split fraction", "0.00187", ":math:`\text{dimensionless}`"
"Secondary clarifier X_P split fraction", "0.00187", ":math:`\text{dimensionless}`"
"Secondary clarifier S_O split fraction", "0.48956", ":math:`\text{dimensionless}`"
"Secondary clarifier S_NO split fraction", "0.48956", ":math:`\text{dimensionless}`"
"Secondary clarifier S_NH split fraction", "0.48956", ":math:`\text{dimensionless}`"
"Secondary clarifier S_ND split fraction", "0.48956", ":math:`\text{dimensionless}`"
"Secondary clarifier X_ND split fraction", "0.00187", ":math:`\text{dimensionless}`"
"Secondary clarifier S_ALK split fraction", "0.48956", ":math:`\text{dimensionless}`"
"Separator recycle split fraction", "0.97955", ":math:`\text{dimensionless}`"
"Recycle pump outlet pressure", "101325", ":math:`\text{Pa}`"

Future Refinements
------------------

The following modifications to ASM1 are planned for development:
* Improving costing relationships in terms of detail, completeness, and reasonable validity
* Accounting for temperature-dependence in the oxygen mass transfer coefficient (KLa) and oxygen concentration at saturation
* Replacing the ideal-separator formulation in the secondary clarifier with the widely used double-exponential settling model (i.e., the Takacs model)

References
----------
[1] Henze, M., Grady, C.P.L., Gujer, W., Marais, G.v.R., Matsuo, T.,
"Activated Sludge Model No. 1", 1987, IAWPRC Task Group on Mathematical Modeling
for Design and Operation of Biological Wastewater Treatment.
https://belinra.inrae.fr/doc_num.php?explnum_id=4467

[2] Alex, J. et al. Benchmark Simulation Model no.1 (BSM1). Lund University, 2008, 5-6.
https://www.iea.lth.se/publications/Reports/LTH-IEA-7229.pdf
Loading

0 comments on commit 38735ec

Please sign in to comment.