Reaktoro
A unified framework for modeling chemically reactive systems
ChemicalField.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 //
21 //#include <Reaktoro/Common/ChemicalScalar.hpp>
22 //#include <Reaktoro/Math/Matrix.hpp>
23 //#include <Reaktoro/Core/Partition.hpp>
24 //
25 //namespace Reaktoro {
26 //
28 //struct EquilibriumSensitivity;
29 //
31 //class ChemicalField
32 //{
33 //public:
34 // /// Construct a default ChemicalField instance.
35 // ChemicalField();
36 //
37 // /// Construct a ChemicalField instance with given chemical system partition.
38 // /// @param npoints The number of points in the field.
39 // /// @param partition The partition of the chemical system.
40 // ChemicalField(const Partition& partition, Index npoints);
41 //
42 // /// Construct a copy of a ChemicalField instance.
43 // ChemicalField(const ChemicalField& other);
44 //
45 // /// Destroy this instance.
46 // virtual ~ChemicalField();
47 //
48 // /// Construct a copy of a ChemicalField instance.
49 // auto operator=(ChemicalField other) -> ChemicalField&;
50 //
51 // /// Set the field at the i-th point with a ChemicalScalar instance.
52 // /// @param i The index of the field point.
53 // /// @param scalar The chemical scalar to be set at the i-th point.
54 // /// @param sensitivity The equilibrium sensitivity at the i-th point.
55 // auto set(Index i, const ChemicalScalar& scalar, const EquilibriumSensitivity& sensitivity) -> void;
56 //
57 // /// Return the partition of the chemical system.
58 // auto partition() const -> const Partition&;
59 //
60 // /// Return the size of the chemical field.
61 // auto size() const -> Index;
62 //
63 // /// Return a reference to the values of the chemical field.
64 // auto val() -> VectorRef;
65 //
66 // /// Return a const reference to the values of the chemical field.
67 // auto val() const -> VectorConstRef;
68 //
69 // /// Return a reference to the derivatives w.r.t. temperature of the chemical field.
70 // auto ddT() -> VectorRef;
71 //
72 // /// Return a const-reference to the derivatives w.r.t. temperature of the chemical field.
73 // auto ddT() const -> VectorConstRef;
74 //
75 // /// Return a reference to the derivatives w.r.t. pressure of the chemical field.
76 // auto ddP() -> VectorRef;
77 //
78 // /// Return a const-reference to the derivatives w.r.t. pressure of the chemical field.
79 // auto ddP() const -> VectorConstRef;
80 //
81 // /// Return a reference to the derivatives w.r.t. molar amounts of equilibrium elements of the chemical field.
82 // auto ddbe() -> std::vector<Vector>&;
83 //
84 // /// Return a const-reference to the derivatives w.r.t. molar amounts of equilibrium elements of the chemical field.
85 // auto ddbe() const -> const std::vector<Vector>&;
86 //
87 // /// Return a reference to the derivatives w.r.t. molar amounts of kinetic species of the chemical field.
88 // auto ddnk() -> std::vector<Vector>&;
89 //
90 // /// Return a const-reference to the derivatives w.r.t. molar amounts of kinetic species of the chemical field.
91 // auto ddnk() const -> const std::vector<Vector>&;
92 //
93 //private:
94 // struct Impl;
95 //
96 // std::unique_ptr<Impl> pimpl;
97 //};
98 //
100 //auto operator<<(std::ostream& out, const ChemicalField& f) -> std::ostream&;
101 //
102 //} // namespace Reaktoro
103 //