OGS
|
Definition at line 33 of file PhreeqcIO.h.
#include <PhreeqcIO.h>
Public Member Functions | |
PhreeqcIO (MeshLib::Mesh const &mesh, GlobalLinearSolver &linear_solver, std::string const &project_file_name, std::string &&database, std::unique_ptr< ChemicalSystem > &&chemical_system, std::vector< ReactionRate > &&reaction_rates, std::unique_ptr< UserPunch > &&user_punch, std::unique_ptr< Output > &&output, std::unique_ptr< Dump > &&dump, Knobs &&knobs) | |
~PhreeqcIO () | |
void | initialize () override |
void | initializeChemicalSystemConcrete (std::vector< double > const &concentrations, GlobalIndexType const &chemical_system_id, MaterialPropertyLib::Medium const &medium, ParameterLib::SpatialPosition const &pos, double const t) override |
void | setChemicalSystemConcrete (std::vector< double > const &concentrations, GlobalIndexType const &chemical_system_id, MaterialPropertyLib::Medium const *medium, MaterialPropertyLib::VariableArray const &vars, ParameterLib::SpatialPosition const &pos, double const t, double const dt) override |
void | setAqueousSolutionsPrevFromDumpFile () override |
void | executeSpeciationCalculation (double const dt) override |
double | getConcentration (int const component_id, GlobalIndexType const chemical_system_id) const override |
void | updateVolumeFractionPostReaction (GlobalIndexType const &chemical_system_id, MaterialPropertyLib::Medium const &medium, ParameterLib::SpatialPosition const &pos, double const porosity, double const t, double const dt) override |
void | updatePorosityPostReaction (GlobalIndexType const &chemical_system_id, MaterialPropertyLib::Medium const &medium, double &porosity) override |
void | computeSecondaryVariable (std::size_t const ele_id, std::vector< GlobalIndexType > const &chemical_system_indices) override |
std::vector< std::string > const | getComponentList () const override |
Public Member Functions inherited from ChemistryLib::ChemicalSolverInterface | |
ChemicalSolverInterface (MeshLib::Mesh const &mesh, GlobalLinearSolver &linear_solver_) | |
std::vector< std::size_t > const & | getElementIDs () |
virtual Eigen::SparseMatrix< double > const * | getStoichiometricMatrix () const |
virtual double | getKineticPrefactor (std::size_t reaction_id) const |
virtual | ~ChemicalSolverInterface ()=default |
Public Attributes | |
std::string const | _phreeqc_input_file |
Public Attributes inherited from ChemistryLib::ChemicalSolverInterface | |
std::vector< GlobalIndexType > | chemical_system_index_map |
MeshLib::Mesh const & | _mesh |
GlobalLinearSolver & | linear_solver |
Private Member Functions | |
void | writeInputsToFile (double const dt) |
void | callPhreeqc () const |
void | readOutputsFromFile () |
PhreeqcIO & | operator<< (double const dt) |
Private Attributes | |
std::string const | _database |
std::unique_ptr< ChemicalSystem > | _chemical_system |
std::vector< ReactionRate > const | _reaction_rates |
std::unique_ptr< UserPunch > | _user_punch |
std::unique_ptr< Output > const | _output |
std::unique_ptr< Dump > const | _dump |
Knobs const | _knobs |
double | _dt = std::numeric_limits<double>::quiet_NaN() |
const int | phreeqc_instance_id = 0 |
std::size_t | _num_chemical_systems = -1 |
Friends | |
std::ostream & | operator<< (std::ostream &os, PhreeqcIO const &phreeqc_io) |
std::istream & | operator>> (std::istream &in, PhreeqcIO &phreeqc_io) |
ChemistryLib::PhreeqcIOData::PhreeqcIO::PhreeqcIO | ( | MeshLib::Mesh const & | mesh, |
GlobalLinearSolver & | linear_solver, | ||
std::string const & | project_file_name, | ||
std::string && | database, | ||
std::unique_ptr< ChemicalSystem > && | chemical_system, | ||
std::vector< ReactionRate > && | reaction_rates, | ||
std::unique_ptr< UserPunch > && | user_punch, | ||
std::unique_ptr< Output > && | output, | ||
std::unique_ptr< Dump > && | dump, | ||
Knobs && | knobs ) |
Definition at line 265 of file PhreeqcIO.cpp.
References _database, _dump, _output, OGS_FATAL, and phreeqc_instance_id.
ChemistryLib::PhreeqcIOData::PhreeqcIO::~PhreeqcIO | ( | ) |
Definition at line 318 of file PhreeqcIO.cpp.
References phreeqc_instance_id.
|
private |
Definition at line 639 of file PhreeqcIO.cpp.
References _phreeqc_input_file, INFO(), OGS_FATAL, and phreeqc_instance_id.
Referenced by executeSpeciationCalculation().
|
overridevirtual |
Reimplemented from ChemistryLib::ChemicalSolverInterface.
Definition at line 907 of file PhreeqcIO.cpp.
References _chemical_system.
|
overridevirtual |
Reimplemented from ChemistryLib::ChemicalSolverInterface.
Definition at line 403 of file PhreeqcIO.cpp.
References callPhreeqc(), readOutputsFromFile(), and writeInputsToFile().
|
overridevirtual |
Reimplemented from ChemistryLib::ChemicalSolverInterface.
Definition at line 857 of file PhreeqcIO.cpp.
References _chemical_system.
|
overridevirtual |
Reimplemented from ChemistryLib::ChemicalSolverInterface.
Definition at line 412 of file PhreeqcIO.cpp.
References _chemical_system, ChemistryLib::PhreeqcIOData::pH, and MathLib::LinAlg::setLocalAccessibleVector().
|
overridevirtual |
Reimplemented from ChemistryLib::ChemicalSolverInterface.
Definition at line 323 of file PhreeqcIO.cpp.
References _chemical_system, _num_chemical_systems, _user_punch, and ChemistryLib::ChemicalSolverInterface::chemical_system_index_map.
|
overridevirtual |
Reimplemented from ChemistryLib::ChemicalSolverInterface.
Definition at line 335 of file PhreeqcIO.cpp.
References _chemical_system, and MaterialPropertyLib::Medium::phase().
|
inlineprivate |
Definition at line 104 of file PhreeqcIO.h.
References _dt.
|
private |
Definition at line 652 of file PhreeqcIO.cpp.
References _output, DBUG(), and OGS_FATAL.
Referenced by executeSpeciationCalculation().
|
overridevirtual |
Reimplemented from ChemistryLib::ChemicalSolverInterface.
Definition at line 433 of file PhreeqcIO.cpp.
References _dump, _num_chemical_systems, and OGS_FATAL.
|
overridevirtual |
Reimplemented from ChemistryLib::ChemicalSolverInterface.
Definition at line 377 of file PhreeqcIO.cpp.
References _chemical_system, and MaterialPropertyLib::Medium::phase().
|
overridevirtual |
Reimplemented from ChemistryLib::ChemicalSolverInterface.
Definition at line 889 of file PhreeqcIO.cpp.
References _chemical_system.
|
overridevirtual |
Reimplemented from ChemistryLib::ChemicalSolverInterface.
Definition at line 870 of file PhreeqcIO.cpp.
References _chemical_system.
|
private |
Definition at line 459 of file PhreeqcIO.cpp.
References _phreeqc_input_file, DBUG(), and OGS_FATAL.
Referenced by executeSpeciationCalculation().
|
friend |
Definition at line 483 of file PhreeqcIO.cpp.
|
friend |
Definition at line 676 of file PhreeqcIO.cpp.
|
private |
Definition at line 111 of file PhreeqcIO.h.
Referenced by computeSecondaryVariable(), getComponentList(), getConcentration(), initialize(), initializeChemicalSystemConcrete(), setChemicalSystemConcrete(), updatePorosityPostReaction(), and updateVolumeFractionPostReaction().
|
private |
Definition at line 110 of file PhreeqcIO.h.
Referenced by PhreeqcIO().
|
private |
Definition at line 117 of file PhreeqcIO.h.
Referenced by operator<<().
|
private |
Definition at line 115 of file PhreeqcIO.h.
Referenced by PhreeqcIO(), and setAqueousSolutionsPrevFromDumpFile().
|
private |
Definition at line 116 of file PhreeqcIO.h.
|
private |
Definition at line 119 of file PhreeqcIO.h.
Referenced by initialize(), and setAqueousSolutionsPrevFromDumpFile().
|
private |
Definition at line 114 of file PhreeqcIO.h.
Referenced by PhreeqcIO(), and readOutputsFromFile().
std::string const ChemistryLib::PhreeqcIOData::PhreeqcIO::_phreeqc_input_file |
Definition at line 95 of file PhreeqcIO.h.
Referenced by callPhreeqc(), and writeInputsToFile().
|
private |
Definition at line 112 of file PhreeqcIO.h.
|
private |
Definition at line 113 of file PhreeqcIO.h.
Referenced by initialize().
|
private |
Definition at line 118 of file PhreeqcIO.h.
Referenced by PhreeqcIO(), ~PhreeqcIO(), and callPhreeqc().