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 & activeElementIDs () const
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

Private Attributes

std::vector< std::size_t > active_element_ids_

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 auto const* const bulk_element_ids = bulkElementIDs(_mesh);
40 if (bulk_element_ids == nullptr)
41 {
43 "The 'bulk_element_ids' property does not exist on the mesh "
44 "{:s}.",
45 _mesh.getName());
46 }
47 active_element_ids_.assign(bulk_element_ids->begin(),
48 bulk_element_ids->end());
49 }
#define OGS_FATAL(...)
Definition Error.h:26
PropertyVector< std::size_t > const * bulkElementIDs(Mesh const &mesh)
Definition Mesh.cpp:301

References _mesh, active_element_ids_, linear_solver, and OGS_FATAL.

Referenced by ChemistryLib::PhreeqcIOData::PhreeqcIO::PhreeqcIO(), ChemistryLib::PhreeqcKernelData::PhreeqcKernel::PhreeqcKernel(), and ChemistryLib::SelfContainedSolverData::SelfContainedSolver::SelfContainedSolver().

◆ ~ChemicalSolverInterface()

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

Member Function Documentation

◆ activeElementIDs()

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

Definition at line 51 of file ChemicalSolverInterface.h.

52 {
54 }

References active_element_ids_.

◆ computeSecondaryVariable()

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

Reimplemented in ChemistryLib::PhreeqcIOData::PhreeqcIO.

Definition at line 120 of file ChemicalSolverInterface.h.

123 {
124 }

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

90 {
91 return {};
92 }

◆ getConcentration()

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

Reimplemented in ChemistryLib::PhreeqcIOData::PhreeqcIO.

Definition at line 82 of file ChemicalSolverInterface.h.

85 {
86 return std::numeric_limits<double>::quiet_NaN();
87 }

◆ getKineticPrefactor()

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

Reimplemented in ChemistryLib::SelfContainedSolverData::SelfContainedSolver.

Definition at line 99 of file ChemicalSolverInterface.h.

101 {
102 return std::numeric_limits<double>::quiet_NaN();
103 }

◆ getStoichiometricMatrix()

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

Reimplemented in ChemistryLib::SelfContainedSolverData::SelfContainedSolver.

Definition at line 94 of file ChemicalSolverInterface.h.

95 {
96 return nullptr;
97 }

◆ initialize()

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

Reimplemented in ChemistryLib::PhreeqcIOData::PhreeqcIO.

Definition at line 56 of file ChemicalSolverInterface.h.

56{}

◆ initializeChemicalSystemConcrete()

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

Reimplemented in ChemistryLib::PhreeqcIOData::PhreeqcIO.

Definition at line 58 of file ChemicalSolverInterface.h.

63 {
64 }

◆ setAqueousSolutionsPrevFromDumpFile()

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

Reimplemented in ChemistryLib::PhreeqcIOData::PhreeqcIO.

Definition at line 76 of file ChemicalSolverInterface.h.

76{}

◆ 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

Reimplemented in ChemistryLib::PhreeqcIOData::PhreeqcIO.

Definition at line 66 of file ChemicalSolverInterface.h.

73 {
74 }

◆ updatePorosityPostReaction()

virtual void ChemistryLib::ChemicalSolverInterface::updatePorosityPostReaction ( GlobalIndexType const & ,
MaterialPropertyLib::Medium const & ,
double &  )
inlinevirtual

Reimplemented in ChemistryLib::PhreeqcIOData::PhreeqcIO.

Definition at line 113 of file ChemicalSolverInterface.h.

117 {
118 }

◆ updateVolumeFractionPostReaction()

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

Reimplemented in ChemistryLib::PhreeqcIOData::PhreeqcIO.

Definition at line 105 of file ChemicalSolverInterface.h.

110 {
111 }

Member Data Documentation

◆ _mesh

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

Definition at line 130 of file ChemicalSolverInterface.h.

Referenced by ChemicalSolverInterface().

◆ active_element_ids_

std::vector<std::size_t> ChemistryLib::ChemicalSolverInterface::active_element_ids_
private

Definition at line 136 of file ChemicalSolverInterface.h.

Referenced by ChemicalSolverInterface(), and activeElementIDs().

◆ chemical_system_index_map

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

◆ linear_solver

GlobalLinearSolver& ChemistryLib::ChemicalSolverInterface::linear_solver

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