Reaktoro
v2.11.0
A unified framework for modeling chemically reactive systems
Home
Modules
Namespaces
Classes
Files
License
File List
Reaktoro
Equilibrium
EquilibriumReactions.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
// // C++ includes
21
// #include <memory>
22
// #include <string>
23
// #include <vector>
24
25
// // Reaktoro includes
26
// #include <Reaktoro/Common/Index.hpp>
27
// #include <Reaktoro/Common/Matrix.hpp>
28
// #include <Reaktoro/Math/LU.hpp>
29
30
// namespace Reaktoro {
31
32
// // Forward declarations
33
// class ChemicalSystem;
34
// class Partition;
35
// class ReactionEquation;
36
37
// /// A class that generates a system of equilibrium reactions written in terms of master and secondary species.
38
// class EquilibriumReactions
39
// {
40
// public:
41
// /// Construct an EquilibriumReactions instance.
42
// EquilibriumReactions(const ChemicalSystem& system);
43
44
// /// Construct an EquilibriumReactions instance
45
// EquilibriumReactions(const ChemicalSystem& system, const Partition& partition);
46
47
// /// Construct a copy of an EquilibriumReactions instance
48
// EquilibriumReactions(const EquilibriumReactions& other);
49
50
// /// Destroy this EquilibriumReactions instance.
51
// virtual ~EquilibriumReactions();
52
53
// /// Assign other EquilibriumReactions instance to this.
54
// auto operator=(EquilibriumReactions other) -> EquilibriumReactions&;
55
56
// /// Return the chemical system for which the equilibrium reactions were defined.
57
// auto system() const -> const ChemicalSystem&;
58
59
// /// Return the partition of the chemical system for which the equilibrium reactions were defined.
60
// auto partition() const -> const Partition&;
61
62
// /// Set the master species manually.
63
// /// @param ispecies The global indices of the master species.
64
// auto setMasterSpecies(Indices ispecies) -> void;
65
66
// /// Set the master species manually.
67
// /// @param species The names of the master species.
68
// auto setMasterSpecies(std::vector<std::string> species) -> void;
69
70
// /// Return the indices of the master species.
71
// /// The master species are those that serve as building blocks for the secondary species.
72
// auto indicesMasterSpecies() const -> Indices;
73
74
// /// Return the indices of the secondary species.
75
// /// The secondary species are those that are constructed from master species.
76
// auto indicesSecondarySpecies() const -> Indices;
77
78
// /// Return the equations of the equilibrium reactions.
79
// auto equations() const -> std::vector<ReactionEquation>;
80
81
// /// Return the stoichiometric matrix of the reactions.
82
// auto stoichiometricMatrix() const -> MatrixXd;
83
84
// /// Return the LU decomposition of the formula matrix `A`.
85
// auto lu() const -> const LU&;
86
87
// private:
88
// struct Impl;
89
90
// std::unique_ptr<Impl> pimpl;
91
// };
92
93
// } // namespace Reaktoro
Generated on Fri Jan 19 2024 09:38:41 for Reaktoro by
1.9.1