Reaktoro 
A unified framework for modeling chemically reactive systems
GlobalOptions.hpp
1 // Reaktoro is a unified framework for modeling chemically reactive systems.
2 //
3 // Copyright (C) 2014-2015 Allan Leal
4 //
5 // This program is free software: you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation, either version 3 of the License, or
8 // (at your option) any later version.
9 //
10 // This program 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
13 // GNU General Public License for more details.
14 //
15 // You should have received a copy of the GNU General Public License
16 // along with this program. If not, see <http://www.gnu.org/licenses/>.
17 
18 #pragma once
19 
20 // Reaktoro includes
21 #include <Reaktoro/Equilibrium/EquilibriumOptions.hpp>
22 #include <Reaktoro/Equilibrium/EquilibriumPath.hpp>
23 #include <Reaktoro/Kinetics/KineticOptions.hpp>
24 #include <Reaktoro/Kinetics/KineticPath.hpp>
25 
26 namespace Reaktoro {
27 namespace global {
28 
31 {
33  std::string temperature_units = "celsius";
34 
36  std::string pressure_units = "bar";
37 
39  std::vector<double> temperatures;
40 
42  std::vector<double> pressures;
43 };
44 
47 {
51  bool enforce_temperature_bounds = false;
52 
56  bool enforce_pressure_bounds = false;
57 };
58 
61 {
63  bool exclude_species_with_missing_data = true;
64 };
65 
68 {
70  struct HKF
71  {
74  double ionic_strength_limit = 6.0;
75  };
76 
78  struct DebyeHuckel
79  {
82  double ionic_strength_limit = 6.0;
83  };
84 
87 
90 };
91 
94 {
97 
100 
103 
106 
109 
112 
115 };
116 
117 extern GlobalOptions options;
118 
119 } // namespace global
120 } // namespace Reaktoro
A struct that describes the options from an equilibrium path calculation.
Definition: EquilibriumPath.hpp:40
A type used to describe all options related to chemical calculations.
Definition: GlobalOptions.hpp:93
std::string temperature_units
The units of the temperature values (default: celsius).
Definition: GlobalOptions.hpp:33
A struct to describe the options for a chemical kinetics calculation.
Definition: KineticOptions.hpp:35
A type used to describe all options related to Debye-Huckel model.
Definition: GlobalOptions.hpp:78
A type used to describe all options related to database management.
Definition: GlobalOptions.hpp:60
The options for the equilibrium calculations.
Definition: EquilibriumOptions.hpp:44
DebyeHuckel debye_huckel
The options for the Debye-Huckel model.
Definition: GlobalOptions.hpp:89
A type used to describe all options related to interpolation.
Definition: GlobalOptions.hpp:30
AqueousOptions aqueous
The options used for aqueous properties calculations.
Definition: GlobalOptions.hpp:114
std::vector< double > pressures
The pressure points used for interpolation.
Definition: GlobalOptions.hpp:42
A type used to describe all options related to aqueous models.
Definition: GlobalOptions.hpp:67
EquilibriumPathOptions equilibriumpath
The options used for the equilibrium path calculations.
Definition: GlobalOptions.hpp:99
ExceptionOptions exception
The options used for the exception handling.
Definition: GlobalOptions.hpp:108
std::vector< double > temperatures
The temperature points used for interpolation.
Definition: GlobalOptions.hpp:39
InterpolationOptions interpolation
The options used for the property interpolation.
Definition: GlobalOptions.hpp:105
HKF hkf
The options for the HKF model.
Definition: GlobalOptions.hpp:86
DatabaseOptions database
The options used for managing and inializing databases.
Definition: GlobalOptions.hpp:111
std::string pressure_units
The units of the pressure values (default: bar).
Definition: GlobalOptions.hpp:36
EquilibriumOptions equilibrium
The options used for the equilibrium calculations.
Definition: GlobalOptions.hpp:96
The namespace containing all components of the Reaktoro library.
Definition: ChemicalScalar.hpp:24
KineticOptions kinetics
The options used for the kinetic calculations.
Definition: GlobalOptions.hpp:102
A type used to describe all options related to HKF model.
Definition: GlobalOptions.hpp:70
A type used to describe all options related to exception handling.
Definition: GlobalOptions.hpp:46