OGS
KineticReactant.h
Go to the documentation of this file.
1
11#pragma once
12
13#include <phreeqcpp/cxxKinetics.h>
14
15#include <string>
16#include <vector>
17
18namespace ChemistryLib
19{
20namespace PhreeqcKernelData
21{
22class KineticReactant final : private cxxKineticsComp
23{
24public:
25 KineticReactant(std::string name, double const initial_amount);
26
27 cxxKineticsComp const* castToBaseClass() const
28 {
29 return static_cast<cxxKineticsComp const*>(this);
30 }
31};
32
33class Kinetics final : private cxxKinetics
34{
35public:
36 explicit Kinetics(std::vector<KineticReactant> const& kinetic_reactants);
37
38 void setChemicalSystemID(std::size_t const chemical_system_id)
39 {
40 Set_n_user_both(chemical_system_id);
41 }
42
43 cxxKinetics const* castToBaseClass() const
44 {
45 return static_cast<cxxKinetics const*>(this);
46 }
47};
48} // namespace PhreeqcKernelData
49} // namespace ChemistryLib
KineticReactant(std::string name, double const initial_amount)
cxxKineticsComp const * castToBaseClass() const
cxxKinetics const * castToBaseClass() const
Kinetics(std::vector< KineticReactant > const &kinetic_reactants)
void setChemicalSystemID(std::size_t const chemical_system_id)