Reaktoro 
A unified framework for modeling chemically reactive systems
ElementUtils.hpp
1 // Reaktoro is a unified framework for modeling chemically reactive systems.
2 //
3 // Copyright (C) 2014-2015 Allan Leal
4 //
5 // This program is free software: you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation, either version 3 of the License, or
8 // (at your option) any later version.
9 //
10 // This program 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
13 // GNU General Public License for more details.
14 //
15 // You should have received a copy of the GNU General Public License
16 // along with this program. If not, see <http://www.gnu.org/licenses/>.
17 
18 #pragma once
19 
20 // C++ includes
21 #include <string>
22 #include <vector>
23 #include <map>
24 
25 namespace Reaktoro {
26 
28 auto elements() -> std::vector<std::string>;
29 
33 auto elements(std::string formula) -> std::map<std::string, double>;
34 
38 auto atomicMass(std::string element) -> double;
39 
43 auto molarMass(const std::map<std::string, double>& compound) -> double;
44 
48 auto molarMass(std::string formula) -> double;
49 
64 auto charge(const std::string& formula) -> double;
65 
66 } // namespace Reaktoro
auto atomicMass(std::string element) -> double
Return the atomic mass of a chemical element (in units of kg/mol).
Definition: ElementUtils.cpp:169
auto molarMass(const std::map< std::string, double > &elements) -> double
Calculate the molar mass of a chemical compound (in units of kg/mol).
Definition: ElementUtils.cpp:184
auto charge(const std::string &formula) -> double
Extract the electrical charge of a chemical formula.
Definition: ElementUtils.cpp:197
The namespace containing all components of the Reaktoro library.
Definition: ChemicalScalar.hpp:24
auto elements() -> std::vector< std::string >
Return a vector of all known 116 chemical elements.
Definition: ElementUtils.cpp:155