Reaktoro
A unified framework for modeling chemically reactive systems
MineralSpecies.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 // Reaktoro includes
21 #include <Reaktoro/Core/Species.hpp>
22 #include <Reaktoro/Thermodynamics/Species/ThermoData.hpp>
23 
24 namespace Reaktoro {
25 
27 class MineralSpecies : public Species
28 {
29 public:
32 
34  MineralSpecies(const Species& species);
35 
37  auto setThermoData(const MineralSpeciesThermoData& thermo) -> void;
38 
40  auto thermoData() const -> const MineralSpeciesThermoData&;
41 
42 private:
43  struct Impl;
44 
45  std::shared_ptr<Impl> pimpl;
46 };
47 
48 } // namespace Reaktoro
A type for storing the thermodynamic data of a mineral species.
Definition: ThermoData.hpp:241
auto thermoData() const -> const MineralSpeciesThermoData &
Return the thermodynamic data of the mineral species.
Definition: MineralSpecies.cpp:41
MineralSpecies()
Construct a default MineralSpecies instance.
Definition: MineralSpecies.cpp:28
A type to describe the attributes of a mineral species.
Definition: MineralSpecies.hpp:28
The namespace containing all components of the Reaktoro library.
Definition: ChemicalScalar.hpp:24
A type used to describe a species and its attributes.
Definition: Species.hpp:42
auto setThermoData(const MineralSpeciesThermoData &thermo) -> void
Set the thermodynamic data of the mineral species.
Definition: MineralSpecies.cpp:36