OGS
Toggle main menu visibility
Main Page
Related Pages
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
v
w
z
Enumerations
b
c
d
e
f
g
i
l
m
n
o
p
s
t
u
v
Enumerator
a
b
c
d
e
f
g
h
l
m
n
p
r
s
t
v
y
Classes
Class List
Class Index
Class Hierarchy
Files
File List
File Members
All
a
b
c
d
e
f
g
i
k
m
n
o
p
r
s
t
v
w
x
Functions
a
c
d
e
f
g
i
m
o
p
r
s
t
v
w
Variables
Typedefs
Enumerations
Macros
b
c
g
m
n
o
p
r
s
t
▼
OGS
►
OpenGeoSys 6.5.4-427-g3181fdc05 source code documentation
►
OGS CTests—Project Files
►
OGS Input File Parameters—Quality Assurance
►
OGS Input File Parameters
BulkMappingDocuPage
Todo List
OGS Input File Parameters—List of incomplete documentation pages
Bibliography
►
Namespaces
►
Classes
▼
Files
▼
File List
►
Applications
►
BaseLib
►
build
▼
ChemistryLib
►
Common
►
PhreeqcIOData
►
PhreeqcKernelData
▼
SelfContainedSolverData
►
ChemicalReaction.h
►
CreateChemicalReactionData.cpp
►
CreateChemicalReactionData.h
►
SelfContainedSolver.h
►
ChemicalSolverInterface.h
►
ChemicalSolverType.h
►
CreateChemicalSolverInterface.cpp
►
CreateChemicalSolverInterface.h
►
PhreeqcIO.cpp
►
PhreeqcIO.h
►
PhreeqcKernel.cpp
►
PhreeqcKernel.h
Documentation
►
GeoLib
►
InfoLib
►
MaterialLib
►
MathLib
►
MeshGeoToolsLib
►
MeshLib
►
MeshToolsLib
►
NumLib
►
ParameterLib
►
ProcessLib
►
File Members
SelfContainedSolver.h
Go to the documentation of this file.
1
11
#pragma once
12
13
#include <Eigen/Sparse>
14
#include <memory>
15
16
#include "
ChemicalReaction.h
"
17
#include "
ChemistryLib/ChemicalSolverInterface.h
"
18
19
namespace
ChemistryLib
20
{
21
namespace
SelfContainedSolverData
22
{
23
class
SelfContainedSolver
final :
public
ChemicalSolverInterface
24
{
25
public
:
26
SelfContainedSolver
(
MeshLib::Mesh
const
& mesh,
27
GlobalLinearSolver
&
linear_solver
,
28
Eigen::SparseMatrix<double>
29
stoichiometric_matrix,
30
std::vector<std::unique_ptr<ChemicalReaction>>
31
chemical_reactions)
32
:
ChemicalSolverInterface
(mesh,
linear_solver
),
33
_stoichiometric_matrix
(stoichiometric_matrix),
34
_chemical_reactions
(std::move(chemical_reactions))
35
{
36
}
26
SelfContainedSolver
(
MeshLib::Mesh
const
& mesh, {
…
}
37
38
Eigen::SparseMatrix<double>
const
*
getStoichiometricMatrix
()
const override
39
{
40
return
&
_stoichiometric_matrix
;
41
}
38
Eigen::SparseMatrix<double>
const
*
getStoichiometricMatrix
()
const override
{
…
}
42
43
double
getKineticPrefactor
(std::size_t reaction_id)
const override
44
{
45
return
_chemical_reactions
[reaction_id]->getKineticPrefactor();
46
}
43
double
getKineticPrefactor
(std::size_t reaction_id)
const override
{
…
}
47
48
private
:
49
Eigen::SparseMatrix<double>
_stoichiometric_matrix
;
50
std::vector<std::unique_ptr<ChemicalReaction>>
_chemical_reactions
;
51
};
23
class
SelfContainedSolver
final :
public
ChemicalSolverInterface
{
…
};
52
}
// namespace SelfContainedSolverData
53
}
// namespace ChemistryLib
ChemicalReaction.h
ChemicalSolverInterface.h
ChemistryLib::ChemicalSolverInterface
Definition
ChemicalSolverInterface.h:33
ChemistryLib::ChemicalSolverInterface::linear_solver
GlobalLinearSolver & linear_solver
Definition
ChemicalSolverInterface.h:133
ChemistryLib::SelfContainedSolverData::SelfContainedSolver
Definition
SelfContainedSolver.h:24
ChemistryLib::SelfContainedSolverData::SelfContainedSolver::_chemical_reactions
std::vector< std::unique_ptr< ChemicalReaction > > _chemical_reactions
Definition
SelfContainedSolver.h:50
ChemistryLib::SelfContainedSolverData::SelfContainedSolver::getStoichiometricMatrix
Eigen::SparseMatrix< double > const * getStoichiometricMatrix() const override
Definition
SelfContainedSolver.h:38
ChemistryLib::SelfContainedSolverData::SelfContainedSolver::SelfContainedSolver
SelfContainedSolver(MeshLib::Mesh const &mesh, GlobalLinearSolver &linear_solver, Eigen::SparseMatrix< double > stoichiometric_matrix, std::vector< std::unique_ptr< ChemicalReaction > > chemical_reactions)
Definition
SelfContainedSolver.h:26
ChemistryLib::SelfContainedSolverData::SelfContainedSolver::_stoichiometric_matrix
Eigen::SparseMatrix< double > _stoichiometric_matrix
Definition
SelfContainedSolver.h:49
ChemistryLib::SelfContainedSolverData::SelfContainedSolver::getKineticPrefactor
double getKineticPrefactor(std::size_t reaction_id) const override
Definition
SelfContainedSolver.h:43
MathLib::EigenLisLinearSolver
Definition
EigenLisLinearSolver.h:31
MeshLib::Mesh
Definition
Mesh.h:45
ChemistryLib
Definition
ChemicalSolverInterface.h:31
ChemistryLib
SelfContainedSolverData
SelfContainedSolver.h
Generated by
1.12.0