Reaktoro
A unified framework for modeling chemically reactive systems
EquilibriumUtils.hpp
1 // Reaktoro is a unified framework for modeling chemically reactive systems.
2 //
3 // Copyright (C) 2014-2018 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 namespace Reaktoro {
21 
22 // Forward declarations
23 class EquilibriumInverseProblem;
24 class EquilibriumProblem;
25 class ChemicalState;
26 class Partition;
27 struct EquilibriumOptions;
28 struct EquilibriumResult;
29 
33 auto equilibrate(ChemicalState& state) -> EquilibriumResult;
34 
38 auto equilibrate(ChemicalState& state, const Partition& partition) -> EquilibriumResult;
39 
43 auto equilibrate(ChemicalState& state, const EquilibriumOptions& options) -> EquilibriumResult;
44 
48 auto equilibrate(ChemicalState& state, const Partition& partition, const EquilibriumOptions& options) -> EquilibriumResult;
49 
53 auto equilibrate(ChemicalState& state, const EquilibriumProblem& problem) -> EquilibriumResult;
54 
58 auto equilibrate(ChemicalState& state, const EquilibriumProblem& problem, const EquilibriumOptions& options) -> EquilibriumResult;
59 
63 auto equilibrate(const EquilibriumProblem& problem) -> ChemicalState;
64 
68 auto equilibrate(const EquilibriumProblem& problem, const EquilibriumOptions& options) -> ChemicalState;
69 
73 auto equilibrate(ChemicalState& state, const EquilibriumInverseProblem& problem) -> EquilibriumResult;
74 
78 auto equilibrate(ChemicalState& state, const EquilibriumInverseProblem& problem, const EquilibriumOptions& options) -> EquilibriumResult;
79 
83 auto equilibrate(const EquilibriumInverseProblem& problem) -> ChemicalState;
84 
88 auto equilibrate(const EquilibriumInverseProblem& problem, const EquilibriumOptions& options) -> ChemicalState;
89 
90 } // namespace Reaktoro
The namespace containing all components of the Reaktoro library.
Definition: ChemicalScalar.hpp:24
auto equilibrate(ChemicalState &state) -> EquilibriumResult
Equilibrate a chemical state instance.
Definition: EquilibriumUtils.cpp:88