Reaktoro  v2.11.0
A unified framework for modeling chemically reactive systems
MineralReactionRateModel.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/Common/Types.hpp>
22 #include <Reaktoro/Core/ChemicalProps.hpp>
23 #include <Reaktoro/Core/ChemicalState.hpp>
24 #include <Reaktoro/Core/ChemicalSystem.hpp>
25 #include <Reaktoro/Core/Model.hpp>
26 #include <Reaktoro/Core/ReactionRate.hpp>
27 #include <Reaktoro/Core/ReactionRateModel.hpp>
28 #include <Reaktoro/Utils/AqueousProps.hpp>
29 
30 namespace Reaktoro {
31 
35 {
38 
41 
43  real const& T;
44 
46  real const& P;
47 
49  real const& pH;
50 
52  real const& Omega;
53 
55  real const& area;
56 };
57 
62 
67 
68 } // namespace Reaktoro
The chemical properties of an aqueous phase.
Definition: AqueousProps.hpp:37
The class that computes chemical properties of a chemical system.
Definition: ChemicalProps.hpp:34
Definition: Model.hpp:30
The result of a reaction rate model evaluation.
Definition: ReactionRate.hpp:28
The namespace containing all components of the Reaktoro library.
Definition: Algorithms.hpp:29
autodiff::real real
The number type used throughout the library.
Definition: Real.hpp:26
Model< ReactionRate(MineralReactionRateModelArgs args)> MineralReactionRateModel
The type of functions that calculate rates for mineral dissolution/precipitation reactions.
Definition: MineralReactionRateModel.hpp:61
std::function< F > Fn
Convenient alias for std::function<R(Args...)>.
Definition: Types.hpp:110
Fn< MineralReactionRateModel(ReactionRateModelGeneratorArgs args)> MineralReactionRateModelGenerator
The type of functions that construct a MineralReactionRateModel for a mineral reaction.
Definition: MineralReactionRateModel.hpp:66
The data provided to a MineralReactionRateModel to evaluate the rate of a mineral reaction.
Definition: MineralReactionRateModel.hpp:35
real const & area
The surface area between the mineral and the aqueous solution.
Definition: MineralReactionRateModel.hpp:55
real const & T
The temperature of the chemical system (in K).
Definition: MineralReactionRateModel.hpp:43
real const & pH
The pH of the aqueous solution.
Definition: MineralReactionRateModel.hpp:49
AqueousProps const & aprops
The properties of the aqueous solution.
Definition: MineralReactionRateModel.hpp:40
real const & Omega
The saturation ratio of the mineral reaction.
Definition: MineralReactionRateModel.hpp:52
real const & P
The pressure of the chemical system (in Pa).
Definition: MineralReactionRateModel.hpp:46
ChemicalProps const & props
The properties of the chemical system.
Definition: MineralReactionRateModel.hpp:37
The data provided to a ReactionRateModelGenerator to construct the ReactionRateModel of a reaction.
Definition: ReactionRateModel.hpp:45