https://mooseframework.inl.gov
Loading...
Searching...
No Matches
GeochemicalSystemTest.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
3//*
4//* All rights reserved, see COPYRIGHT for full restrictions
5//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6//*
7//* Licensed under LGPL 2.1, please see LICENSE for details
8//* https://www.gnu.org/licenses/lgpl-2.1.html
9
10#pragma once
11
12#include "gtest_include.h"
13
14#include "GeochemicalSystem.h"
15
16class GeochemicalSystemTest : public ::testing::Test
17{
18public:
20 : _db_calcite("database/moose_testdb.json", true, true, false),
22 _db_calcite, {"H2O", "H+", "HCO3-", "Ca++"}, {"Calcite"}, {}, {}, {}, {}, "O2(aq)", "e-"),
24 _db_calcite, {"H2O", "H+", "HCO3-", "Ca++"}, {}, {}, {"Calcite"}, {}, {}, "O2(aq)", "e-"),
27 _swapper3(3, 1e-6),
28 _swapper4(4, 1e-6),
29 _swapper5(5, 1e-6),
30 _swapper6(6, 1e-6),
31 _swapper7(7, 1e-6),
32 _swapper8(8, 1e-6),
41 _is3(3.0, 3.0, false, false),
43 _is0(0.0, 0.0, false, false),
45 _is8(1E-8, 1E-8, false, false),
48 _ac3,
49 _is3,
51 {"Ca++"},
52 {"Calcite"},
53 "H+",
54 {"H2O", "Calcite", "H+", "HCO3-"},
55 {1.75, 3.0, 2.0, 1.0},
58 25,
59 0,
60 1E-20,
61 {},
62 {},
63 {}),
65 _ac3,
66 _is3,
68 {},
69 {},
70 "H+",
71 {"H2O", "Ca++", "H+", "HCO3-"},
72 {1.75, 3.0, 2.0, 1.0},
75 25,
76 0,
77 1E-20,
78 {"Calcite"},
79 {1.1},
81 _cm_dummy({}),
82 _cu_dummy({}),
85 {"H2O", "H+", "HCO3-", "O2(aq)", "(O-phth)--", "CH4(aq)", "StoiCheckRedox", "Fe+++"},
86 {"Fe(OH)3(ppd)fake"},
87 {"CH4(g)fake", "O2(g)"},
88 {},
89 {},
90 {},
91 "O2(aq)",
92 "e-"),
112 _ac3,
113 _is3,
114 _swapper8,
115 {},
116 {},
117 "Fe+++",
118 {"H2O", "H+", "HCO3-", "O2(aq)", "(O-phth)--", "CH4(aq)", "StoiCheckRedox", "Fe+++"},
119 {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0},
120 _cu_redox,
121 _cm_redox,
122 25,
123 0,
124 1E-20,
125 {},
126 {},
127 {})
128 {
129 }
130
131protected:
143 const std::vector<GeochemicalSystem::ConstraintUserMeaningEnum> _cm_calcite;
144 const std::vector<GeochemistryUnitConverter::GeochemistryUnit> _cu_calcite;
153 const std::vector<GeochemicalSystem::ConstraintUserMeaningEnum> _cm_dummy;
154 const std::vector<GeochemistryUnitConverter::GeochemistryUnit> _cu_dummy;
157 std::vector<GeochemicalSystem::ConstraintUserMeaningEnum> _cm_redox;
158 std::vector<GeochemistryUnitConverter::GeochemistryUnit> _cu_redox;
160};
Class for reading geochemical reactions from a MOOSE geochemical database.
GeochemistrySpeciesSwapper _swapper6
std::vector< GeochemistryUnitConverter::GeochemistryUnit > _cu_redox
GeochemistryActivityCoefficientsDebyeHuckel _ac8
GeochemistrySpeciesSwapper _swapper5
const GeochemicalSystem _egs_redox
GeochemistrySpeciesSwapper _swapper7
GeochemistryIonicStrength _is3
GeochemistryActivityCoefficientsDebyeHuckel _ac3
const std::vector< GeochemistryUnitConverter::GeochemistryUnit > _cu_dummy
ModelGeochemicalDatabase _mgd_kinetic_calcite
GeochemistryIonicStrength _is0
ModelGeochemicalDatabase _mgd_calcite
const PertinentGeochemicalSystem _model_calcite
const std::vector< GeochemistryUnitConverter::GeochemistryUnit > _cu_calcite
ModelGeochemicalDatabase _mgd_redox
const std::vector< GeochemicalSystem::ConstraintUserMeaningEnum > _cm_calcite
GeochemistryActivityCoefficientsDebyeHuckel _ac0
std::vector< GeochemicalSystem::ConstraintUserMeaningEnum > _cm_redox
const GeochemicalSystem _egs_calcite
const GeochemicalSystem _egs_kinetic_calcite
GeochemistrySpeciesSwapper _swapper3
GeochemistryIonicStrength _is8
const GeochemicalDatabaseReader _db_calcite
GeochemistrySpeciesSwapper _swapper4
const PertinentGeochemicalSystem _model_redox
GeochemistrySpeciesSwapper _swapper8
const PertinentGeochemicalSystem _model_kinetic_calcite
const std::vector< GeochemicalSystem::ConstraintUserMeaningEnum > _cm_dummy
This class holds information about bulk composition, molalities, activities, activity coefficients,...
Computes activity coefficients for non-minerals and non-gases (since these species do not have activi...
Calculators to compute ionic strength and stoichiometric ionic strength.
Class to swap basis species with equilibrium species.
Constructs and stores a minimal amount of information that is pertinent to the user-defined geochemic...
const ModelGeochemicalDatabase & modelGeochemicalDatabase() const
Return a reference to the ModelGeochemicalDatabase structure.
Data structure to hold all relevant information from the database file.