OGS
ChemicalSystem.h
Go to the documentation of this file.
1
11
#pragma once
12
13
#include <memory>
14
#include <variant>
15
#include <vector>
16
17
#include "
AqueousSolution.h
"
18
#include "
EquilibriumReactant.h
"
19
#include "
Exchange.h
"
20
#include "
KineticReactant.h
"
21
#include "
Surface.h
"
22
23
namespace
ChemistryLib
24
{
25
namespace
PhreeqcIOData
26
{
27
struct
ChemicalSystem
28
{
29
ChemicalSystem
(std::unique_ptr<AqueousSolution>&& aqueous_solution_,
30
std::vector<KineticReactant>&& kinetic_reactants_,
31
std::vector<EquilibriumReactant>&& equilibrium_reactants_,
32
std::vector<ExchangeSite>&& exchangers_,
33
std::vector<std::variant<
DensityBasedSurfaceSite
,
34
MoleBasedSurfaceSite
>>&& surface_)
35
:
aqueous_solution
(std::move(aqueous_solution_)),
36
kinetic_reactants
(std::move(kinetic_reactants_)),
37
equilibrium_reactants
(std::move(equilibrium_reactants_)),
38
exchangers
(std::move(exchangers_)),
39
surface
(std::move(surface_))
40
{
41
}
42
43
void
initialize
(std::size_t
const
num_chemical_systems);
44
45
std::unique_ptr<AqueousSolution>
aqueous_solution
;
46
std::vector<KineticReactant>
kinetic_reactants
;
47
std::vector<EquilibriumReactant>
equilibrium_reactants
;
48
std::vector<ExchangeSite>
exchangers
;
49
std::vector<std::variant<DensityBasedSurfaceSite, MoleBasedSurfaceSite>>
50
surface
;
51
};
52
}
// namespace PhreeqcIOData
53
}
// namespace ChemistryLib
Surface.h
EquilibriumReactant.h
Exchange.h
AqueousSolution.h
KineticReactant.h
ChemistryLib
Definition
ChemicalSolverInterface.h:31
ChemistryLib::PhreeqcIOData::ChemicalSystem
Definition
ChemicalSystem.h:28
ChemistryLib::PhreeqcIOData::ChemicalSystem::aqueous_solution
std::unique_ptr< AqueousSolution > aqueous_solution
Definition
ChemicalSystem.h:45
ChemistryLib::PhreeqcIOData::ChemicalSystem::kinetic_reactants
std::vector< KineticReactant > kinetic_reactants
Definition
ChemicalSystem.h:46
ChemistryLib::PhreeqcIOData::ChemicalSystem::ChemicalSystem
ChemicalSystem(std::unique_ptr< AqueousSolution > &&aqueous_solution_, std::vector< KineticReactant > &&kinetic_reactants_, std::vector< EquilibriumReactant > &&equilibrium_reactants_, std::vector< ExchangeSite > &&exchangers_, std::vector< std::variant< DensityBasedSurfaceSite, MoleBasedSurfaceSite > > &&surface_)
Definition
ChemicalSystem.h:29
ChemistryLib::PhreeqcIOData::ChemicalSystem::equilibrium_reactants
std::vector< EquilibriumReactant > equilibrium_reactants
Definition
ChemicalSystem.h:47
ChemistryLib::PhreeqcIOData::ChemicalSystem::exchangers
std::vector< ExchangeSite > exchangers
Definition
ChemicalSystem.h:48
ChemistryLib::PhreeqcIOData::ChemicalSystem::surface
std::vector< std::variant< DensityBasedSurfaceSite, MoleBasedSurfaceSite > > surface
Definition
ChemicalSystem.h:50
ChemistryLib::PhreeqcIOData::ChemicalSystem::initialize
void initialize(std::size_t const num_chemical_systems)
Definition
ChemicalSystem.cpp:21
ChemistryLib::PhreeqcIOData::DensityBasedSurfaceSite
Definition
Surface.h:22
ChemistryLib::PhreeqcIOData::MoleBasedSurfaceSite
Definition
Surface.h:41
ChemistryLib
PhreeqcIOData
ChemicalSystem.h
Generated by
1.12.0