Loading [MathJax]/jax/output/HTML-CSS/config.js
OGS
ChemistryLib::ChemicalSolverInterface Class Reference

Detailed Description

Definition at line 32 of file ChemicalSolverInterface.h.

#include <ChemicalSolverInterface.h>

Inheritance diagram for ChemistryLib::ChemicalSolverInterface:
[legend]
Collaboration diagram for ChemistryLib::ChemicalSolverInterface:
[legend]

Public Member Functions

 ChemicalSolverInterface (MeshLib::Mesh const &mesh, GlobalLinearSolver &linear_solver_)
 
std::vector< std::size_t > const & getElementIDs ()
 
virtual void initialize ()
 
virtual void initializeChemicalSystemConcrete (std::vector< double > const &, GlobalIndexType const &, MaterialPropertyLib::Medium const &, ParameterLib::SpatialPosition const &, double const)
 
virtual void setChemicalSystemConcrete (std::vector< double > const &, GlobalIndexType const &, MaterialPropertyLib::Medium const *, MaterialPropertyLib::VariableArray const &, ParameterLib::SpatialPosition const &, double const, double const)
 
virtual void setAqueousSolutionsPrevFromDumpFile ()
 
virtual void executeSpeciationCalculation (double const dt)
 
virtual double getConcentration (int const, GlobalIndexType const) const
 
virtual std::vector< std::string > const getComponentList () const
 
virtual Eigen::SparseMatrix< double > const * getStoichiometricMatrix () const
 
virtual double getKineticPrefactor (std::size_t reaction_id) const
 
virtual void updateVolumeFractionPostReaction (GlobalIndexType const &, MaterialPropertyLib::Medium const &, ParameterLib::SpatialPosition const &, double const, double const, double const)
 
virtual void updatePorosityPostReaction (GlobalIndexType const &, MaterialPropertyLib::Medium const &, double &)
 
virtual void computeSecondaryVariable (std::size_t const, std::vector< GlobalIndexType > const &)
 
virtual ~ChemicalSolverInterface ()=default
 

Public Attributes

std::vector< GlobalIndexTypechemical_system_index_map
 
MeshLib::Mesh const & _mesh
 
GlobalLinearSolverlinear_solver
 

Constructor & Destructor Documentation

◆ ChemicalSolverInterface()

ChemistryLib::ChemicalSolverInterface::ChemicalSolverInterface ( MeshLib::Mesh const & mesh,
GlobalLinearSolver & linear_solver_ )
inline

Definition at line 35 of file ChemicalSolverInterface.h.

37 : _mesh(mesh), linear_solver(linear_solver_)
38 {
39 }

◆ ~ChemicalSolverInterface()

virtual ChemistryLib::ChemicalSolverInterface::~ChemicalSolverInterface ( )
virtualdefault

Member Function Documentation

◆ computeSecondaryVariable()

virtual void ChemistryLib::ChemicalSolverInterface::computeSecondaryVariable ( std::size_t const ,
std::vector< GlobalIndexType > const &  )
inlinevirtual

◆ executeSpeciationCalculation()

virtual void ChemistryLib::ChemicalSolverInterface::executeSpeciationCalculation ( double const dt)
inlinevirtual

◆ getComponentList()

virtual std::vector< std::string > const ChemistryLib::ChemicalSolverInterface::getComponentList ( ) const
inlinevirtual

Reimplemented in ChemistryLib::PhreeqcIOData::PhreeqcIO.

Definition at line 86 of file ChemicalSolverInterface.h.

87 {
88 return {};
89 }

◆ getConcentration()

virtual double ChemistryLib::ChemicalSolverInterface::getConcentration ( int const ,
GlobalIndexType const  ) const
inlinevirtual

Reimplemented in ChemistryLib::PhreeqcIOData::PhreeqcIO.

Definition at line 79 of file ChemicalSolverInterface.h.

82 {
83 return std::numeric_limits<double>::quiet_NaN();
84 }

Referenced by ProcessLib::ComponentTransport::LocalAssemblerData< ShapeFunction, GlobalDim >::assembleReactionEquationConcrete().

◆ getElementIDs()

std::vector< std::size_t > const & ChemistryLib::ChemicalSolverInterface::getElementIDs ( )
inline

Definition at line 41 of file ChemicalSolverInterface.h.

42 {
43 if (auto const* const bulk_element_ids = bulkElementIDs(_mesh))
44 {
45 return *bulk_element_ids;
46 }
48 "The 'bulk_element_ids' property does not exist on the mesh "
49 "{:s}.",
50 _mesh.getName());
51 }
#define OGS_FATAL(...)
Definition Error.h:26
const std::string getName() const
Get name of the mesh.
Definition Mesh.h:105
PropertyVector< std::size_t > const * bulkElementIDs(Mesh const &mesh)
Definition Mesh.cpp:300

References _mesh, MeshLib::Mesh::getName(), and OGS_FATAL.

◆ getKineticPrefactor()

virtual double ChemistryLib::ChemicalSolverInterface::getKineticPrefactor ( std::size_t reaction_id) const
inlinevirtual

Reimplemented in ChemistryLib::SelfContainedSolverData::SelfContainedSolver.

Definition at line 96 of file ChemicalSolverInterface.h.

98 {
99 return std::numeric_limits<double>::quiet_NaN();
100 }

Referenced by ProcessLib::ComponentTransport::LocalAssemblerData< ShapeFunction, GlobalDim >::assemble().

◆ getStoichiometricMatrix()

virtual Eigen::SparseMatrix< double > const * ChemistryLib::ChemicalSolverInterface::getStoichiometricMatrix ( ) const
inlinevirtual

◆ initialize()

virtual void ChemistryLib::ChemicalSolverInterface::initialize ( )
inlinevirtual

Reimplemented in ChemistryLib::PhreeqcIOData::PhreeqcIO.

Definition at line 53 of file ChemicalSolverInterface.h.

53{}

◆ initializeChemicalSystemConcrete()

virtual void ChemistryLib::ChemicalSolverInterface::initializeChemicalSystemConcrete ( std::vector< double > const & ,
GlobalIndexType const & ,
MaterialPropertyLib::Medium const & ,
ParameterLib::SpatialPosition const & ,
double const  )
inlinevirtual

◆ setAqueousSolutionsPrevFromDumpFile()

virtual void ChemistryLib::ChemicalSolverInterface::setAqueousSolutionsPrevFromDumpFile ( )
inlinevirtual

Reimplemented in ChemistryLib::PhreeqcIOData::PhreeqcIO.

Definition at line 73 of file ChemicalSolverInterface.h.

73{}

◆ setChemicalSystemConcrete()

virtual void ChemistryLib::ChemicalSolverInterface::setChemicalSystemConcrete ( std::vector< double > const & ,
GlobalIndexType const & ,
MaterialPropertyLib::Medium const * ,
MaterialPropertyLib::VariableArray const & ,
ParameterLib::SpatialPosition const & ,
double const ,
double const  )
inlinevirtual

◆ updatePorosityPostReaction()

◆ updateVolumeFractionPostReaction()

virtual void ChemistryLib::ChemicalSolverInterface::updateVolumeFractionPostReaction ( GlobalIndexType const & ,
MaterialPropertyLib::Medium const & ,
ParameterLib::SpatialPosition const & ,
double const ,
double const ,
double const  )
inlinevirtual

Member Data Documentation

◆ _mesh

MeshLib::Mesh const& ChemistryLib::ChemicalSolverInterface::_mesh

Definition at line 127 of file ChemicalSolverInterface.h.

Referenced by getElementIDs().

◆ chemical_system_index_map

std::vector<GlobalIndexType> ChemistryLib::ChemicalSolverInterface::chemical_system_index_map

◆ linear_solver

GlobalLinearSolver& ChemistryLib::ChemicalSolverInterface::linear_solver

specify the linear solver used to solve the linearized reaction equation.

Definition at line 130 of file ChemicalSolverInterface.h.

Referenced by ProcessLib::ComponentTransport::ComponentTransportProcess::solveReactionEquation().


The documentation for this class was generated from the following file: