PM2 with ABACO2 (PM2ABACO2)¶
- class qsdsan.process_models.PM2ABACO2(components=None, a_c=0.049, I_n=250, arr_a=18000000000.0, arr_e=6842, beta_1=2.9, beta_2=3.5, b_reactor=0.03, I_opt=300, k_gamma=1e-05, K_N=0.1, K_P=1.0, K_A=6.3, K_G=6.3, rho=1.186, K_STO=1.566, f_CH_max=0.819, f_LI_max=3.249, m_ATP=15.835, mu_max=1.969, q_CH=0.594, q_LI=0.91, Q_N_max=0.417, Q_N_min=0.082, Q_P_max=0.092, Q_P_min=0.0163, V_NH=0.254, V_NO=0.254, V_P=0.016, exponent=4, Y_ATP_PHO=55.073, Y_CH_PHO=0.754, Y_LI_PHO=0.901, Y_X_ALG_PHO=0.45, Y_ATP_HET_ACE=39.623, Y_CH_NR_HET_ACE=0.625, Y_CH_ND_HET_ACE=0.6, Y_LI_NR_HET_ACE=1.105, Y_LI_ND_HET_ACE=0.713, Y_X_ALG_HET_ACE=0.216, Y_ATP_HET_GLU=58.114, Y_CH_NR_HET_GLU=0.917, Y_CH_ND_HET_GLU=0.88, Y_LI_NR_HET_GLU=1.62, Y_LI_ND_HET_GLU=1.046, Y_X_ALG_HET_GLU=0.317, n_dark=0.7, Y_NH_NIT=0.18, Y_NO_NIT=0.19, Y_NH_HET=9.09, Y_G=0.45, Y_O2_NIT=0.09, Y_O2_HET=2.78, f_BAC=0.1, mu_max_NIT=0.75, mu_max_HET=3.4, temp_min_NIT=265, temp_max_NIT=311, temp_opt_NIT=293, temp_min_HET=270, temp_max_HET=315, temp_opt_HET=298, ph_min_NIT=2, ph_max_NIT=13.4, ph_opt_NIT=9, ph_min_HET=6, ph_max_HET=12, ph_opt_HET=9, K_S_O2_NIT=1.08, K_I_O2_NIT=104.9, K_S_O2_HET=1.98, K_S_NH_NIT=1.0, K_S_NH_HET=0.5, K_S_G_HET=0.32, theta_NIT=274.1, theta_HET=274.07, path=None, **kwargs)¶
Phototrophic-Mixotrophic Process Model (PM2) coupled with the ABACO-2 microalgae-bacteria consortium model [1], [2].
- Parameters:
components (class:CompiledComponents, optional) – Components corresponding to each entry in the stoichiometry array, defaults to thermosteam.settings.chemicals.
a_c (float, optional) – PAR absorption coefficient on a TSS (total suspended solids) basis, in [m^2/g TSS]. The default is 0.049.
I_n (float, optional) – Maximum incident PAR irradiance (“irradiance at noon”), in [uE/m^2/s]. The default is 250.
arr_a (float, optional) – Arrhenius constant (A), in [unitless]. The default is 1.8 * 10**10.
arr_e (float, optional) – Arrhenius exponential constant (E/R), in [K]. The default is 6842.
beta_1 (float, optional) – Power coefficient for carbohydrate storage inhibition, in [unitless]. The default is 2.90.
beta_2 (float, optional) – Power coefficient for lipid storage inhibition, in [unitless]. The default is 3.50.
b_reactor (float, optional) – Thickness of reactor along light path, in [m]. The default is 0.03.
I_opt (float, optional) – Optimal irradiance, in [uE/m^2/s]. The default is 300.
k_gamma (float, optional) – Photoadaptation coefficient, in [unitless]. The default is 0.00001.
K_N (float, optional) – Nitrogen half-saturation constant, in [g N/m^3]. The default is 0.1.
K_P (float, optional) – Phosphorus half-saturation constant, in [g P/m^3]. The default is 1.0.
K_A (float, optional) – Organic carbon half-saturation constant (acetate) (Wagner, 2016), in [g COD/m^3]. The default is 6.3.
K_G (float, optional) – Organic carbon half-saturation constant (glucose); assumes K_A = K_G, in [g COD/m^3]. The default is 6.3.
rho (float, optional) – Carbohydrate relative preference factor (calibrated in Guest et al., 2013), in [unitless]. The default is 1.186.
K_STO (float, optional) – Half-saturation constant for stored organic carbon (calibrated in Guest et al., 2013), in [g COD/g COD]. The default is 1.566.
f_CH_max (float, optional) – Maximum achievable ratio of stored carbohydrates to functional cells, in [g COD/g COD]. The default is 0.819.
f_LI_max (float, optional) – Maximum achievable ratio of stored lipids to functional cells, in [g COD/g COD]. The default is 3.249.
m_ATP (float, optional) – Specific maintenance rate, in [g ATP/g COD/d]. The default is 15.835.
mu_max (float, optional) – Maximum specific growth rate, in [d^(-1)]. The default is 1.969.
q_CH (float, optional) – Maximum specific carbohydrate storage rate, in [g COD/g COD/d]. The default is 0.594.
q_LI (float, optional) – Maximum specific lipid storage rate, in [g COD/g COD/d]. The default is 0.910.
Q_N_max (float, optional) – Maximum nitrogen quota, in [g N/g COD]. The default is 0.417.
Q_N_min (float, optional) – Nitrogen subsistence quota, in [g N/g COD]. The default is 0.082.
Q_P_max (float, optional) – Maximum phosphorus quota, in [g P/g COD]. The default is 0.092.
Q_P_min (float, optional) – Phosphorus subsistence quota; assumes N:P ratio of 5:1, in [g P/g COD]. The default is 0.0163.
V_NH (float, optional) – Maximum specific ammonium uptake rate (calibrated in Guest et al., 2013), in [g N/g COD/d]. The default is 0.254.
V_NO (float, optional) – Maximum specific nitrate uptake rate (calibrated in Guest et al., 2013), in [g N/g COD/d]. The default is 0.254.
V_P (float, optional) – Maximum specific phosphorus uptake rate (calibrated in Guest et al., 2013), in [g P/g COD/d]. The default is 0.016.
exponent (float, optional) – Exponent to allow for more rapid transitions from growth to storage (see Guest et al., 2013), in [unitless] The default is 4.
Y_ATP_PHO (float, optional) – Yield of ATP on CO2 fixed to G3P, in [g ATP/g CO2]. The default is 55.073.
Y_CH_PHO (float, optional) – Yield of storage carbohydrate (as polyglucose, PG) on CO2 fixed to G3P, in [g COD/g CO2]. The default is 0.754.
Y_LI_PHO (float, optional) – Yield of storage lipids (as triacylglycerol, TAG) on CO2 fixed to G3P, in [g COD/g CO2]. The default is 0.901.
Y_X_ALG_PHO (float, optional) – Yield of carbon-accumulating phototrophic organisms on CO2 fixed to G3P, in [g COD/g CO2]. The default is 0.450.
Y_ATP_HET_ACE (float, optional) – Yield of ATP on acetate fixed to acetyl-CoA, in [g ATP/g COD]. The default is 39.623.
Y_CH_NR_HET_ACE (float, optional) – Yield of storage carbohydrates (as polyglucose, PG) on acetate fixed to acetyl-CoA under nutrient-replete condition, in [g COD/g COD]. The default is 0.625.
Y_CH_ND_HET_ACE (float, optional) – Yield of storage carbohydrates (as polyglucose, PG) on acetate fixed to acetyl-CoA under nutrient-deplete condition, in [g COD/g COD]. The default is 0.600.
Y_LI_NR_HET_ACE (float, optional) – Yield of storage lipids (as triacylglycerol, TAG) on acetate fixed to acetyl-CoA under nutrient-replete condition, in [g COD/g COD]. The default is 1.105.
Y_LI_ND_HET_ACE (float, optional) – Yield of storage lipids (as triacylglycerol, TAG) on acetate fixed to acetyl-CoA under nutrient-deplete condition, in [g COD/g COD]. The default is 0.713.
Y_X_ALG_HET_ACE (float, optional) – Yield of carbon-accumulating phototrophic organisms on acetate fixed to acetyl-CoA, in [g COD/g COD]. The default is 0.216.
Y_ATP_HET_GLU (float, optional) – Yield of ATP on glucose fixed to G6P, in [g ATP/g COD]. The default is 58.114.
Y_CH_NR_HET_GLU (float, optional) – Yield of storage carbohydrates (as polyglucose, PG) on glucose fixed to G6P under nutrient-replete condition, in [g COD/g COD]. The default is 0.917.
Y_CH_ND_HET_GLU (float, optional) – Yield of storage carbohydrates (as polyglucose, PG) on glucose fixed to G6P under nutrient-deplete condition, in [g COD/g COD]. The default is 0.880.
Y_LI_NR_HET_GLU (float, optional) – Yield of storage lipids (as triacylglycerol, TAG) on glucose fixed to G6P under nutrient-replete condition, in [g COD/g COD]. The default is 1.620.
Y_LI_ND_HET_GLU (float, optional) – Yield of storage lipids (as triacylglycerol, TAG) on glucose fixed to G6P under nutrient-deplete condition, in [g COD/g COD]. The default is 1.046.
Y_X_ALG_HET_GLU (float, optional) – Yield of carbon-accumulating phototrophic organisms on glucose fixed to G6P, in [g COD/g COD]. The default is 0.317.
n_dark (float, optional) – Dark growth reduction factor, in [unitless] The default is 0.7.
Y_NH_NIT (float, optional) – Nitrifying bacteria yield coefficient (ammonium consumption), in [g COD/g N] The default is 0.18.
Y_NO_NIT (float, optional) – Nitrifying bacteria yield coefficient (nitrate generation), in [g COD/g N] The default is 0.19.
Y_NH_HET (float, optional) – Heterotrophic bacteria yield coefficient (ammonium consumption), in [g COD/g N] The default is 9.09.
Y_G (float, optional) – Heterotrophic bacteria yield coefficient (organic consumption), in [g COD/g COD] The default is 0.45.
Y_O2_NIT (float, optional) – Nitrifying bacteria yield coefficient (oxygen consumption), in [g COD/g O2] The default is 0.09.
Y_O2_HET (float, optional) – Heterotrophic bacteria yield coefficient (oxygen consumption), in [g COD/g O2] The default is 2.78.
f_BAC (float, optional) – Fraction of inert COD generated in bacterial biomass lysis, in [g COD/g COD]. The default is 0.1.
mu_max_NIT (float, optional) – Maximum nitrifying bacteria growth rate, in [d^(-1)] The default is 0.75.
mu_max_HET (float, optional) – Maximum heterotrophic bacteria growth rate, in [d^(-1)] The default is 3.4.
temp_min_NIT (float, optional) – Minimum temperature for nitrifying bacteria, in [K] The default is 265.
temp_max_NIT (float, optional) – Maximum temperature for nitrifying bacteria, in [K] The default is 311.
temp_opt_NIT (float, optional) – Optimum temperature for nitrifying bacteria, in [K] The default is 293.
temp_min_HET (float, optional) – Minimum temperature for heterotrophic bacteria, in [K] The default is 270.
temp_max_HET (float, optional) – Maximum temperature for heterotrophic bacteria, in [K] The default is 315.
temp_opt_HET (float, optional) – Optimum temperature for heterotrophic bacteria, in [K] The default is 298.
ph_min_NIT (float, optional) – Minimum pH for nitrifying bacteria, in [unitless] The default is 2.
ph_max_NIT (float, optional) – Maximum pH for nitrifying bacteria, in [unitless] The default is 13.4.
ph_opt_NIT (float, optional) – Optimum pH for nitrifying bacteria, in [unitless] The default is 9.
ph_min_HET (float, optional) – Minimum pH for heterotrophic bacteria, in [unitless] The default is 6.
ph_max_HET (float, optional) – Maximum pH for heterotrophic bacteria, in [unitless] The default is 12.
ph_opt_HET (float, optional) – Optimum pH for heterotrophic bacteria, in [unitless] The default is 9.
K_S_O2_NIT (float, optional) – Oxygen half-saturation constant for nitrifying bacteria, in [g O2/m^3] The default is 1.08.
K_I_O2_NIT (float, optional) – Oxygen inhibition constant for nitrifying bacteria, in [g O2/m^3] The default is 104.9.
K_S_O2_HET (float, optional) – Oxygen half-saturation constant for heterotrophic bacteria, in [g O2/m^3] The default is 1.98.
K_S_NH_NIT (float, optional) – Ammonium half-saturation constant for nitrifying bacteria, in [g N/m^3] The default is 1.0.
K_S_NH_HET (float, optional) – Ammonium half-saturation constant for heterotrophic bacteria, in [g N/m^3] The default is 0.5.
K_S_G_HET (float, optional) – Biodegradable soluble organic matter (BSMO) half-saturation constant for heterotrophic bacteria, in [g COD/m^3] The default is 0.32.
theta_NIT (float, optional) – Coefficient dependent on the temperature for nitrifying bacteria, in [K] The default is 274.1.
theta_HET (float, optional) – Coefficient dependent on the temperature for heterotrophic bacteria, in [K] The default is 274.07.
path (str, optional) – Alternative file path for the Petersen matrix. The default is None.
Examples
>>> from qsdsan import process_models as pc >>> cmps = pc.create_pm2abaco2_cmps() >>> pm2abaco2 = pc.PM2ABACO2() >>> pm2abaco2.show() PM2ABACO2([photoadaptation, ammonium_uptake, nitrate_uptake_pho, nitrate_uptake_ace, nitrate_uptake_glu, phosphorus_uptake, growth_pho, carbohydrate_storage_pho, lipid_storage_pho, carbohydrate_growth_pho, lipid_growth_pho, carbohydrate_maintenance_pho, lipid_maintenance_pho, endogenous_respiration_pho, growth_ace, carbohydrate_storage_ace, lipid_storage_ace, carbohydrate_growth_ace, lipid_growth_ace, carbohydrate_maintenance_ace, lipid_maintenance_ace, endogenous_respiration_ace, growth_glu, carbohydrate_storage_glu, lipid_storage_glu, carbohydrate_growth_glu, lipid_growth_glu, carbohydrate_maintenance_glu, lipid_maintenance_glu, endogenous_respiration_glu, nitri_growth, nitri_decay, hetero_growth, hetero_decay])
References
>>> # Evaluate the rate of reaction at initial condition >>> import numpy as np >>> init_cond = { ... 'X_CHL':2.81, ... 'X_ALG':561.57, ... 'X_PG':13.74, ... 'X_TAG':62.22, ... 'S_CO2':30.0, ... 'S_A':5.0, ... 'S_G':5.0, ... 'S_O2':20.36, ... 'S_NH':25, ... 'S_NO':9.30, ... 'S_P':0.383, ... 'X_N_ALG':3.62, ... 'X_P_ALG':12.60, ... 'X_NIT':20.0, ... 'X_HET':30.0, ... }
>>> state_arr = np.append(cmps.kwarray(init_cond), [1000, 298, 112.6, 7]) # flowrate, temperature,irradiance, & pH >>> pm2abaco2.rate_function(state_arr) array([ 4.437e+00, 1.420e+02, 5.621e-01, 5.621e-01, 5.621e-01, 2.480e+00, 3.043e+02, 1.935e+02, 8.856e+00, 2.474e+01, 7.904e+01, 2.093e+00, 7.992e+00, 6.742e+01, 1.861e+02, 1.109e+02, 5.076e+00, 1.513e+01, 3.267e+01, 2.455e+00, 9.375e+00, 4.579e+01, 1.861e+02, 1.109e+02, 5.076e+00, 1.513e+01, 3.269e+01, 2.456e+00, 9.378e+00, 4.582e+01, -1.635e+01, 2.056e+02, -2.379e+02, 5.591e+03])
>>> pm2abaco2.set_parameters(I_opt = 200) # Change optimal irradiance >>> pm2abaco2.rate_function(state_arr) array([ 4.437e+00, 1.420e+02, 5.621e-01, 5.621e-01, 5.621e-01, 2.480e+00, 2.994e+02, 2.100e+02, 9.609e+00, 3.417e+01, 1.092e+02, 2.093e+00, 7.992e+00, 6.742e+01, 1.719e+02, 1.109e+02, 5.076e+00, 1.962e+01, 4.237e+01, 2.455e+00, 9.375e+00, 4.579e+01, 1.719e+02, 1.109e+02, 5.076e+00, 1.962e+01, 4.240e+01, 2.456e+00, 9.378e+00, 4.582e+01, -1.635e+01, 2.056e+02, -2.379e+02, 5.591e+03])
- set_parameters(**parameters)¶
Set values to stoichiometric and/or kinetic parameters.