Skip to content
Open
4 changes: 2 additions & 2 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ set( hpcReact_sources)
find_package(LAPACK REQUIRED)
find_package(BLAS REQUIRED)


set( hpcReact_dependencies
LAPACK::LAPACK
BLAS::BLAS
Expand All @@ -51,7 +51,7 @@ target_include_directories( hpcReact
blt_print_target_properties( TARGET hpcReact )
message(STATUS "HPCReact/src CMAKE_CURRENT_SOURCE_DIR: ${CMAKE_CURRENT_SOURCE_DIR}")

# install( FILES ${hpcReact_headers}
# install( FILES ${hpcReact_headers}
# DESTINATION include )


Expand Down
34 changes: 17 additions & 17 deletions src/reactions/exampleSystems/BulkGeneric.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,37 +20,37 @@ namespace bulkGeneric
// turn off uncrustify to allow for better readability of the parameters
// *****UNCRUSTIFY-OFF******

// constexpr
// EquilibriumKineticsModelConstants< double, int, int, 5 >
// um1Constants =
// constexpr
// EquilibriumKineticsModelConstants< double, int, int, 5 >
// um1Constants =
// {
// { 1.70e-3, 3.2e-4, 4.7e-11, 1.0e7, 1.0e4 },
// { 0.039, 1.0e4, 1.0e4, 1.0e-12, 1.0e8 },
// { 0.0, 0.0, 0.0, 0.0, 0.0 },
// };

// constexpr
// ReactionsParameters< double, int, int, EquilibriumKineticsModelConstants, 10, 5 >
// um1Params =
// {
// {
// {
// constexpr
// ReactionsParameters< double, int, int, EquilibriumKineticsModelConstants, 10, 5 >
// um1Params =
// {
// {
// {
// { -1, 1, 0, 0, 0, 0, 0, 0, 0, -1 },
// { 0, -1, 1, 1, 0, 0, 0, 0, 0, 0 },
// { 0, 0, 1, -1, 1, 0, 0, 0, 0, 0 },
// { 0, 0, -4, 0, 0, -1, 2, 1, 0, 2 },
// { 0, 0, 0, 0, -1, 0, -1, 0, 1, 0 }
// { 0, 0, 0, 0, -1, 0, -1, 0, 1, 0 }
// }
// },
// },
// um1Constants };


using simpleKineticTestType = reactionsSystems::MixedReactionsParameters< double, int, signed char, 5, 2, 0 >;

constexpr
constexpr
simpleKineticTestType
simpleKineticTestRateParams =
{
simpleKineticTestRateParams =
{
// stoichiometric matrix
{
{ -2, 1, 1, 0, 0 },
Expand All @@ -70,10 +70,10 @@ simpleKineticTestRateParams =

using simpleTestType = reactionsSystems::MixedReactionsParameters< double, int, signed char, 5, 2, 2 >;

constexpr
constexpr
simpleTestType
simpleTestRateParams =
{
simpleTestRateParams =
{
// stoichiometric matrix
{
{ -2, 1, 1, 0, 0 },
Expand Down
18 changes: 9 additions & 9 deletions src/reactions/exampleSystems/ChainGeneric.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,10 @@ namespace ChainGeneric
// Stoichiometric matrix [3 rows × 3 columns]
// Columns 0–3 are primary species: {C1, C2, C3 }
{
// C1 C2 C3
// C1 C2 C3
{ -1, 1, 0 }, // C1 = C2
{ 0, -1, 1 }, // C2 = C3
{ 0, 0, -1 }, // C3 =
{ 0, 0, -1 }, // C3 =
},

// Equilibrium constants K
Expand All @@ -39,24 +39,24 @@ namespace ChainGeneric
0 // C3
},

// Forward rate constants
{
// Forward rate constants
{
0.05, // C1 = C2
0.03, // C2 = C3
0.02, // C3
},

// Reverse rate constants
{
// Reverse rate constants
{
0.0, // C1 = C2
0.0, // C2 = C3
0.0, // C2 = C3
0.0 // C3
},

// Flag of mobile secondary species
{
{
1, // C1 = C2
1, // C2 = C3
1, // C2 = C3
1 // C3
},

Expand Down
18 changes: 9 additions & 9 deletions src/reactions/exampleSystems/MoMasBenchmark.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ namespace MoMasBenchmark
// *****UNCRUSTIFY-OFF******

using easyCaseType = reactionsSystems::MixedReactionsParameters< double, int, signed char, 12, 7, 7 >;
using mediumCaseType = reactionsSystems::MixedReactionsParameters< double, int, signed char, 14, 10, 9 >;
using mediumCaseType = reactionsSystems::MixedReactionsParameters< double, int, signed char, 14, 10, 9 >;

constexpr easyCaseType easyCaseParams =
{
Expand Down Expand Up @@ -49,8 +49,8 @@ namespace MoMasBenchmark
1.0e1 // CS2 + 3X2 = + X4 + 2S
},

// Forward rate constants
{
// Forward rate constants
{
0.0, // C1 = -X2
0.0, // C2 = X2 + X3
0.0, // C3 = -X2 + X4
Expand All @@ -60,8 +60,8 @@ namespace MoMasBenchmark
0.0 // CS2 = -3X2 + X4 + 2S
},

// Reverse rate constants
{
// Reverse rate constants
{
0.0, // C1 = -X2
0.0, // C2 = X2 + X3
0.0, // C3 = -X2 + X4
Expand Down Expand Up @@ -115,8 +115,8 @@ constexpr mediumCaseType mediumCaseParams =
5 // Cc + 3X2 = X4 (kinetic)
},

// Forward rate constants
{
// Forward rate constants
{
0.0, // C1 = -X2
0.0, // C2 = X2 + X3
0.0, // C3 = -X2 + X4
Expand All @@ -129,8 +129,8 @@ constexpr mediumCaseType mediumCaseParams =
10.0 // Cc = -3X2 + X4 (kinetic)
},

// Reverse rate constants
{
// Reverse rate constants
{
0.0, // C1 = -X2
0.0, // C2 = X2 + X3
0.0, // C3 = -X2 + X4
Expand Down
84 changes: 42 additions & 42 deletions src/reactions/geochemistry/Carbonate.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,84 +24,84 @@ namespace geochemistry
namespace carbonate
{

constexpr CArrayWrapper<signed char, 10, 17> stoichMatrix =
constexpr CArrayWrapper<signed char, 10, 17> stoichMatrix =
{ // OH- CO2 CO3-2 CaHCO3+ CaSO4 CaCl+ CaCl2 MgSO4 NaSO4- CaCO3 H+ HCO3- Ca+2 SO4-2 Cl- Mg+2 Na+
{ -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0 }, // OH- + H+ = H2O
{ 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, // CO2 + H2O = H+ + HCO3-
{ 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0 }, // CO3-2 + H+ = HCO3-
{ -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0 }, // OH- + H+ = H2O
{ 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, // CO2 + H2O = H+ + HCO3-
{ 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0 }, // CO3-2 + H+ = HCO3-
{ 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 }, // CaHCO3+ = Ca+2 + HCO3-
{ 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 }, // CaSO4 = Ca+2 + SO4-2
{ 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0 }, // CaCl+ = Ca+2 + Cl-
{ 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0 }, // CaCl2 = Ca+2 + 2Cl-
{ 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0 }, // CaCl+ = Ca+2 + Cl-
{ 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0 }, // CaCl2 = Ca+2 + 2Cl-
{ 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 1, 0, 1, 0 }, // MgSO4 = Mg+2 + SO4-2
{ 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 0, 1 }, // NaSO4- = Na+ + SO4-2
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 1, 1, 0, 0, 0, 0 } // CaCO3(s) + H+ = Ca+2 + HCO3- (kinetic)
};

constexpr CArrayWrapper<signed char, 10, 16> stoichMatrixNosolid =
constexpr CArrayWrapper<signed char, 10, 16> stoichMatrixNosolid =
{ // OH- CO2 CO3-2 CaHCO3+ CaSO4 CaCl+ CaCl2 MgSO4 NaSO4- H+ HCO3- Ca+2 SO4-2 Cl- Mg+2 Na+
{ -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0 }, // OH- + H+ = H2O
{ 0, -1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, // CO2 + H2O = H+ + HCO3-
{ 0, 0, -1, 0, 0, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0 }, // CO3-2 + H+ = HCO3-
{ -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0 }, // OH- + H+ = H2O
{ 0, -1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, // CO2 + H2O = H+ + HCO3-
{ 0, 0, -1, 0, 0, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0 }, // CO3-2 + H+ = HCO3-
{ 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 }, // CaHCO3+ = Ca+2 + HCO3-
{ 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 }, // CaSO4 = Ca+2 + SO4-2
{ 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0 }, // CaCl+ = Ca+2 + Cl-
{ 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 2, 0, 0 }, // CaCl2 = Ca+2 + 2Cl-
{ 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0 }, // CaCl+ = Ca+2 + Cl-
{ 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 2, 0, 0 }, // CaCl2 = Ca+2 + 2Cl-
{ 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0 }, // MgSO4 = Mg+2 + SO4-2
{ 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 1, 0, 0, 1 }, // NaSO4- = Na+ + SO4-2
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 1, 1, 0, 0, 0, 0 } // CaCO3(s) + H+ = Ca+2 + HCO3- (kinetic)
};

// thermodynamic constants derived from 'llnl.tdat' used by Geochemists' Workbench (originally from EQ36)
constexpr CArrayWrapper<double, 10> equilibriumConstants =
{
9.89E+13, // OH- + H+ = H2O
4.42E-07, // CO2 + H2O = H+ + HCO3-
2.21E+10, // CO3-2 + H+ = HCO3-
constexpr CArrayWrapper<double, 10> equilibriumConstants =
{
9.89E+13, // OH- + H+ = H2O
4.42E-07, // CO2 + H2O = H+ + HCO3-
2.21E+10, // CO3-2 + H+ = HCO3-
6.00E-02, // CaHCO3+ = Ca+2 + HCO3-
4.79E-03, // CaSO4 = Ca+2 + SO4-2
2.00E-01, // CaCl+ = Ca+2 + Cl-
3.98E+00, // CaCl2 = Ca+2 + 2Cl-
2.00E-01, // CaCl+ = Ca+2 + Cl-
3.98E+00, // CaCl2 = Ca+2 + 2Cl-
5.92E-03, // MgSO4 = Mg+2 + SO4-2
2.02E-01, // NaSO4- = Na+ + SO4-2
5.16E+01 // CaCO3 + H+ = Ca+2 + HCO3- (kinetic)
2.02E-01, // NaSO4- = Na+ + SO4-2
5.16E+01 // CaCO3 + H+ = Ca+2 + HCO3- (kinetic)
};

constexpr CArrayWrapper<double, 10> forwardRates =
{
1.4e11, // OH- + H+ = H2O
0.039, // CO2 + H2O = H+ + HCO3-
1.0e10, // CO3-2 + H+ = HCO3-
constexpr CArrayWrapper<double, 10> forwardRates =
{
1.4e11, // OH- + H+ = H2O
0.039, // CO2 + H2O = H+ + HCO3-
1.0e10, // CO3-2 + H+ = HCO3-
1.5e6, // CaHCO3+ = Ca+2 + HCO3-
1.0e5, // CaSO4 = Ca+2 + SO4-2
1.0e8, // CaCl+ = Ca+2 + Cl-
1.0e7, // CaCl2 = Ca+2 + 2Cl-
1.0e8, // CaCl+ = Ca+2 + Cl-
1.0e7, // CaCl2 = Ca+2 + 2Cl-
1.0e5, // MgSO4 = Mg+2 + SO4-2
1.0e7, // NaSO4- = Na+ + SO4-2
1.55E-06 // CaCO3 + H+ = Ca+2 + HCO3- (kinetic)
1.0e7, // NaSO4- = Na+ + SO4-2
1.55E-06 // CaCO3 + H+ = Ca+2 + HCO3- (kinetic)
};

constexpr CArrayWrapper<double, 10> reverseRates =
{ 1.43E-03, // OH- + H+ = H2O
8.92E+04, // CO2 + H2O = H+ + HCO3-
4.67E-01, // CO3-2 + H+ = HCO3-
constexpr CArrayWrapper<double, 10> reverseRates =
{ 1.43E-03, // OH- + H+ = H2O
8.92E+04, // CO2 + H2O = H+ + HCO3-
4.67E-01, // CO3-2 + H+ = HCO3-
1.85E+07, // CaHCO3+ = Ca+2 + HCO3-
1.45E+07, // CaSO4 = Ca+2 + SO4-2
2.14E+07, // CaCl+ = Ca+2 + Cl-
2.51E+06, // CaCl2 = Ca+2 + 2Cl-
2.14E+07, // CaCl+ = Ca+2 + Cl-
2.51E+06, // CaCl2 = Ca+2 + 2Cl-
2.69E+07, // MgSO4 = Mg+2 + SO4-2
6.62E+07, // NaSO4- = Na+ + SO4-2
3.00E-08 // CaCO3 + H+ = Ca+2 + HCO3-
};

constexpr CArrayWrapper<int, 10> mobileSpeciesFlag =
{ 1, // OH- + H+ = H2O
1, // CO2 + H2O = H+ + HCO3-
1, // CO3-2 + H+ = HCO3-
constexpr CArrayWrapper<int, 10> mobileSpeciesFlag =
{ 1, // OH- + H+ = H2O
1, // CO2 + H2O = H+ + HCO3-
1, // CO3-2 + H+ = HCO3-
1, // CaHCO3+ = Ca+2 + HCO3-
1, // CaSO4 = Ca+2 + SO4-2
1, // CaCl+ = Ca+2 + Cl-
1, // CaCl2 = Ca+2 + 2Cl-
1, // CaCl+ = Ca+2 + Cl-
1, // CaCl2 = Ca+2 + 2Cl-
1, // MgSO4 = Mg+2 + SO4-2
1, // NaSO4- = Na+ + SO4-2
1 // CaCO3 + H+ = Ca+2 + HCO3-
Expand Down
Loading
Loading