Reaktoro  v2.11.0
A unified framework for modeling chemically reactive systems
PhreeqcWater.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/Real.hpp>
22 
23 namespace Reaktoro {
24 namespace PhreeqcUtils {
25 
28 {
30  real rho_0 = {};
31 
33  real kappa_0 = {};
34 };
35 
38 {
40  real eps_r = {};
41 
43  real DH_A = {};
44 
46  real DH_B = {};
47 
49  real DH_Av = {};
50 
52  real ZBrn = {};
53 
54  // The Born function d(ln(eps_r))/dP / eps_r * 41.84004, for supcrt calc'n of molal volume
55  real QBrn = {};
56 };
57 
60 {
63 
66 };
67 
72 
77 auto waterElectroProps(real T, real P, PhreeqcWaterThermoProps wtp) -> PhreeqcWaterElectroProps;
78 
82 auto waterProps(real T, real P) -> PhreeqcWaterProps;
83 
87 auto waterPropsMemoized(real T, real P) -> PhreeqcWaterProps;
88 
95 auto waterDensityPhreeqc(real T, real P) -> real;
96 
101 auto waterDielectricConstantPhreeqc(real T, real P) -> real;
102 
103 } // namespace PhreeqcUtils
104 } // namespace Reaktoro
The namespace containing all components of the Reaktoro library.
Definition: Algorithms.hpp:29
auto waterThermoProps(real const &T, real const &P, WaterHelmholtzProps const &whp) -> WaterThermoProps
Calculate the thermodynamic properties of water.
autodiff::real real
The number type used throughout the library.
Definition: Real.hpp:26
The electrostatic properties of water computed in PHREEQC.
Definition: PhreeqcWater.hpp:38
real DH_B
The Debye-Hueckel B coefficient (in 1/Angstrom(mol/kg)^-0.5).
Definition: PhreeqcWater.hpp:46
real DH_A
The Debye-Hueckel A coefficient (in (mol/kg)^-0.5).
Definition: PhreeqcWater.hpp:43
real DH_Av
The Debye-Hueckel limiting slope (in (cm3/mol)(mol/kg)^-0.5).
Definition: PhreeqcWater.hpp:49
real eps_r
The relative dielectric constant of water.
Definition: PhreeqcWater.hpp:40
real ZBrn
The Born function (-1/eps_r + 1) * 41.84004, for supcrt calc'n of molal volume.
Definition: PhreeqcWater.hpp:52
The thermodynamic and electrostatic properties of water computed in PHREEQC.
Definition: PhreeqcWater.hpp:60
PhreeqcWaterThermoProps wtp
The thermodynamic properties of water.
Definition: PhreeqcWater.hpp:62
PhreeqcWaterElectroProps wep
The electrostatic properties of water.
Definition: PhreeqcWater.hpp:65
The thermodynamic properties of water computed in PHREEQC.
Definition: PhreeqcWater.hpp:28
real rho_0
The density of water (in g/cm3).
Definition: PhreeqcWater.hpp:30
real kappa_0
The compressibility of water, d(ln(rho))/dP, (in 1/atm).
Definition: PhreeqcWater.hpp:33