modelADM1_PetersenMatrix

Constructing the Petersen Matrix of ADM1

Extends from TransiEnt.Basics.Icons.ADM1 (Icon for ADM1 model).

Information

1. Purpose of model

(Description)

2. Level of detail, physical effects considered, and physical insight

(Description)

3. Limits of validity

(Description)

4. Interfaces

(none)

5. Nomenclature

(no elements)

6. Governing Equations

(no equations)

7. Remarks for Usage

(none)

8. Validation

(no validation or testing necessary)

9. References

[1] D.J. Batstone, J. Keller*, I. Angelidaki, S.V. Kalyuzhnyi, S.G. Pavlostathis, A. Rozzi, W.T.M. Sanders, H. Siegrist and V.A. Vavilin, (2002), "The IWA Anaerobic Digestion Model No 1 (ADM1)"

10. Version History

Model created by Philipp Jahneke (philipp.koziol@tuhhl.de), Sept 2018

Model adapted for TransiEnt by Jan Westphal (j.westphal@tuhh.de) in May 2020

Parameters

TypeNameDefaultDescription
RealY_proif operationMode == "thermophilic" then Parameters.Y_pro_therm else Parameters.Y_pro_meso
Real[4,9]HydSol[{0, 1, 0, (1 - Parameters.f_fa_li)}, {0, 0, 1, 0}, {0, 0, 0, Parameters.f_fa_li}, zeros(4, 6)]part of Petersen Matrix describing effect of processes 1-4 (Disintegration & Hydrolysis) on Components 1-9 (solubles)
Real[8,9]MonodSol[-1*identity(8), zeros(8, 1)] + [zeros(6, 3), [0, (1 - Parameters.Y_su)*Parameters.f_bu_su, (1 - Parameters.Y_su)*Parameters.f_pro_su, (1 - Parameters.Y_su)*Parameters.f_ac_su, (1 - Parameters.Y_su)*Parameters.f_h2_su; (1 - Parameters.Y_aa)*Parameters.f_va_aa, (1 - Parameters.Y_aa)*Parameters.f_bu_aa, (1 - Parameters.Y_aa)*Parameters.f_pro_aa, (1 - Parameters.Y_aa)*Parameters.f_ac_aa, (1 - Parameters.Y_aa)*Parameters.f_h2_aa; 0, 0, 0, (1 - Parameters.Y_fa)*0.7, (1 - Parameters.Y_fa)*0.3; 0, 0, (1 - Parameters.Y_c4)*0.54, (1 - Parameters.Y_c4)*0.31, (1 - Parameters.Y_c4)*0.15; 0, 0, 0, (1 - Parameters.Y_c4)*0.8, (1 - Parameters.Y_c4)*0.2; 0, 0, 0, (1 - Y_pro)*0.57, (1 - Y_pro)*0.43], zeros(6, 1); zeros(2, 8), {1 - Parameters.Y_ac, 1 - Parameters.Y_h2}]part of Petersen Matrix describing effect of processes 5-12 (Metabolism described as Monod Equations) on Components 1-9 (solubles)
Real[4,11]HydPart[-1*identity(4) + [0, Parameters.f_ch_xc, Parameters.f_pr_xc, Parameters.f_li_xc; zeros(3, 4)], zeros(4, 7)]part of Petersen Matrix describing effect of processes 1-4 (Disintegration & Hydrolysis) on Components 13-23 (Particulates & Microorganisms)
Real[8,11]MonodPart[zeros(8, 4), [diagonal({Parameters.Y_su, Parameters.Y_aa, Parameters.Y_fa, Parameters.Y_c4}), zeros(4, 3); zeros(4, 3), diagonal({Parameters.Y_c4, Y_pro, Parameters.Y_ac, Parameters.Y_h2})]]part of Petersen Matrix describing effect of processes 5-12 (Metabolism described as Monod Equations) on Components 13-23 (Particulates & Microorganisms)
Real[7,11]DecPart[ones(7, 1), zeros(7, 3), -1*identity(7)]part of Petersen Matrix describing effect of processes 13-23 (Decay of Microorganisms on Components 13-23 (Particulates & Microorganisms
Real[19]SolInertcat(1, {Parameters.f_sI_xc}, zeros(18))part of Petersen Matrix describing Balance of Soluble Inerts
Real[19]PartInertcat(1, {Parameters.f_xI_xc}, zeros(18))part of Petersen Matrix describing Balance of Particulate Inerts
Real[19]CBalanceif CarbonBalance == 2 then CBalance2 elseif CarbonBalance == 1 then CBalance1 else CBalance0Carbon Balance in Petersen Matrix
Real[19]NBalanceif NitrogenBalance == 2 then NBalance2 else NBalance0Nitrgoen Balance in Petersen Matrix
Real[19]CBalance0cat(1, zeros(4), -1*{s5, s6}, zeros(3), -1*{s10, s11, s12}, zeros(7))
Real[19]CBalance1cat(1, zeros(4), -1*{s5, s6, s7, s8, s9, s10, s11, s12}, zeros(7))
Real[19]CBalance2cat(1, -1*{s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12}, fill(s13, 7))
Real[19]NBalance0cat(1, zeros(4), {0, Parameters.N_aa, 0, 0, 0, 0, 0, 0} - Parameters.N_bac*{Parameters.Y_su, Parameters.Y_aa, Parameters.Y_fa, Parameters.Y_c4, Parameters.Y_c4, Y_pro, Parameters.Y_ac, Parameters.Y_h2}, zeros(7))
Real[19]NBalance2cat(1, {Parameters.N_xc - Parameters.f_xI_xc*Parameters.N_I - Parameters.f_sI_xc*Parameters.N_I - Parameters.f_pr_xc*Parameters.N_aa}, zeros(3), {0, Parameters.N_aa, 0, 0, 0, 0, 0, 0} - Parameters.N_bac*{Parameters.Y_su, Parameters.Y_aa, Parameters.Y_fa, Parameters.Y_c4, Parameters.Y_c4, Y_pro, Parameters.Y_ac, Parameters.Y_h2}, fill(Parameters.N_bac - Parameters.N_xc, 7))
ADM1_Units.MoleContents1-Parameters.C_xc + Parameters.f_sI_xc*Parameters.C_sI + Parameters.f_ch_xc*Parameters.C_ch + Parameters.f_pr_xc*Parameters.C_pr + Parameters.f_li_xc*Parameters.C_li + Parameters.f_xI_xc*Parameters.C_xI
ADM1_Units.MoleContents2-Parameters.C_ch + Parameters.C_su
ADM1_Units.MoleContents3-Parameters.C_pr + Parameters.C_aa
ADM1_Units.MoleContents4-Parameters.C_li + (1 - Parameters.f_fa_li)*Parameters.C_su + Parameters.f_fa_li*Parameters.C_fa
ADM1_Units.MoleContents5-Parameters.C_su + (1 - Parameters.Y_su)*(Parameters.f_bu_su*Parameters.C_bu + Parameters.f_pro_su*Parameters.C_pro + Parameters.f_ac_su*Parameters.C_ac) + Parameters.Y_su*Parameters.C_bac
ADM1_Units.MoleContents6-Parameters.C_aa + (1 - Parameters.Y_aa)*(Parameters.f_va_aa*Parameters.C_va + Parameters.f_bu_aa*Parameters.C_bu + Parameters.f_pro_aa*Parameters.C_pro + Parameters.f_ac_aa*Parameters.C_ac) + Parameters.Y_aa*Parameters.C_bac
ADM1_Units.MoleContents7-Parameters.C_fa + (1 - Parameters.Y_fa)*0.7*Parameters.C_ac + Parameters.Y_fa*Parameters.C_bac
ADM1_Units.MoleContents8-Parameters.C_va + (1 - Parameters.Y_c4)*(0.54*Parameters.C_pro + 0.31*Parameters.C_ac) + Parameters.Y_c4*Parameters.C_bac
ADM1_Units.MoleContents9-Parameters.C_bu + (1 - Parameters.Y_c4)*0.8*Parameters.C_ac + Parameters.Y_c4*Parameters.C_bac
ADM1_Units.MoleContents10-Parameters.C_pro + (1 - Y_pro)*0.57*Parameters.C_ac + Y_pro*Parameters.C_bac
ADM1_Units.MoleContents11-Parameters.C_ac + (1 - Parameters.Y_ac)*Parameters.C_ch4 + Parameters.Y_ac*Parameters.C_bac
ADM1_Units.MoleContents12(1 - Parameters.Y_h2)*Parameters.C_ch4 + Parameters.Y_h2*Parameters.C_bac
ADM1_Units.MoleContents13-Parameters.C_bac + Parameters.C_xc
RealPM[[HydSol; MonodSol; zeros(7, 9)], CBalance, NBalance, SolInert, [HydPart; MonodPart; DecPart], PartInert]Petersen Matrix as used in ADM1
StringoperationMode"mesophilic"
IntegerCarbonBalance0
IntegerNitrogenBalance0

Components

TypeNameDefaultDescription
Records.ADM1_parameters_BSM2Parameters