@@ -69,7 +69,7 @@ constexpr CArrayWrapper<double, 11> equilibriumConstants =
6969 3.98E+00 , // CaCl2 = Ca+2 + 2Cl-
7070 3.72E-03 , // MgSO4 = Mg+2 + SO4-2
7171 1.51E-01 , // NaSO4- = Na+ + SO4-2
72- 1.17E+07 // CaCO3 + H+ = Ca+2 + HCO3- (kinetic)
72+ 70.55 // CaCO3 + H+ = Ca+2 + HCO3- (kinetic)
7373 // 1
7474 }; // Ca(OH)2(s) + 2H+ = Ca2+ + 2H2O (kinetic)
7575
@@ -85,7 +85,7 @@ constexpr CArrayWrapper<double, 11> forwardRates =
8585 1.0e7 , // CaCl2 = Ca+2 + 2Cl-
8686 1.0e5 , // MgSO4 = Mg+2 + SO4-2
8787 1.0e7 , // NaSO4- = Na+ + SO4-2
88- 1.0e5 // CaCO3 + H+ = Ca+2 + HCO3- (kinetic)
88+ 1.55e-6 // CaCO3 + H+ = Ca+2 + HCO3- (kinetic)
8989
9090 // 1
9191 }; // Ca(OH)2(s) + 2H+ = Ca2+ + 2H2O (kinetic)
@@ -101,17 +101,31 @@ constexpr CArrayWrapper<double, 11> reverseRates =
101101 2.51E+06 , // CaCl2 = Ca+2 + 2Cl-
102102 2.69E+07 , // MgSO4 = Mg+2 + SO4-2
103103 6.62E+07 , // NaSO4- = Na+ + SO4-2
104- 8.55E-03 // CaCO3 + H+ = Ca+2 + HCO3-
104+ 2.197e-8 // CaCO3 + H+ = Ca+2 + HCO3-
105105 // 1 // Ca(OH)2(s) + 2H+ = Ca2+ + 2H2O (kinetic)
106106 };
107+
108+ constexpr CArrayWrapper<int , 11 > mobileSpeciesFlag =
109+ { 1 , // OH- + H+ = H2O
110+ 1 , // CO2 + H2O = H+ + HCO3-
111+ 1 , // CO3-2 + H+ = HCO3-
112+ 1 , // H2CO3 = H+ + HCO3-
113+ 1 , // CaHCO3+ = Ca+2 + HCO3-
114+ 1 , // CaSO4 = Ca+2 + SO4-2
115+ 1 , // CaCl+ = Ca+2 + Cl-
116+ 1 , // CaCl2 = Ca+2 + 2Cl-
117+ 1 , // MgSO4 = Mg+2 + SO4-2
118+ 1 , // NaSO4- = Na+ + SO4-2
119+ 1 // CaCO3 + H+ = Ca+2 + HCO3-
120+ };
107121 }
108122 using carbonateSystemAllKineticType = reactionsSystems::MixedReactionsParameters< double , int , int , 18 , 11 , 0 >;
109123 using carbonateSystemAllEquilibriumType = reactionsSystems::MixedReactionsParameters< double , int , int , 18 , 11 , 11 >;
110124 using carbonateSystemType = reactionsSystems::MixedReactionsParameters< double , int , int , 17 , 11 , 10 >;
111125
112- constexpr carbonateSystemAllKineticType carbonateSystemAllKinetic ( carbonate::stoichMatrix, carbonate::equilibriumConstants, carbonate::forwardRates, carbonate::reverseRates );
113- constexpr carbonateSystemAllEquilibriumType carbonateSystemAllEquilibrium ( carbonate::stoichMatrix, carbonate::equilibriumConstants, carbonate::forwardRates, carbonate::reverseRates );
114- constexpr carbonateSystemType carbonateSystem ( carbonate::stoichMatrixNosolid, carbonate::equilibriumConstants, carbonate::forwardRates, carbonate::reverseRates );
126+ constexpr carbonateSystemAllKineticType carbonateSystemAllKinetic ( carbonate::stoichMatrix, carbonate::equilibriumConstants, carbonate::forwardRates, carbonate::reverseRates, carbonate::mobileSpeciesFlag );
127+ constexpr carbonateSystemAllEquilibriumType carbonateSystemAllEquilibrium ( carbonate::stoichMatrix, carbonate::equilibriumConstants, carbonate::forwardRates, carbonate::reverseRates, carbonate::mobileSpeciesFlag );
128+ constexpr carbonateSystemType carbonateSystem ( carbonate::stoichMatrixNosolid, carbonate::equilibriumConstants, carbonate::forwardRates, carbonate::reverseRates, carbonate::mobileSpeciesFlag );
115129
116130// *****UNCRUSTIFY-ON******
117131} // namespace geochemistry
0 commit comments