Reaktoro  v2.11.0
A unified framework for modeling chemically reactive systems
ActivityModelPitzer.hpp
1 // Reaktoro is a unified framework for modeling chemically reactive systems.
2 //
3 // Copyright © 2014-2024 Allan Leal
4 //
5 // This library is free software; you can redistribute it and/or
6 // modify it under the terms of the GNU Lesser General Public
7 // License as published by the Free Software Foundation; either
8 // version 2.1 of the License, or (at your option) any later version.
9 //
10 // This library is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 // Lesser General Public License for more details.
14 //
15 // You should have received a copy of the GNU Lesser General Public License
16 // along with this library. If not, see <http://www.gnu.org/licenses/>.
17 
18 #pragma once
19 
20 // Reaktoro includes
21 #include <Reaktoro/Core/ActivityModel.hpp>
22 #include <Reaktoro/Core/Params.hpp>
23 
24 namespace Reaktoro {
25 
28 {
30  enum class CorrectionModel
31  {
32  Constant,
33  Phreeqc,
34  HeMorse1993,
35  Dai2013,
36  Dai2014,
38  Holmes1987,
39  Pitzer1984,
41  Polya2001,
42  LiDuan2007,
43  };
44 
47  {
50 
53 
56  };
57 
70 };
71 
74 
77 
80 
81 } // namespace Reaktoro
Used to store and retrieve model parameters.
Definition: Params.hpp:29
The namespace containing all components of the Reaktoro library.
Definition: Algorithms.hpp:29
Fn< ActivityModel(SpeciesList const &species)> ActivityModelGenerator
The type for functions that construct an ActivityModel for a phase.
Definition: ActivityModel.hpp:53
std::vector< T > Vec
Convenient alias for std::vector<T>.
Definition: Types.hpp:66
auto ActivityModelPitzer() -> ActivityModelGenerator
Return the Pitzer activity model for aqueous electrolyte phases based on PHREEQC's implementation.
The attributes of an interaction parameter in the Pitzer activity model.
Definition: ActivityModelPitzer.hpp:47
Vec< real > parameters
The parameters for the temperature-pressure correction model of this species interaction parameter.
Definition: ActivityModelPitzer.hpp:55
CorrectionModel model
The model used for temperature-pressure correction of this species interaction parameter (options).
Definition: ActivityModelPitzer.hpp:52
Vec< ChemicalFormula > formulas
The chemical formulas of the species associated to this species interaction parameter sorted in desce...
Definition: ActivityModelPitzer.hpp:49
The parameters in the Pitzer activity model for aqueous electrolyte solutions.
Definition: ActivityModelPitzer.hpp:28
Vec< InteractionParamAttribs > theta
The parameters in the Pitzer model for cation-cation and anion-anion interactions.
Definition: ActivityModelPitzer.hpp:62
Vec< InteractionParamAttribs > alpha1
The parameters associated to the parameters .
Definition: ActivityModelPitzer.hpp:68
Vec< InteractionParamAttribs > eta
The parameters in the Pitzer model for neutral-cation-cation and neutral-anion-anion interactions.
Definition: ActivityModelPitzer.hpp:67
Vec< InteractionParamAttribs > alpha2
The parameters associated to the parameters .
Definition: ActivityModelPitzer.hpp:69
Vec< InteractionParamAttribs > mu
The parameters in the Pitzer model for neutral-neutral-neutral, neutral-neutral-cation,...
Definition: ActivityModelPitzer.hpp:66
Vec< InteractionParamAttribs > beta0
The parameters in the Pitzer model for cation-anion interactions.
Definition: ActivityModelPitzer.hpp:58
CorrectionModel
The available temperature-pressure correction models for the Pitzer interaction parameters.
Definition: ActivityModelPitzer.hpp:31
@ Phreeqc
Correction model based on formula from PHREEQC v3 where .
@ ChristovMoller2004
Correction model based on formula \eq{} from Christov and Møller (2004) (see Table 5 in 10....
@ Pitzer1984
Correction model based on formula \eq{} from Pitzer et al. (1984) (see Table 7 in 10....
@ PalabanPitzer1987
Correction model based on formula \eq{} from Palaban and Pitzer (1987) (see Table 8 in 10....
@ HeMorse1993
Correction model based on formula from He and Morse (1993) (doi: 10.1016/0016-7037(93)90137-L).
@ Polya2001
Correction model based on formula \eq{} from Polya et al. (2001) (see Table 10 in 10....
@ Dai2014
Correction model based on formula from Dai et al. (2014) (doi: 10.2118/169786-ms).
@ Holmes1987
Correction model based on formula \eq{} from Holmes et al. (1987) (see Table 6 in 10....
@ Dai2013
Correction model based on formula from Dai et al. (2013) (doi: 10.2118/164045-ms).
@ Constant
Correction model based on formula .
@ LiDuan2007
Correction model based on formula \eq{} from Li and Duan (2007) (see Table 12 in 10....
Vec< InteractionParamAttribs > beta2
The parameters in the Pitzer model for cation-anion interactions.
Definition: ActivityModelPitzer.hpp:60
Vec< InteractionParamAttribs > zeta
The parameters in the Pitzer model for neutral-cation-anion interactions.
Definition: ActivityModelPitzer.hpp:64
Vec< InteractionParamAttribs > beta1
The parameters in the Pitzer model for cation-anion interactions.
Definition: ActivityModelPitzer.hpp:59
Vec< InteractionParamAttribs > lambda
The parameters in the Pitzer model for neutral-cation and neutral-anion interactions.
Definition: ActivityModelPitzer.hpp:63
Vec< InteractionParamAttribs > psi
The parameters in the Pitzer model for cation-cation-anion and anion-anion-cation interactions.
Definition: ActivityModelPitzer.hpp:65
Vec< InteractionParamAttribs > Cphi
The parameters in the Pitzer model for cation-anion interactions.
Definition: ActivityModelPitzer.hpp:61