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 80 of file ChemicalSolverInterface.h.

81 {
82 return {};
83 }

◆ getConcentration()

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

Reimplemented in ChemistryLib::PhreeqcIOData::PhreeqcIO.

Definition at line 73 of file ChemicalSolverInterface.h.

76 {
77 return std::numeric_limits<double>::quiet_NaN();
78 }

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 return *_mesh.getProperties().template getPropertyVector<std::size_t>(
44 "bulk_element_ids", MeshLib::MeshItemType::Cell, 1);
45 }
Properties & getProperties()
Definition Mesh.h:134

References _mesh, MeshLib::Cell, and MeshLib::Mesh::getProperties().

◆ getKineticPrefactor()

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

Reimplemented in ChemistryLib::SelfContainedSolverData::SelfContainedSolver.

Definition at line 90 of file ChemicalSolverInterface.h.

92 {
93 return std::numeric_limits<double>::quiet_NaN();
94 }

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 47 of file ChemicalSolverInterface.h.

47{}

◆ 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 67 of file ChemicalSolverInterface.h.

67{}

◆ 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 121 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 124 of file ChemicalSolverInterface.h.

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


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