Reaktoro  v2.11.0
A unified framework for modeling chemically reactive systems
PhreeqcEditor.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 // namespace Reaktoro {
26 
27 // // Forward declarations
28 // class ChemicalSystem;
29 // class Phreeqc;
30 // class StringList;
31 
32 // class PhreeqcEditor
33 // {
34 // public:
35 // /// Construct a default PhreeqcEditor instance.
36 // PhreeqcEditor();
37 
38 // /// Construct a PhreeqcEditor instance with given database file.
39 // /// @param database The path, including name, to the PHREEQC database file.
40 // PhreeqcEditor(std::string database);
41 
42 // /// Construct a copy of a PhreeqcEditor instance.
43 // PhreeqcEditor(const PhreeqcEditor& other);
44 
45 // /// Destroy this PhreeqcEditor instance
46 // virtual ~PhreeqcEditor();
47 
48 // /// Assign another PhreeqcEditor instance to this.
49 // auto operator=(PhreeqcEditor other) -> PhreeqcEditor&;
50 
51 // /// Set the PHREEQC database file to be used by the PhreeqcEditor.
52 // /// @param database The path, including name, to the PHREEQC database file.
53 // auto setDatabase(std::string database) -> void;
54 
55 // /// Set the aqueous species in the system by specifying which elements should exist.
56 // /// @param elements The names of the elements either as a vector of strings or as space-separated string list.
57 // auto setAqueousPhase(StringList elements) -> void;
58 
59 // /// Set the gaseous phase in the system by specifying the end-member gases.
60 // /// @param elements The names of the gases either as a vector of strings or as space-separated string list.
61 // auto setGaseousPhase(StringList gases) -> void;
62 
63 // /// Set the mineral phases in the system by specifying the names of the pure minerals.
64 // /// @param elements The names of the pure minerals either as a vector of strings or as space-separated string list.
65 // auto setMineralPhases(StringList minerals) -> void;
66 
67 // /// Convert this PhreeqcEditor instance into a ChemicalSystem instance
68 // operator ChemicalSystem() const;
69 
70 // /// Convert this PhreeqcEditor instance into a Phreeqc instance
71 // operator Phreeqc() const;
72 
73 // private:
74 // struct Impl;
75 
76 // std::unique_ptr<Impl> pimpl;
77 // };
78 
79 // } // namespace Reaktoro