diff --git a/docs/source/api/sanunits/_index.rst b/docs/source/api/sanunits/_index.rst
index 1c1eab87..72aa4069 100644
--- a/docs/source/api/sanunits/_index.rst
+++ b/docs/source/api/sanunits/_index.rst
@@ -37,7 +37,6 @@ Individual Unit Operations
CropApplication
DynamicInfluent
ElectrochemicalCell
- encapsulation_bioreactor
Excretion
Flash
heat_exchanging
diff --git a/docs/source/api/sanunits/encapsulation_bioreactor.rst b/docs/source/api/sanunits/encapsulation_bioreactor.rst
deleted file mode 100644
index bc4d9476..00000000
--- a/docs/source/api/sanunits/encapsulation_bioreactor.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Encapsulation Bioreactor
-========================
-.. automodule:: qsdsan.sanunits._encapsulation_bioreactor
- :members:
\ No newline at end of file
diff --git a/docs/source/tutorials/0_Quick_Overview.ipynb b/docs/source/tutorials/0_Quick_Overview.ipynb
index ed9e66f4..e8191de7 100644
--- a/docs/source/tutorials/0_Quick_Overview.ipynb
+++ b/docs/source/tutorials/0_Quick_Overview.ipynb
@@ -9,7 +9,7 @@
"\n",
"- **Prepared by:**\n",
" \n",
- " - [Yalin Li](https://qsdsan.readthedocs.io/en/latest/authors/Yalin_Li.html)\n",
+ " - [Yalin Li](https://qsdsan.readthedocs.io/en/latest/CONTRIBUTING.html)\n",
" \n",
"To run tutorials in your browser, go to this [Binder page](https://mybinder.org/v2/gh/QSD-Group/QSDsan/main?filepath=%2Fdocs%2Fsource%2Ftutorials)."
]
diff --git a/docs/source/tutorials/10_Process.ipynb b/docs/source/tutorials/10_Process.ipynb
index 7cc73a09..73b8659b 100644
--- a/docs/source/tutorials/10_Process.ipynb
+++ b/docs/source/tutorials/10_Process.ipynb
@@ -9,7 +9,7 @@
"\n",
"- **Prepared by:**\n",
" \n",
- " - [Joy Zhang](https://qsdsan.readthedocs.io/en/latest/authors/Joy_Zhang.html)\n",
+ " - [Joy Zhang](https://qsdsan.readthedocs.io/en/latest/CONTRIBUTING.html)\n",
" \n",
"- **Covered topics:**\n",
"\n",
@@ -3001,9 +3001,9 @@
],
"metadata": {
"kernelspec": {
- "display_name": "Python [conda env:tut]",
+ "display_name": "Python 3 (ipykernel)",
"language": "python",
- "name": "conda-env-tut-py"
+ "name": "python3"
},
"language_info": {
"codemirror_mode": {
@@ -3015,7 +3015,36 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.9.0"
+ "version": "3.9.13"
+ },
+ "varInspector": {
+ "cols": {
+ "lenName": 16,
+ "lenType": 16,
+ "lenVar": 40
+ },
+ "kernels_config": {
+ "python": {
+ "delete_cmd_postfix": "",
+ "delete_cmd_prefix": "del ",
+ "library": "var_list.py",
+ "varRefreshCmd": "print(var_dic_list())"
+ },
+ "r": {
+ "delete_cmd_postfix": ") ",
+ "delete_cmd_prefix": "rm(",
+ "library": "var_list.r",
+ "varRefreshCmd": "cat(var_dic_list()) "
+ }
+ },
+ "types_to_exclude": [
+ "module",
+ "function",
+ "builtin_function_or_method",
+ "instance",
+ "_Feature"
+ ],
+ "window_display": false
}
},
"nbformat": 4,
diff --git a/docs/source/tutorials/11_Dynamic_Simulation.ipynb b/docs/source/tutorials/11_Dynamic_Simulation.ipynb
index aed3ea92..ba9c9bbe 100644
--- a/docs/source/tutorials/11_Dynamic_Simulation.ipynb
+++ b/docs/source/tutorials/11_Dynamic_Simulation.ipynb
@@ -9,7 +9,7 @@
"\n",
"- **Prepared by:**\n",
" \n",
- " - [Joy Zhang](https://qsdsan.readthedocs.io/en/latest/authors/Joy_Zhang.html)\n",
+ " - [Joy Zhang](https://qsdsan.readthedocs.io/en/latest/CONTRIBUTING.html)\n",
" \n",
"- **Covered topics:**\n",
"\n",
@@ -2168,9 +2168,9 @@
],
"metadata": {
"kernelspec": {
- "display_name": "Python [conda env:tut]",
+ "display_name": "Python 3 (ipykernel)",
"language": "python",
- "name": "conda-env-tut-py"
+ "name": "python3"
},
"language_info": {
"codemirror_mode": {
@@ -2182,7 +2182,36 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.9.0"
+ "version": "3.9.13"
+ },
+ "varInspector": {
+ "cols": {
+ "lenName": 16,
+ "lenType": 16,
+ "lenVar": 40
+ },
+ "kernels_config": {
+ "python": {
+ "delete_cmd_postfix": "",
+ "delete_cmd_prefix": "del ",
+ "library": "var_list.py",
+ "varRefreshCmd": "print(var_dic_list())"
+ },
+ "r": {
+ "delete_cmd_postfix": ") ",
+ "delete_cmd_prefix": "rm(",
+ "library": "var_list.r",
+ "varRefreshCmd": "cat(var_dic_list()) "
+ }
+ },
+ "types_to_exclude": [
+ "module",
+ "function",
+ "builtin_function_or_method",
+ "instance",
+ "_Feature"
+ ],
+ "window_display": false
}
},
"nbformat": 4,
diff --git a/docs/source/tutorials/12_Anaerobic_Digestion_Model_No_1.ipynb b/docs/source/tutorials/12_Anaerobic_Digestion_Model_No_1.ipynb
new file mode 100644
index 00000000..4375a072
--- /dev/null
+++ b/docs/source/tutorials/12_Anaerobic_Digestion_Model_No_1.ipynb
@@ -0,0 +1,2297 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "id": "8d891055",
+ "metadata": {},
+ "source": [
+ "# Anaerobic Digestion Model No. 1 (ADM1) \n",
+ "\n",
+ "- **Prepared by:**\n",
+ " \n",
+ " - [Ga-Yeong Kim](https://qsdsan.readthedocs.io/en/latest/CONTRIBUTING.html)\n",
+ " \n",
+ "- **Covered topics:**\n",
+ "\n",
+ " - [1. Introduction](#s1)\n",
+ " - [2. System Setup](#s2)\n",
+ " - [3. System Simulation](#s3)\n",
+ " \n",
+ "- **Video demo:**\n",
+ "\n",
+ " - To be posted\n",
+ " \n",
+ "To run tutorials in your browser, go to this [Binder page](https://mybinder.org/v2/gh/QSD-Group/QSDsan/main?filepath=%2Fdocs%2Fsource%2Ftutorials).\n",
+ " \n",
+ "You can also watch a video demo on YouTube (link to be posted) (subscriptions & likes appreciated!)."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "id": "9a2a96b7",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "This tutorial was made with qsdsan v1.3.0 and exposan v1.3.0\n"
+ ]
+ }
+ ],
+ "source": [
+ "import qsdsan as qs, exposan\n",
+ "print(f'This tutorial was made with qsdsan v{qs.__version__} and exposan v{exposan.__version__}')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "1bbdffaa",
+ "metadata": {},
+ "source": [
+ "## 1. Introduction "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "cefa6e0a",
+ "metadata": {},
+ "source": [
+ "Anaerobic Digestion Model No.1 (ADM1) includes multiple steps describing **biochemical** as well as **physicochemical processes**. \n",
+ "\n",
+ "The **biochemical steps** include disintegration from homogeneous particulates to carbohydrates, proteins and lipids; extracellular hydrolysis of these particulate substrates to sugars, amino acids, and long chain fatty acids (LCFA), respectively; acidogenesis from sugars and amino acids to volatile fatty acids (VFAs) and hydrogen; acetogenesis of LCFA and VFAs to acetate; and separate methanogenesis steps from acetate and hydrogen/CO2. \n",
+ "\n",
+ "The **physico-chemical equations** describe ion association and dissociation, and gas-liquid transfer. \n",
+ "\n",
+ "Implemented as a differential and algebraic equation (DAE) set, there are 26 dynamic state concentration variables, and 8 implicit algebraic variables per reactor vessel or element. Implemented as differential equations (DE) only, there are 32 dynamic concentration state variables.\n",
+ "\n",
+ "*Water Science and Technology, Vol 45, No 10, pp 65–73*"
+ ]
+ },
+ {
+ "attachments": {
+ "ADM1.JPG": {
+ "image/jpeg": "/9j/4AAQSkZJRgABAQEAYABgAAD/4RDyRXhpZgAATU0AKgAAAAgABAE7AAIAAAANAAAISodpAAQAAAABAAAIWJydAAEAAAAaAAAQ0OocAAcAAAgMAAAAPgAAAAAc6gAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEdhLVllb25nIEtpbQAAAAWQAwACAAAAFAAAEKaQBAACAAAAFAAAELqSkQACAAAAAzc4AACSkgACAAAAAzc4AADqHAAHAAAIDAAACJoAAAAAHOoAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyMDIzOjEwOjE1IDIxOjM4OjU0ADIwMjM6MTA6MTUgMjE6Mzg6NTQAAABHAGEALQBZAGUAbwBuAGcAIABLAGkAbQAAAP/hCx9odHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIi8+PHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9InV1aWQ6ZmFmNWJkZDUtYmEzZC0xMWRhLWFkMzEtZDMzZDc1MTgyZjFiIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iPjx4bXA6Q3JlYXRlRGF0ZT4yMDIzLTEwLTE1VDIxOjM4OjU0Ljc4MjwveG1wOkNyZWF0ZURhdGU+PC9yZGY6RGVzY3JpcHRpb24+PHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9InV1aWQ6ZmFmNWJkZDUtYmEzZC0xMWRhLWFkMzEtZDMzZDc1MTgyZjFiIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPjxkYzpjcmVhdG9yPjxyZGY6U2VxIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+PHJkZjpsaT5HYS1ZZW9uZyBLaW08L3JkZjpsaT48L3JkZjpTZXE+DQoJCQk8L2RjOmNyZWF0b3I+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8P3hwYWNrZXQg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"
+ }
+ },
+ "cell_type": "markdown",
+ "id": "180af880",
+ "metadata": {},
+ "source": [
+ "![ADM1.JPG](attachment:ADM1.JPG)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "deab6410",
+ "metadata": {},
+ "source": [
+ "**Note:** You can find validation of the ADM1 system in [EXPOsan](https://github.com/QSD-Group/EXPOsan/tree/main/exposan/adm)."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "47af6e27",
+ "metadata": {},
+ "source": [
+ "## 2. System Setup "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "fb4e6486",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Import packages\n",
+ "import numpy as np\n",
+ "from chemicals.elements import molecular_weight as get_mw\n",
+ "from qsdsan import sanunits as su, processes as pc, WasteStream, System\n",
+ "from qsdsan.utils import time_printer\n",
+ "\n",
+ "import warnings\n",
+ "warnings.simplefilter(action='ignore', category=FutureWarning) # to ignore Pandas future warning"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "8c7244dc",
+ "metadata": {},
+ "source": [
+ "### 2.1. State variables of ADM1"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "5774fdae",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "CompiledComponents([S_su, S_aa, S_fa, S_va, S_bu, S_pro, S_ac, S_h2, S_ch4, S_IC, S_IN, S_I, X_c, X_ch, X_pr, X_li, X_su, X_aa, X_fa, X_c4, X_pro, X_ac, X_h2, X_I, S_cat, S_an, H2O])\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Components \n",
+ "cmps = pc.create_adm1_cmps() # create state variables for ADM1\n",
+ "cmps.show() # 26 components in ADM1 + water"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "4ee7c0b5",
+ "metadata": {},
+ "source": [
+ "**S_su**: Monosaccharides, **S_aa**: Amino acids, **S_fa**: Total long-chain fatty acids, **S_va**: Total valerate, **S_bu**: Total butyrate, **S_pro**: Total propionate, **S_ac**: Total acetate, **S_h2**: Hydrogen gas, **S_ch4**: Methane gas, **S_IC**: Inorganic carbon, **S_IN**: Inorganic nitrogen, **S_I**: Soluble inerts, **X_c**: Composites, **X_ch**: Carobohydrates, **X_pr**: Proteins, **X_li**: Lipids, **X_su**: Biomass uptaking sugars, **X_aa**: Biomass uptaking amino acids, **X_fa**: Biomass uptaking long chain fatty acids, **X_c4**: Biomass uptaking c4 fatty acids (valerate and butyrate), **X_pro**: Biomass uptaking propionate, **X_ac**: Biomass uptaking acetate, **X_h2**: Biomass uptaking hydrogen, **X_I**: Particulate inerts, **S_cat**: Other cations, **S_an**: Other anions"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "c4f28ea2",
+ "metadata": {},
+ "source": [
+ "### 2.2. The ADM1 `Process`"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "id": "0dd6a5b8",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "ADM1([disintegration, hydrolysis_carbs, hydrolysis_proteins, hydrolysis_lipids, uptake_sugars, uptake_amino_acids, uptake_LCFA, uptake_valerate, uptake_butyrate, uptake_propionate, uptake_acetate, uptake_h2, decay_Xsu, decay_Xaa, decay_Xfa, decay_Xc4, decay_Xpro, decay_Xac, decay_Xh2, h2_transfer, ch4_transfer, IC_transfer])\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Processes\n",
+ "adm1 = pc.ADM1() # create ADM1 processes\n",
+ "adm1.show() # 22 processes in ADM1"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "id": "cc34c5f3",
+ "metadata": {
+ "scrolled": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{'disintegration': ,\n",
+ " 'hydrolysis_carbs': ,\n",
+ " 'hydrolysis_proteins': ,\n",
+ " 'hydrolysis_lipids': ,\n",
+ " 'uptake_sugars': ,\n",
+ " 'uptake_amino_acids': ,\n",
+ " 'uptake_LCFA': ,\n",
+ " 'uptake_valerate': ,\n",
+ " 'uptake_butyrate': ,\n",
+ " 'uptake_propionate': ,\n",
+ " 'uptake_acetate': ,\n",
+ " 'uptake_h2': ,\n",
+ " 'decay_Xsu': ,\n",
+ " 'decay_Xaa': ,\n",
+ " 'decay_Xfa': ,\n",
+ " 'decay_Xc4': ,\n",
+ " 'decay_Xpro': ,\n",
+ " 'decay_Xac': ,\n",
+ " 'decay_Xh2': ,\n",
+ " 'h2_transfer': ,\n",
+ " 'ch4_transfer': ,\n",
+ " 'IC_transfer': ,\n",
+ " 'tuple': (,\n",
+ " ,\n",
+ " ,\n",
+ " ,\n",
+ " ,\n",
+ " ,\n",
+ " ,\n",
+ " ,\n",
+ " ,\n",
+ " ,\n",
+ " ,\n",
+ " ,\n",
+ " ,\n",
+ " ,\n",
+ " ,\n",
+ " ,\n",
+ " ,\n",
+ " ,\n",
+ " ,\n",
+ " ,\n",
+ " ,\n",
+ " ),\n",
+ " 'size': 22,\n",
+ " 'IDs': ('disintegration',\n",
+ " 'hydrolysis_carbs',\n",
+ " 'hydrolysis_proteins',\n",
+ " 'hydrolysis_lipids',\n",
+ " 'uptake_sugars',\n",
+ " 'uptake_amino_acids',\n",
+ " 'uptake_LCFA',\n",
+ " 'uptake_valerate',\n",
+ " 'uptake_butyrate',\n",
+ " 'uptake_propionate',\n",
+ " 'uptake_acetate',\n",
+ " 'uptake_h2',\n",
+ " 'decay_Xsu',\n",
+ " 'decay_Xaa',\n",
+ " 'decay_Xfa',\n",
+ " 'decay_Xc4',\n",
+ " 'decay_Xpro',\n",
+ " 'decay_Xac',\n",
+ " 'decay_Xh2',\n",
+ " 'h2_transfer',\n",
+ " 'ch4_transfer',\n",
+ " 'IC_transfer'),\n",
+ " '_index': {'disintegration': 0,\n",
+ " 'hydrolysis_carbs': 1,\n",
+ " 'hydrolysis_proteins': 2,\n",
+ " 'hydrolysis_lipids': 3,\n",
+ " 'uptake_sugars': 4,\n",
+ " 'uptake_amino_acids': 5,\n",
+ " 'uptake_LCFA': 6,\n",
+ " 'uptake_valerate': 7,\n",
+ " 'uptake_butyrate': 8,\n",
+ " 'uptake_propionate': 9,\n",
+ " 'uptake_acetate': 10,\n",
+ " 'uptake_h2': 11,\n",
+ " 'decay_Xsu': 12,\n",
+ " 'decay_Xaa': 13,\n",
+ " 'decay_Xfa': 14,\n",
+ " 'decay_Xc4': 15,\n",
+ " 'decay_Xpro': 16,\n",
+ " 'decay_Xac': 17,\n",
+ " 'decay_Xh2': 18,\n",
+ " 'h2_transfer': 19,\n",
+ " 'ch4_transfer': 20,\n",
+ " 'IC_transfer': 21},\n",
+ " '_components': CompiledComponents([S_su, S_aa, S_fa, S_va, S_bu, S_pro, S_ac, S_h2, S_ch4, S_IC, S_IN, S_I, X_c, X_ch, X_pr, X_li, X_su, X_aa, X_fa, X_c4, X_pro, X_ac, X_h2, X_I, S_cat, S_an, H2O]),\n",
+ " '_parameters': {'f_ch_xc': 0.2,\n",
+ " 'f_pr_xc': 0.2,\n",
+ " 'f_li_xc': 0.3,\n",
+ " 'f_xI_xc': 0.2,\n",
+ " 'f_sI_xc': 0.10000000000000009,\n",
+ " 'f_fa_li': 0.95,\n",
+ " 'f_bu_su': 0.13,\n",
+ " 'f_pro_su': 0.27,\n",
+ " 'f_ac_su': 0.41,\n",
+ " 'f_h2_su': 0.19,\n",
+ " 'f_va_aa': 0.23,\n",
+ " 'f_bu_aa': 0.26,\n",
+ " 'f_pro_aa': 0.05,\n",
+ " 'f_ac_aa': 0.4,\n",
+ " 'f_h2_aa': 0.06,\n",
+ " 'f_ac_fa': 0.7,\n",
+ " 'f_h2_fa': 0.30000000000000004,\n",
+ " 'f_pro_va': 0.54,\n",
+ " 'f_ac_va': 0.31,\n",
+ " 'f_h2_va': 0.14999999999999997,\n",
+ " 'f_ac_bu': 0.8,\n",
+ " 'f_h2_bu': 0.19999999999999996,\n",
+ " 'f_ac_pro': 0.57,\n",
+ " 'f_h2_pro': 0.43000000000000005,\n",
+ " 'Y_su': 0.1,\n",
+ " 'Y_aa': 0.08,\n",
+ " 'Y_fa': 0.06,\n",
+ " 'Y_c4': 0.06,\n",
+ " 'Y_pro': 0.04,\n",
+ " 'Y_ac': 0.05,\n",
+ " 'Y_h2': 0.06},\n",
+ " '_dyn_params': {},\n",
+ " '_stoichiometry': [[0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " -0.375348450566896*f_ch_xc - 0.264038220398782*f_li_xc - 0.360321*f_pr_xc - 0.360321*f_sI_xc - 0.360321*f_xI_xc + 0.334618102,\n",
+ " -0.0980469*f_pr_xc - 0.0600327162*f_sI_xc - 0.0600327162*f_xI_xc + 0.0376219962,\n",
+ " 1.0*f_sI_xc,\n",
+ " -1.00000000000000,\n",
+ " 1.0*f_ch_xc,\n",
+ " 1.0*f_pr_xc,\n",
+ " 1.0*f_li_xc,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1.0*f_xI_xc,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0],\n",
+ " [1.00000000000000,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " -5.55111512312578e-17,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " -1.00000000000000,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0],\n",
+ " [0,\n",
+ " 1.00000000000000,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " -1.00000000000000,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0],\n",
+ " [1.0 - 1.0*f_fa_li,\n",
+ " 0,\n",
+ " 1.0*f_fa_li,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0.114236484955142*f_fa_li - 0.111310230168114,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " -1.00000000000000,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0],\n",
+ " [-1.00000000000000,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1.0*f_bu_su*(1 - Y_su),\n",
+ " 1.0*f_pro_su*(1 - Y_su),\n",
+ " 1.0*f_ac_su*(1 - Y_su),\n",
+ " 1.0*f_h2_su*(1 - Y_su),\n",
+ " 0,\n",
+ " 0.375348450566896*Y_su*f_ac_su + 0.300278760453517*Y_su*f_bu_su + 0.321727243343054*Y_su*f_pro_su - 0.37593491*Y_su - 0.375348450566896*f_ac_su - 0.300278760453517*f_bu_su - 0.321727243343054*f_pro_su + 0.375348450566896,\n",
+ " -0.08*Y_su,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1.0*Y_su,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0],\n",
+ " [0,\n",
+ " -1.00000000000000,\n",
+ " 0,\n",
+ " 1.0*f_va_aa*(1 - Y_aa),\n",
+ " 1.0*f_bu_aa*(1 - Y_aa),\n",
+ " 1.0*f_pro_aa*(1 - Y_aa),\n",
+ " 1.0*f_ac_aa*(1 - Y_aa),\n",
+ " 1.0*f_h2_aa*(1 - Y_aa),\n",
+ " 0,\n",
+ " 0.375348450566896*Y_aa*f_ac_aa + 0.300278760453517*Y_aa*f_bu_aa + 0.321727243343054*Y_aa*f_pro_aa + 0.288729577359151*Y_aa*f_va_aa - 0.37593491*Y_aa - 0.375348450566896*f_ac_aa - 0.300278760453517*f_bu_aa - 0.321727243343054*f_pro_aa - 0.288729577359151*f_va_aa + 0.360321,\n",
+ " 0.0980469 - 0.08*Y_aa,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1.0*Y_aa,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0],\n",
+ " [0,\n",
+ " 0,\n",
+ " -1.00000000000000,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1.0*f_ac_fa*(1 - Y_fa),\n",
+ " 1.0*f_h2_fa*(1 - Y_fa),\n",
+ " 0,\n",
+ " 0.375348450566896*Y_fa*f_ac_fa - 0.37593491*Y_fa - 0.375348450566896*f_ac_fa + 0.261111965611754,\n",
+ " -0.08*Y_fa,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1.0*Y_fa,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0],\n",
+ " [0,\n",
+ " 0,\n",
+ " 0,\n",
+ " -1.00000000000000,\n",
+ " 0,\n",
+ " 1.0*f_pro_va*(1 - Y_c4),\n",
+ " 1.0*f_ac_va*(1 - Y_c4),\n",
+ " 1.0*f_h2_va*(1 - Y_c4),\n",
+ " 0,\n",
+ " 0.375348450566896*Y_c4*f_ac_va + 0.321727243343054*Y_c4*f_pro_va - 0.37593491*Y_c4 - 0.375348450566896*f_ac_va - 0.321727243343054*f_pro_va + 0.288729577359151,\n",
+ " -0.08*Y_c4,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1.0*Y_c4,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0],\n",
+ " [0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " -1.00000000000000,\n",
+ " 0,\n",
+ " 1.0*f_ac_bu*(1 - Y_c4),\n",
+ " 1.0*f_h2_bu*(1 - Y_c4),\n",
+ " 0,\n",
+ " 0.375348450566896*Y_c4*f_ac_bu - 0.37593491*Y_c4 - 0.375348450566896*f_ac_bu + 0.300278760453517,\n",
+ " -0.08*Y_c4,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1.0*Y_c4,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0],\n",
+ " [0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " -1.00000000000000,\n",
+ " 1.0*f_ac_pro*(1 - Y_pro),\n",
+ " 1.0*f_h2_pro*(1 - Y_pro),\n",
+ " 0,\n",
+ " 0.375348450566896*Y_pro*f_ac_pro - 0.37593491*Y_pro - 0.375348450566896*f_ac_pro + 0.321727243343054,\n",
+ " -0.08*Y_pro,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1.0*Y_pro,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0],\n",
+ " [0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " -1.00000000000000,\n",
+ " 0,\n",
+ " 1.0 - 1.0*Y_ac,\n",
+ " 0.187674225283448 - 0.188260684716552*Y_ac,\n",
+ " -0.08*Y_ac,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1.0*Y_ac,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0],\n",
+ " [0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " -1.00000000000000,\n",
+ " 1.0 - 1.0*Y_h2,\n",
+ " -0.188260684716552*Y_h2 - 0.187674225283448,\n",
+ " -0.08*Y_h2,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1.0*Y_h2,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0],\n",
+ " [0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0.0413168080000000,\n",
+ " 0.0423780038000000,\n",
+ " 0,\n",
+ " 1.00000000000000,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " -1.00000000000000,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0],\n",
+ " [0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0.0413168080000000,\n",
+ " 0.0423780038000000,\n",
+ " 0,\n",
+ " 1.00000000000000,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " -1.00000000000000,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0],\n",
+ " [0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0.0413168080000000,\n",
+ " 0.0423780038000000,\n",
+ " 0,\n",
+ " 1.00000000000000,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " -1.00000000000000,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0],\n",
+ " [0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0.0413168080000000,\n",
+ " 0.0423780038000000,\n",
+ " 0,\n",
+ " 1.00000000000000,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " -1.00000000000000,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0],\n",
+ " [0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0.0413168080000000,\n",
+ " 0.0423780038000000,\n",
+ " 0,\n",
+ " 1.00000000000000,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " -1.00000000000000,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0],\n",
+ " [0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0.0413168080000000,\n",
+ " 0.0423780038000000,\n",
+ " 0,\n",
+ " 1.00000000000000,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " -1.00000000000000,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0],\n",
+ " [0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0.0413168080000000,\n",
+ " 0.0423780038000000,\n",
+ " 0,\n",
+ " 1.00000000000000,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " -1.00000000000000,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0],\n",
+ " [0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " -1.0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0],\n",
+ " [0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " -1.0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0],\n",
+ " [0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " -1.0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0]],\n",
+ " '_stoichio_lambdified': None,\n",
+ " '_rate_equations': (None,\n",
+ " None,\n",
+ " None,\n",
+ " None,\n",
+ " None,\n",
+ " None,\n",
+ " None,\n",
+ " None,\n",
+ " None,\n",
+ " None,\n",
+ " None,\n",
+ " None,\n",
+ " None,\n",
+ " None,\n",
+ " None,\n",
+ " None,\n",
+ " None,\n",
+ " None,\n",
+ " None,\n",
+ " None,\n",
+ " None,\n",
+ " None),\n",
+ " '_production_rates': None,\n",
+ " '_rate_function': }"
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "adm1.__dict__ # adm1 is composed of..."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "0b3d103f",
+ "metadata": {},
+ "source": [
+ "### 2.3. Petersen matrix of ADM1"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "id": "9a9db08e",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " S_su | \n",
+ " S_aa | \n",
+ " S_fa | \n",
+ " S_va | \n",
+ " S_bu | \n",
+ " ... | \n",
+ " X_h2 | \n",
+ " X_I | \n",
+ " S_cat | \n",
+ " S_an | \n",
+ " H2O | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " disintegration | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " ... | \n",
+ " 0 | \n",
+ " 0.2 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " hydrolysis_carbs | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " ... | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " hydrolysis_proteins | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " ... | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " hydrolysis_lipids | \n",
+ " 0.05 | \n",
+ " 0 | \n",
+ " 0.95 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " ... | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " uptake_sugars | \n",
+ " -1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0.117 | \n",
+ " ... | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " uptake_amino_acids | \n",
+ " 0 | \n",
+ " -1 | \n",
+ " 0 | \n",
+ " 0.212 | \n",
+ " 0.239 | \n",
+ " ... | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " uptake_LCFA | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " -1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " ... | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " uptake_valerate | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " -1 | \n",
+ " 0 | \n",
+ " ... | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " uptake_butyrate | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " -1 | \n",
+ " ... | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " uptake_propionate | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " ... | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " uptake_acetate | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " ... | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " uptake_h2 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " ... | \n",
+ " 0.06 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " decay_Xsu | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " ... | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " decay_Xaa | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " ... | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " decay_Xfa | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " ... | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " decay_Xc4 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " ... | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " decay_Xpro | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " ... | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " decay_Xac | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " ... | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " decay_Xh2 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " ... | \n",
+ " -1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " h2_transfer | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " ... | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " ch4_transfer | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " ... | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " IC_transfer | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " ... | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
22 rows × 27 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " S_su S_aa S_fa S_va S_bu ... X_h2 X_I S_cat S_an H2O\n",
+ "disintegration 0 0 0 0 0 ... 0 0.2 0 0 0\n",
+ "hydrolysis_carbs 1 0 0 0 0 ... 0 0 0 0 0\n",
+ "hydrolysis_proteins 0 1 0 0 0 ... 0 0 0 0 0\n",
+ "hydrolysis_lipids 0.05 0 0.95 0 0 ... 0 0 0 0 0\n",
+ "uptake_sugars -1 0 0 0 0.117 ... 0 0 0 0 0\n",
+ "uptake_amino_acids 0 -1 0 0.212 0.239 ... 0 0 0 0 0\n",
+ "uptake_LCFA 0 0 -1 0 0 ... 0 0 0 0 0\n",
+ "uptake_valerate 0 0 0 -1 0 ... 0 0 0 0 0\n",
+ "uptake_butyrate 0 0 0 0 -1 ... 0 0 0 0 0\n",
+ "uptake_propionate 0 0 0 0 0 ... 0 0 0 0 0\n",
+ "uptake_acetate 0 0 0 0 0 ... 0 0 0 0 0\n",
+ "uptake_h2 0 0 0 0 0 ... 0.06 0 0 0 0\n",
+ "decay_Xsu 0 0 0 0 0 ... 0 0 0 0 0\n",
+ "decay_Xaa 0 0 0 0 0 ... 0 0 0 0 0\n",
+ "decay_Xfa 0 0 0 0 0 ... 0 0 0 0 0\n",
+ "decay_Xc4 0 0 0 0 0 ... 0 0 0 0 0\n",
+ "decay_Xpro 0 0 0 0 0 ... 0 0 0 0 0\n",
+ "decay_Xac 0 0 0 0 0 ... 0 0 0 0 0\n",
+ "decay_Xh2 0 0 0 0 0 ... -1 0 0 0 0\n",
+ "h2_transfer 0 0 0 0 0 ... 0 0 0 0 0\n",
+ "ch4_transfer 0 0 0 0 0 ... 0 0 0 0 0\n",
+ "IC_transfer 0 0 0 0 0 ... 0 0 0 0 0\n",
+ "\n",
+ "[22 rows x 27 columns]"
+ ]
+ },
+ "execution_count": 6,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Petersen stoichiometric matrix\n",
+ "adm1.stoichiometry"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "4d14e88c",
+ "metadata": {},
+ "source": [
+ "**The rate of production or consumption for a state variable**
\n",
+ "\n",
+ "$a_{ij}$: the stoichiometric coefficient of component $j$ in process $i$ (i.e., value on the $i$th row and $j$th column of the stoichiometry matrix)
\n",
+ "$\\rho_i$: process $i$'s reaction rate
\n",
+ "$r_j$: the overall production or consumption rate of component $j$
\n",
+ "$$r_j = \\sum_i{a_{ij}\\cdot\\rho_i}$$\n",
+ "In matrix notation, this calculation can be neatly described as\n",
+ "$$\\mathbf{r} = \\mathbf{A^T} \\mathbf{\\rho}$$\n",
+ "where $\\mathbf{A}$ is the stoichiometry matrix and $\\mathbf{\\rho}$ is the array of process rates."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "e2c2360d",
+ "metadata": {},
+ "source": [
+ "### 2.4. Influent & effluent"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "id": "a28bc7d2",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Flow rate, temperature, HRT\n",
+ "Q = 170 # influent flowrate [m3/d]\n",
+ "Temp = 273.15+35 # temperature [K]\n",
+ "HRT = 5 # HRT [d]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "id": "28a9c8e5",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# WasteStream\n",
+ "inf = WasteStream('Influent', T=Temp) # influent\n",
+ "eff = WasteStream('Effluent', T=Temp) # effluent\n",
+ "gas = WasteStream('Biogas') # gas"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "id": "bdd90569",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "WasteStream: Influent\n",
+ "phase: 'l', T: 308.15 K, P: 101325 Pa\n",
+ "flow (g/hr): S_su 70.8\n",
+ " S_aa 7.08\n",
+ " S_fa 7.08\n",
+ " S_va 7.08\n",
+ " S_bu 7.08\n",
+ " S_pro 7.08\n",
+ " S_ac 7.08\n",
+ " S_h2 7.08e-05\n",
+ " S_ch4 0.0708\n",
+ " S_IC 3.4e+03\n",
+ " S_IN 992\n",
+ " S_I 142\n",
+ " X_c 1.42e+04\n",
+ " X_ch 3.54e+04\n",
+ " X_pr 1.42e+05\n",
+ " ... 6.97e+06\n",
+ " WasteStream-specific properties:\n",
+ " pH : 7.0\n",
+ " Alkalinity : 2.5 mg/L\n",
+ " COD : 57096.0 mg/L\n",
+ " BOD : 12769.4 mg/L\n",
+ " TC : 20596.5 mg/L\n",
+ " TOC : 20116.0 mg/L\n",
+ " TN : 3683.2 mg/L\n",
+ " TP : 489.3 mg/L\n",
+ " TK : 9.8 mg/L\n",
+ " Component concentrations (mg/L):\n",
+ " S_su 10.0\n",
+ " S_aa 1.0\n",
+ " S_fa 1.0\n",
+ " S_va 1.0\n",
+ " S_bu 1.0\n",
+ " S_pro 1.0\n",
+ " S_ac 1.0\n",
+ " S_h2 0.0\n",
+ " S_ch4 0.0\n",
+ " S_IC 480.4\n",
+ " S_IN 140.1\n",
+ " S_I 20.0\n",
+ " X_c 2000.0\n",
+ " X_ch 5000.0\n",
+ " X_pr 20000.0\n",
+ " ...\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Set influent concentration\n",
+ "C_mw = get_mw({'C':1}) # molecular weight of carbon\n",
+ "N_mw = get_mw({'N':1}) # molecular weight of nitrogen\n",
+ "\n",
+ "default_inf_kwargs = {\n",
+ " 'concentrations': {\n",
+ " 'S_su':0.01,\n",
+ " 'S_aa':1e-3,\n",
+ " 'S_fa':1e-3,\n",
+ " 'S_va':1e-3,\n",
+ " 'S_bu':1e-3,\n",
+ " 'S_pro':1e-3,\n",
+ " 'S_ac':1e-3,\n",
+ " 'S_h2':1e-8,\n",
+ " 'S_ch4':1e-5,\n",
+ " 'S_IC':0.04*C_mw,\n",
+ " 'S_IN':0.01*N_mw,\n",
+ " 'S_I':0.02,\n",
+ " 'X_c':2.0,\n",
+ " 'X_ch':5.0,\n",
+ " 'X_pr':20.0,\n",
+ " 'X_li':5.0,\n",
+ " 'X_aa':1e-2,\n",
+ " 'X_fa':1e-2,\n",
+ " 'X_c4':1e-2,\n",
+ " 'X_pro':1e-2,\n",
+ " 'X_ac':1e-2,\n",
+ " 'X_h2':1e-2,\n",
+ " 'X_I':25,\n",
+ " 'S_cat':0.04,\n",
+ " 'S_an':0.02,\n",
+ " },\n",
+ " 'units': ('m3/d', 'kg/m3'),\n",
+ " } # concentration of each state variable in influent\n",
+ "\n",
+ "inf.set_flow_by_concentration(Q, **default_inf_kwargs) # set influent concentration\n",
+ "inf"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "4bf9c287",
+ "metadata": {},
+ "source": [
+ "### 2.5. Reactor"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "id": "1fc90df0",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# SanUnit\n",
+ "AD = su.AnaerobicCSTR('AD', ins=inf, outs=(gas, eff), model=adm1, V_liq=Q*HRT, V_gas=Q*HRT*0.1, T=Temp)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "0716d4c9",
+ "metadata": {},
+ "source": [
+ "**su.AnaerobicCSTR**(\n",
+ " ID='',\n",
+ " ins=None,\n",
+ " outs=(),\n",
+ " thermo=None,\n",
+ " init_with='WasteStream',\n",
+ " V_liq=3400,\n",
+ " V_gas=300,\n",
+ " model=None,\n",
+ " T=308.15,\n",
+ " headspace_P=1.013,\n",
+ " external_P=1.013,\n",
+ " pipe_resistance=50000.0,\n",
+ " fixed_headspace_P=False,\n",
+ " retain_cmps=(),\n",
+ " fraction_retain=0.95,\n",
+ " isdynamic=True,\n",
+ " exogenous_vars=(),\n",
+ " **kwargs,\n",
+ ")\n",
+ "\n",
+ "**Parameters**
\n",
+ "*ins* : :class:`WasteStream`,\n",
+ " Influent to the reactor.
\n",
+ "*outs* : Iterable,\n",
+ " Biogas and treated effluent(s).
\n",
+ "*V_liq* : float, optional,\n",
+ " Liquid-phase volume [m^3]. The default is 3400.
\n",
+ "*V_gas* : float, optional,\n",
+ " Headspace volume [m^3]. The default is 300.
\n",
+ "*model* : :class:`Processes`, optional,\n",
+ " The kinetic model, typically ADM1-like. The default is None.
\n",
+ "*T* : float, optional,\n",
+ " Operation temperature [K]. The default is 308.15.
\n",
+ "*headspace_P* : float, optional,\n",
+ " Headspace pressure, if fixed [bar]. The default is 1.013.
\n",
+ "*external_P* : float, optional,\n",
+ " External pressure, typically atmospheric pressure [bar]. The default is 1.013.
\n",
+ "*pipe_resistance* : float, optional,\n",
+ " Biogas extraction pipe resistance [m3/d/bar]. The default is 5.0e4.
\n",
+ "*fixed_headspace_P* : bool, optional,\n",
+ " Whether to assume fixed headspace pressure. The default is False.
\n",
+ "*retain_cmps* : Iterable[str], optional,\n",
+ " IDs of the components that are assumed to be retained in the reactor, ideally.\n",
+ " The default is ().
\n",
+ "*fraction_retain* : float, optional,\n",
+ " The assumed fraction of ideal retention of select components. The default is 0.95.
"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "id": "4d403072",
+ "metadata": {
+ "scrolled": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/svg+xml": [
+ ""
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "AnaerobicCSTR: AD\n",
+ "ins...\n",
+ "[0] Influent\n",
+ "phase: 'l', T: 308.15 K, P: 101325 Pa\n",
+ "flow (g/hr): S_su 70.8\n",
+ " S_aa 7.08\n",
+ " S_fa 7.08\n",
+ " S_va 7.08\n",
+ " S_bu 7.08\n",
+ " S_pro 7.08\n",
+ " S_ac 7.08\n",
+ " S_h2 7.08e-05\n",
+ " S_ch4 0.0708\n",
+ " S_IC 3.4e+03\n",
+ " S_IN 992\n",
+ " S_I 142\n",
+ " X_c 1.42e+04\n",
+ " X_ch 3.54e+04\n",
+ " X_pr 1.42e+05\n",
+ " ... 6.97e+06\n",
+ " WasteStream-specific properties:\n",
+ " pH : 7.0\n",
+ " COD : 57096.0 mg/L\n",
+ " BOD : 12769.4 mg/L\n",
+ " TC : 20596.5 mg/L\n",
+ " TOC : 20116.0 mg/L\n",
+ " TN : 3683.2 mg/L\n",
+ " TP : 489.3 mg/L\n",
+ " TK : 9.8 mg/L\n",
+ "outs...\n",
+ "[0] Biogas\n",
+ "phase: 'l', T: 298.15 K, P: 101325 Pa\n",
+ "flow: 0\n",
+ " WasteStream-specific properties: None for empty waste streams\n",
+ "[1] Effluent\n",
+ "phase: 'l', T: 308.15 K, P: 101325 Pa\n",
+ "flow: 0\n",
+ " WasteStream-specific properties: None for empty waste streams\n"
+ ]
+ }
+ ],
+ "source": [
+ "AD # anaerobic CSTR with influent, effluent, and biogas\n",
+ " # before running the simulation, 'outs' have nothing"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "id": "b162ac79",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Set initial condition of the reactor\n",
+ "default_init_conds = {\n",
+ " 'S_su': 0.0124*1e3,\n",
+ " 'S_aa': 0.0055*1e3,\n",
+ " 'S_fa': 0.1074*1e3,\n",
+ " 'S_va': 0.0123*1e3,\n",
+ " 'S_bu': 0.0140*1e3,\n",
+ " 'S_pro': 0.0176*1e3,\n",
+ " 'S_ac': 0.0893*1e3,\n",
+ " 'S_h2': 2.5055e-7*1e3,\n",
+ " 'S_ch4': 0.0555*1e3,\n",
+ " 'S_IC': 0.0951*C_mw*1e3,\n",
+ " 'S_IN': 0.0945*N_mw*1e3,\n",
+ " 'S_I': 0.1309*1e3,\n",
+ " 'X_ch': 0.0205*1e3,\n",
+ " 'X_pr': 0.0842*1e3,\n",
+ " 'X_li': 0.0436*1e3,\n",
+ " 'X_su': 0.3122*1e3,\n",
+ " 'X_aa': 0.9317*1e3,\n",
+ " 'X_fa': 0.3384*1e3,\n",
+ " 'X_c4': 0.3258*1e3,\n",
+ " 'X_pro': 0.1011*1e3,\n",
+ " 'X_ac': 0.6772*1e3,\n",
+ " 'X_h2': 0.2848*1e3,\n",
+ " 'X_I': 17.2162*1e3\n",
+ " } # concentration of each state variable in reactor\n",
+ "\n",
+ "AD.set_init_conc(**default_init_conds) # set initial condition of AD"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "051f6b47",
+ "metadata": {},
+ "source": [
+ "### 2.6. System set-up"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "id": "85b13876",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/svg+xml": [
+ ""
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "System: Anaerobic_Digestion\n",
+ "ins...\n",
+ "[0] Influent \n",
+ " phase: 'l', T: 308.15 K, P: 101325 Pa\n",
+ " flow (kmol/hr): S_su 0.000393\n",
+ " S_aa 0.00708\n",
+ " S_fa 2.76e-05\n",
+ " S_va 6.94e-05\n",
+ " S_bu 8.13e-05\n",
+ " S_pro 9.69e-05\n",
+ " S_ac 0.00012\n",
+ " ... 709\n",
+ "outs...\n",
+ "[0] Biogas \n",
+ " phase: 'l', T: 298.15 K, P: 101325 Pa\n",
+ " flow: 0\n",
+ "[1] Effluent \n",
+ " phase: 'l', T: 308.15 K, P: 101325 Pa\n",
+ " flow: 0\n"
+ ]
+ }
+ ],
+ "source": [
+ "# System\n",
+ "sys = System('Anaerobic_Digestion', path=(AD,)) # aggregation of sanunits\n",
+ "sys.set_dynamic_tracker(eff, gas) # what you want to track changes in concentration\n",
+ "sys # before running the simulation, 'outs' have nothing"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "bd50264c",
+ "metadata": {},
+ "source": [
+ "## 3. System Simulation "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "id": "132152fe",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Simulation settings\n",
+ "t = 10 # total time for simulation\n",
+ "t_step = 0.1 # times at which to store the computed solution \n",
+ "\n",
+ "method = 'BDF' # integration method to use\n",
+ "# method = 'RK45'\n",
+ "# method = 'RK23'\n",
+ "# method = 'DOP853'\n",
+ "# method = 'Radau'\n",
+ "# method = 'LSODA'\n",
+ "\n",
+ "# https://docs.scipy.org/doc/scipy/reference/generated/scipy.integrate.solve_ivp.html"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "id": "74bcbaf0",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Run simulation\n",
+ "sys.simulate(state_reset_hook='reset_cache',\n",
+ " t_span=(0,t),\n",
+ " t_eval=np.arange(0, t+t_step, t_step),\n",
+ " method=method,\n",
+ " # export_state_to=f'sol_{t}d_{method}_AD.xlsx', # uncomment to export simulation result as excel file\n",
+ " )"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "id": "55247c4c",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/svg+xml": [
+ ""
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "System: Anaerobic_Digestion\n",
+ "ins...\n",
+ "[0] Influent \n",
+ " phase: 'l', T: 308.15 K, P: 101325 Pa\n",
+ " flow (kmol/hr): S_su 0.000393\n",
+ " S_aa 0.00708\n",
+ " S_fa 2.76e-05\n",
+ " S_va 6.94e-05\n",
+ " S_bu 8.13e-05\n",
+ " S_pro 9.69e-05\n",
+ " S_ac 0.00012\n",
+ " ... 709\n",
+ "outs...\n",
+ "[0] Biogas \n",
+ " phase: 'g', T: 308.15 K, P: 101325 Pa\n",
+ " flow (kmol/hr): S_h2 0.00119\n",
+ " S_ch4 8.5\n",
+ " S_IC 0.414\n",
+ " H2O 0.205\n",
+ "[1] Effluent \n",
+ " phase: 'l', T: 308.15 K, P: 101325 Pa\n",
+ " flow (kmol/hr): S_su 0.00164\n",
+ " S_aa 0.129\n",
+ " S_fa 0.0222\n",
+ " S_va 0.00332\n",
+ " S_bu 0.00447\n",
+ " S_pro 0.0106\n",
+ " S_ac 0.639\n",
+ " ... 587\n"
+ ]
+ }
+ ],
+ "source": [
+ "sys # now you have 'outs' info."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "7b57f738",
+ "metadata": {},
+ "source": [
+ "### 3.1. Check simulation results: Effluent"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "id": "990d5e59",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(