{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## ADM1F SRT: single tank and two-phase anaerobic dynamic membrane bioreactor\n", "\n", "This script is used to simulate a single tank suspended anaerobic dynamic membrane digester and a novel two-phase anaerobic dynamic membrane bioreator with separated SRT and HRT. In the two-phase reactor the effluent (model output) from the first phase dynamic membrane bioreactor is converted to the influent (model input) for the second-phase anaerobic dynamic membrane bioreactor as shown in the figure." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Note:** Before running the ADM1F SRT simulations see intructions on how to compile `adm1f_srt.cxx` in the User Guide.\n", "\n", "\n", "**Mass balance equation with SRT:**\n", "\n", "The ADM1 and ADM1F solve the mass balance equation (i.e. mass_change = mass_in – mass_out + reaction). ADM1F_SRT version of the model includes solid retention time ($t_{res,X}$) as shown in the equation below. \n", "\n", "$$\n", "\\frac{d\\, S_{\\text{liq,i}}}{dt} = \\frac{qS_{\\text{in,i}}}{V_{\\text{liq}}} - \\frac{qS_{\\text{liq,i}} }{V_{\\text{liq}}}+ \\sum_{j=1}^{12}\\rho_{j} v_{i,j}\n", "$$\n", "\n", "$$\n", "\\frac{d\\, X_{\\text{liq,i}}}{dt} = \\frac{qX_{\\text{in,i}}}{V_{\\text{liq}}} - \\frac{X_{\\text{liq,i}}}{t_{\\text{res,X}} + V_{\\text{liq}}/q} + \\sum_{j=13}^{24}\\rho_{j} v_{i,j}\n", "$$\n", "\n", "Authors: Wenjuan Zhang, Elchin Jafarov, Kuang Zhu" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "ExecuteTime": { "end_time": "2020-09-22T22:41:31.196813Z", "start_time": "2020-09-22T22:41:29.366849Z" }, "code_folding": [] }, "outputs": [], "source": [ "# Load packages\n", "import numpy as np\n", "import pandas as pd\n", "import os\n", "import seaborn as sns\n", "import adm1f_utils as adm1fu\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# navigate to simulations folder\n", "os.chdir('../simulations')" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "ExecuteTime": { "end_time": "2020-09-22T22:41:42.100135Z", "start_time": "2020-09-22T22:41:31.231830Z" }, "code_folding": [] }, "outputs": [], "source": [ "# Grab the names and unit of all the outputs\n", "(output_name,output_unit)=adm1fu.get_output_names()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "/Users/elchin/project/ADM1F_WM/build/adm1f\r\n" ] } ], "source": [ "#check the path to the executable\n", "!echo $ADM1F_EXE" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Single tank anaerobic dynamic membrane bioreactor (AnDMBR)\n", "\n", "To simulate the single tank AnDMBR that has separated SRT and HRT, We can call the function`reactor1` with different Q (flow-rate), Vliq (reactor volume), t_resx (SRT-HRT) values, the function will return the corresponding output\n", "\n", "Usage example: reactor1(Q=100, t_resx=30, Vliq=300) \n", "\n", "**(Unit)** Q: [m3/d], t_resx: [day], Vliq: [m3]" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "ExecuteTime": { "end_time": "2020-09-22T22:43:01.349288Z", "start_time": "2020-09-22T22:43:01.343864Z" }, "code_folding": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Reactor run, phase-one:\n", "$ADM1F_EXE -ts_type beuler -ts_adapt_type basic -ts_max_snes_failures -1 -steady -Vliq 300 -t_resx 0 -influent_file influent_cur.dat\n", "indicator-228.out\n", "Reactor run, phase-one:\n", "$ADM1F_EXE -ts_type beuler -ts_adapt_type basic -ts_max_snes_failures -1 -steady -Vliq 300 -t_resx 1 -influent_file influent_cur.dat\n", "indicator-307.out\n", "Reactor run, phase-one:\n", "$ADM1F_EXE -ts_type beuler -ts_adapt_type basic -ts_max_snes_failures -1 -steady -Vliq 300 -t_resx 2 -influent_file influent_cur.dat\n", "indicator-437.out\n", "Reactor run, phase-one:\n", "$ADM1F_EXE -ts_type beuler -ts_adapt_type basic -ts_max_snes_failures -1 -steady -Vliq 300 -t_resx 3 -influent_file influent_cur.dat\n", "indicator-563.out\n", "Reactor run, phase-one:\n", "$ADM1F_EXE -ts_type beuler -ts_adapt_type basic -ts_max_snes_failures -1 -steady -Vliq 300 -t_resx 4 -influent_file influent_cur.dat\n", "indicator-521.out\n", "Reactor run, phase-one:\n", "$ADM1F_EXE -ts_type beuler -ts_adapt_type basic -ts_max_snes_failures -1 -steady -Vliq 300 -t_resx 5 -influent_file influent_cur.dat\n", "indicator-516.out\n", "Reactor run, phase-one:\n", "$ADM1F_EXE -ts_type beuler -ts_adapt_type basic -ts_max_snes_failures -1 -steady -Vliq 300 -t_resx 6 -influent_file influent_cur.dat\n", "indicator-534.out\n", "Reactor run, phase-one:\n", "$ADM1F_EXE -ts_type beuler -ts_adapt_type basic -ts_max_snes_failures -1 -steady -Vliq 300 -t_resx 7 -influent_file influent_cur.dat\n", "indicator-542.out\n", "Reactor run, phase-one:\n", "$ADM1F_EXE -ts_type beuler -ts_adapt_type basic -ts_max_snes_failures -1 -steady -Vliq 300 -t_resx 8 -influent_file influent_cur.dat\n", "indicator-556.out\n", "Reactor run, phase-one:\n", "$ADM1F_EXE -ts_type beuler -ts_adapt_type basic -ts_max_snes_failures -1 -steady -Vliq 300 -t_resx 9 -influent_file influent_cur.dat\n", "indicator-576.out\n" ] } ], "source": [ "# testing different SRTs=[0,1,2,...9] on the one-phase reactor\n", "resx_list = [i for i in range(10)]\n", "# setup the matrix with columns correspoding SRTs and rows to outputs\n", "output1_resx = np.zeros((len(resx_list), 67))\n", "# here we utilize back euler solver and adataptive time step\n", "# for more command options see \"User Guide/Running ADM1F/step 5\"\n", "options='-ts_type beuler -ts_adapt_type basic -ts_max_snes_failures -1 -steady'\n", "\n", "for i in range(len(resx_list)):\n", " output1_resx[i] = adm1fu.reactor1(opt=options, Vliq=300, Q=600, t_resx=resx_list[i])\n", " \n", "np.savetxt('output_1phase.csv',output1_resx,delimiter=',',fmt='%1.4e')" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "ExecuteTime": { "end_time": "2020-09-22T22:43:13.547934Z", "start_time": "2020-09-22T22:43:13.481493Z" } }, "outputs": [], "source": [ "df1_resx = pd.read_csv('output_1phase.csv', sep=',', header=None)\n", "df1_resx.columns = output_name \n", "df1_resx.insert(0,\"T_resx\",resx_list)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Relation between t_resx and output when Vliq=300m3, Q=600m3/d**" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "ExecuteTime": { "end_time": "2020-09-22T22:43:41.970938Z", "start_time": "2020-09-22T22:43:41.906442Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
T_resxSsuSaaSfaSvaSbuSproSacSh2Sch4...AlkNH3NH4LCFApercentch4energych4efficiencyVFA/ALKACNsampleT
002152.800324.27007382.702381.7003667.3002542.7008263.525.643000-8.963700e-82...44957.00.0530671074.007382.70-1.133000e-8183.8083.97740.351490-3.203400e-720.5
11123.06049.16707751.202574.4004202.9003244.5009600.730.3520003.859800e-12...59182.00.0477011135.607751.201.599000e-12100.630-76.48000.3108401.255000e-080.5
2263.05726.63807839.002610.0004268.6003305.0009742.930.7720001.085400e-09...61421.00.0482081150.907839.004.422100e-10102.210-155.02000.3041502.777100e-070.5
3339.31317.3450908.1941.12954.11853.4113339.70.0006622.574900e+02...16289.02.513100963.03908.195.579800e+01209.370-218.44000.2007609.097200e+000.5
4430.63413.5750457.2030.59239.98935.8953066.60.0005152.653300e+02...18846.03.157300963.70457.205.623900e+01214.510-304.21000.1578501.324200e+010.5
5525.26111.2240309.5424.54331.95827.2542856.40.0004242.695900e+02...21319.03.693200966.73309.545.648800e+01217.230-390.02000.1292901.778600e+010.5
6621.6069.6181236.0820.61526.77522.1112685.80.0003622.726300e+02...23721.04.147900970.17236.085.666900e+01219.140-475.62000.1089002.279000e+010.5
7718.9608.4513192.1417.85923.15318.7022543.70.0003172.750200e+02...26050.04.540600973.69192.145.681200e+01220.630-560.89000.0936932.825000e+010.5
8816.9557.5652162.8715.81820.47916.2762423.20.0002842.770000e+02...28311.04.885500977.21162.875.692900e+01221.870-645.84000.0819843.416600e+010.5
9915.3836.8691141.9614.24418.42214.4622319.30.0002572.786900e+02...30505.05.192300980.68141.965.702800e+01222.920-730.49000.0727284.053400e+010.5
\n", "

10 rows × 68 columns

\n", "
" ], "text/plain": [ " T_resx Ssu Saa Sfa Sva Sbu Spro Sac \\\n", "0 0 2152.800 324.2700 7382.70 2381.700 3667.300 2542.700 8263.5 \n", "1 1 123.060 49.1670 7751.20 2574.400 4202.900 3244.500 9600.7 \n", "2 2 63.057 26.6380 7839.00 2610.000 4268.600 3305.000 9742.9 \n", "3 3 39.313 17.3450 908.19 41.129 54.118 53.411 3339.7 \n", "4 4 30.634 13.5750 457.20 30.592 39.989 35.895 3066.6 \n", "5 5 25.261 11.2240 309.54 24.543 31.958 27.254 2856.4 \n", "6 6 21.606 9.6181 236.08 20.615 26.775 22.111 2685.8 \n", "7 7 18.960 8.4513 192.14 17.859 23.153 18.702 2543.7 \n", "8 8 16.955 7.5652 162.87 15.818 20.479 16.276 2423.2 \n", "9 9 15.383 6.8691 141.96 14.244 18.422 14.462 2319.3 \n", "\n", " Sh2 Sch4 ... Alk NH3 NH4 LCFA \\\n", "0 25.643000 -8.963700e-82 ... 44957.0 0.053067 1074.00 7382.70 \n", "1 30.352000 3.859800e-12 ... 59182.0 0.047701 1135.60 7751.20 \n", "2 30.772000 1.085400e-09 ... 61421.0 0.048208 1150.90 7839.00 \n", "3 0.000662 2.574900e+02 ... 16289.0 2.513100 963.03 908.19 \n", "4 0.000515 2.653300e+02 ... 18846.0 3.157300 963.70 457.20 \n", "5 0.000424 2.695900e+02 ... 21319.0 3.693200 966.73 309.54 \n", "6 0.000362 2.726300e+02 ... 23721.0 4.147900 970.17 236.08 \n", "7 0.000317 2.750200e+02 ... 26050.0 4.540600 973.69 192.14 \n", "8 0.000284 2.770000e+02 ... 28311.0 4.885500 977.21 162.87 \n", "9 0.000257 2.786900e+02 ... 30505.0 5.192300 980.68 141.96 \n", "\n", " percentch4 energych4 efficiency VFA/ALK ACN sampleT \n", "0 -1.133000e-81 83.808 3.9774 0.351490 -3.203400e-72 0.5 \n", "1 1.599000e-12 100.630 -76.4800 0.310840 1.255000e-08 0.5 \n", "2 4.422100e-10 102.210 -155.0200 0.304150 2.777100e-07 0.5 \n", "3 5.579800e+01 209.370 -218.4400 0.200760 9.097200e+00 0.5 \n", "4 5.623900e+01 214.510 -304.2100 0.157850 1.324200e+01 0.5 \n", "5 5.648800e+01 217.230 -390.0200 0.129290 1.778600e+01 0.5 \n", "6 5.666900e+01 219.140 -475.6200 0.108900 2.279000e+01 0.5 \n", "7 5.681200e+01 220.630 -560.8900 0.093693 2.825000e+01 0.5 \n", "8 5.692900e+01 221.870 -645.8400 0.081984 3.416600e+01 0.5 \n", "9 5.702800e+01 222.920 -730.4900 0.072728 4.053400e+01 0.5 \n", "\n", "[10 rows x 68 columns]" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# check the results with increasing T_resx, we should expect decrease in Ssu\n", "df1_resx" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "ExecuteTime": { "end_time": "2020-09-22T22:43:49.427644Z", "start_time": "2020-09-22T22:43:48.218696Z" }, "code_folding": [ 0 ] }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# correlation between SRT and output\n", "plt.figure(figsize=(24,1))\n", "corr1=df1_resx.corr()\n", "sns.heatmap(corr1.iloc[0:1,-67:], xticklabels=df1_resx.columns[-67:], yticklabels=df1_resx.columns[0:1], cmap=sns.diverging_palette(220, 10, as_cmap=True))\n", "plt.title('Correlation Matrix [t_resx/results]',fontsize=20);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Configurations**\n", "\n", "| Configuration | Vliq (m$^3$) | t\\_resx (d) | Q (m$^3$/d)| \n", "| ------ | ------ | ------ | ------|\n", "Default | 3400 | 0 | 134 |\n", "Phase 1 | 340 | 1.5 | 618 |\n", "Phase 2 | 3400 | 700 | 618/--- |\n", "\n", "where t\\_resx = SRT - HRT" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "ExecuteTime": { "end_time": "2020-09-22T22:44:08.135447Z", "start_time": "2020-09-22T22:44:08.128013Z" } }, "outputs": [], "source": [ "config_default = {'Vliq':3400, 't_resx':0, 'Q':134}\n", "config1 = {'Vliq':340, 't_resx':1.5, 'Q':618}\n", "config2 = {'Vliq':3400, 't_resx':700, 'Q':618}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Default Configuration" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "ExecuteTime": { "end_time": "2020-09-22T22:44:10.150873Z", "start_time": "2020-09-22T22:44:09.462343Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Reactor run, phase-one:\n", "$ADM1F_EXE -Vliq 3400 -t_resx 0 -influent_file influent_cur.dat\n", "indicator-034.out\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SsuSaaSfaSvaSbuSproSacSh2Sch4Sic...AlkNH3NH4LCFApercentch4energych4efficiencyVFA/ALKACNsampleT
Default Configuration7.176743.2179654.94466.397788.232286.083391963.60.0001248.3303639.764...8438.529.323951026.6954.944656.90565.22853.37120.220453109.16425.3731
\n", "

1 rows × 67 columns

\n", "
" ], "text/plain": [ " Ssu Saa Sfa Sva Sbu Spro \\\n", "Default Configuration 7.17674 3.21796 54.9446 6.39778 8.23228 6.08339 \n", "\n", " Sac Sh2 Sch4 Sic ... Alk \\\n", "Default Configuration 1963.6 0.00012 48.3303 639.764 ... 8438.52 \n", "\n", " NH3 NH4 LCFA percentch4 energych4 \\\n", "Default Configuration 9.32395 1026.69 54.9446 56.905 65.228 \n", "\n", " efficiency VFA/ALK ACN sampleT \n", "Default Configuration 53.3712 0.220453 109.164 25.3731 \n", "\n", "[1 rows x 67 columns]" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# output using default configuration\n", "ls_default = adm1fu.reactor1(**config_default).tolist()\n", "df_default = pd.DataFrame(data = [ls_default],columns=output_name, index=['Default Configuration'])\n", "df_default" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Configuration 1" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "ExecuteTime": { "end_time": "2020-09-22T22:44:14.308216Z", "start_time": "2020-09-22T22:44:13.579557Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Reactor run, phase-one:\n", "$ADM1F_EXE -Vliq 340 -t_resx 1.5 -influent_file influent_cur.dat\n", "indicator-051.out\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SsuSaaSfaSvaSbuSproSacSh2Sch4Sic...AlkNH3NH4LCFApercentch4energych4efficiencyVFA/ALKACNsampleT
Phase 1 Configuration80.561633.47047808.752598.144246.873285.259696.0528.50697.737870e-30147.214...60316.40.0480111145.67808.753.164870e-30104.203-104.7370.3081611.202840e-170.550162
\n", "

1 rows × 67 columns

\n", "
" ], "text/plain": [ " Ssu Saa Sfa Sva Sbu Spro \\\n", "Phase 1 Configuration 80.5616 33.4704 7808.75 2598.14 4246.87 3285.25 \n", "\n", " Sac Sh2 Sch4 Sic ... Alk \\\n", "Phase 1 Configuration 9696.05 28.5069 7.737870e-30 147.214 ... 60316.4 \n", "\n", " NH3 NH4 LCFA percentch4 energych4 \\\n", "Phase 1 Configuration 0.048011 1145.6 7808.75 3.164870e-30 104.203 \n", "\n", " efficiency VFA/ALK ACN sampleT \n", "Phase 1 Configuration -104.737 0.308161 1.202840e-17 0.550162 \n", "\n", "[1 rows x 67 columns]" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# output using configuration 1\n", "ls_config1 = adm1fu.reactor1(**config1).tolist()\n", "df_config1 = pd.DataFrame(data = [ls_config1],columns=output_name, index=['Phase 1 Configuration'])\n", "df_config1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Configuration 2" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "ExecuteTime": { "end_time": "2020-09-22T22:44:18.309478Z", "start_time": "2020-09-22T22:44:17.238137Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Reactor run, phase-one:\n", "$ADM1F_EXE -Vliq 3400 -t_resx 700 -influent_file influent_cur.dat\n", "indicator-025.out\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SsuSaaSfaSvaSbuSproSacSh2Sch4Sic...AlkNH3NH4LCFApercentch4energych4efficiencyVFA/ALKACNsampleT
Phase 2 Configuration2.700681.2072319.01682.348563.016522.165971125.180.00004575.1774952.376...21574.714.75491186.6419.016858.194255.569-899.8330.0492213302.965.50162
\n", "

1 rows × 67 columns

\n", "
" ], "text/plain": [ " Ssu Saa Sfa Sva Sbu Spro \\\n", "Phase 2 Configuration 2.70068 1.20723 19.0168 2.34856 3.01652 2.16597 \n", "\n", " Sac Sh2 Sch4 Sic ... Alk \\\n", "Phase 2 Configuration 1125.18 0.000045 75.1774 952.376 ... 21574.7 \n", "\n", " NH3 NH4 LCFA percentch4 energych4 \\\n", "Phase 2 Configuration 14.7549 1186.64 19.0168 58.194 255.569 \n", "\n", " efficiency VFA/ALK ACN sampleT \n", "Phase 2 Configuration -899.833 0.049221 3302.96 5.50162 \n", "\n", "[1 rows x 67 columns]" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# output using configuration 2\n", "ls_config2 = adm1fu.reactor1(**config2).tolist()\n", "df_config2 = pd.DataFrame(data = [ls_config2],columns=output_name, index=['Phase 2 Configuration'])\n", "df_config2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Two-Phase anaerobic dynamic membrane bioreactor\n", "\n", "To simulate a novel two-phase AnDMBR, We can call the function `reactor2` with different Q1 (phase 1 flow rate), Q2 (phase 2 flow rate, normally equal to Q1), Vliq1 (phase 1 volume), Vliq2 (phase 2 volume), t_resx1 (SRT-HRT for phase 1), and t_resx2 (SRT-HRT for phase 1) values. In this function, the model output from phase 1 will be extracted and converted to the model input for phase 2. The function will return phase1 output and phase2 output\n", "\n", "Usage example: reactor2(Q1=100, t_resx1=30, t_resx2=100, Vliq1=300, Vliq2=3000) " ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Schematics of the two-phase reactor\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.display import Image\n", "print ('Schematics of the two-phase reactor')\n", "Image(filename='../notebooks/2phase_reactor.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Config12" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Configurations**\n", "\n", "| Configuration | Vliq (m$^3$) | t\\_resx (d) | Q (m$^3$/d)| \n", "| ------ | ------ | ------ | ------|\n", "Default | 3400 | 0 | 134 |\n", "Phase 1 | 340 | 1.5 | 618 |\n", "Phase 2 | 3400 | 700 | 618/--- |\n", "\n", "where t\\_resx = SRT - HRT" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "ExecuteTime": { "end_time": "2020-09-22T22:45:08.804996Z", "start_time": "2020-09-22T22:45:08.799762Z" } }, "outputs": [], "source": [ "# config12 = {\"Vliq1\":340, \"Vliq2\":3400, \"t_resx1\":1.5, \"t_resx2\":700, \"Q1\":618, \"Q2\":618}\n", "config12 = {\"Vliq1\":340, \"Vliq2\":3400, \"t_resx1\":1.5, \"t_resx2\":700, \"Q1\":618}" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Reactor run, phase-one:\n", "$ADM1F_EXE -Vliq 340 -t_resx 1.5 -influent_file influent_cur.dat\n", "indicator-051.out\n", "Reactor run, phase-two:\n", "$ADM1F_EXE -Vliq 3400 -t_resx 700 -influent_file influent_cur.dat\n", "indicator-024.out\n" ] } ], "source": [ "result_config12 = adm1fu.reactor2(**config12)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "ExecuteTime": { "end_time": "2020-09-22T22:45:19.563151Z", "start_time": "2020-09-22T22:45:17.365242Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Reactor run, phase-one:\n", "$ADM1F_EXE -Vliq 340 -t_resx 1.5 -influent_file influent_cur.dat\n", "indicator-051.out\n", "Reactor run, phase-two:\n", "$ADM1F_EXE -Vliq 3400 -t_resx 700 -influent_file influent_cur.dat\n", "indicator-024.out\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SsuSaaSfaSvaSbuSproSacSh2Sch4Sic...AlkNH3NH4LCFApercentch4energych4efficiencyVFA/ALKACNsampleT
Phase180.56160033.4704007808.75002598.140004246.870003285.250009696.0528.5069007.771710e-32147.214...60316.40.0480111145.67808.75003.068330e-32104.203-104.7370.3081611.216580e-180.550162
Phase20.3556810.13250419.27572.377293.051962.193991248.960.0000467.114040e+01867.356...17101.815.2892001139.419.27576.198330e+01192.277-590.3070.068884-2.807000e+016.241160
\n", "

2 rows × 67 columns

\n", "
" ], "text/plain": [ " Ssu Saa Sfa Sva Sbu Spro \\\n", "Phase1 80.561600 33.470400 7808.7500 2598.14000 4246.87000 3285.25000 \n", "Phase2 0.355681 0.132504 19.2757 2.37729 3.05196 2.19399 \n", "\n", " Sac Sh2 Sch4 Sic ... Alk NH3 \\\n", "Phase1 9696.05 28.506900 7.771710e-32 147.214 ... 60316.4 0.048011 \n", "Phase2 1248.96 0.000046 7.114040e+01 867.356 ... 17101.8 15.289200 \n", "\n", " NH4 LCFA percentch4 energych4 efficiency VFA/ALK \\\n", "Phase1 1145.6 7808.7500 3.068330e-32 104.203 -104.737 0.308161 \n", "Phase2 1139.4 19.2757 6.198330e+01 192.277 -590.307 0.068884 \n", "\n", " ACN sampleT \n", "Phase1 1.216580e-18 0.550162 \n", "Phase2 -2.807000e+01 6.241160 \n", "\n", "[2 rows x 67 columns]" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# output using config12\n", "result_config12 = adm1fu.reactor2(**config12)\n", "ls1_config12 = result_config12[0].tolist()\n", "ls2_config12 = result_config12[1].tolist()\n", "\n", "df_config12 = pd.DataFrame(data = [ls1_config12],columns=output_name,index=['Phase1'])\n", "df_config12.loc['Phase2'] = ls2_config12\n", "df_config12" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.5" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": { "height": "calc(100% - 180px)", "left": "10px", "top": "150px", "width": "217px" }, "toc_section_display": true, "toc_window_display": true } }, "nbformat": 4, "nbformat_minor": 2 }