![]() |
OGS
|
|
Namespaces | |
| namespace | anonymous_namespace{PhreeqcIO.cpp} |
Classes | |
| struct | AqueousSolution |
| class | BasicOutputSetups |
| Controls which built-in PHREEQC columns appear in the output file. More... | |
| struct | ChemicalSystem |
| Complete description of one local reactive system passed to PHREEQC. More... | |
| struct | ClampingStats |
| struct | Component |
| struct | DensityBasedSurfaceSite |
| struct | Dump |
| struct | EquilibriumReactant |
| struct | ExchangeSite |
| struct | KineticReactant |
| struct | Knobs |
| struct | MoleBasedSurfaceSite |
| struct | Output |
| Specification of which PHREEQC output columns are imported into OpenGeoSys. More... | |
| struct | OutputItem |
| One PHREEQC output column that OpenGeoSys will keep. More... | |
| class | PhreeqcInstancePool |
| class | PhreeqcIO |
| Drives the chemistry step in the operator-split reactive transport loop. More... | |
| struct | ReactionRate |
| struct | SecondaryVariable |
| struct | UserPunch |
Enumerations | |
| enum class | ItemType { pH , pe , Component , EquilibriumReactant , KineticReactant , SecondaryVariable } |
| Category used to interpret a PHREEQC output column. More... | |
Functions | |
| std::string | specifyFileName (std::string const &project_file_name, std::string const &file_extension) |
| std::ostream & | operator<< (std::ostream &os, PhreeqcIO const &phreeqc_io) |
| std::istream & | operator>> (std::istream &in, PhreeqcIO &phreeqc_io) |
| ClampingStats | setAqueousSolution (std::vector< double > const &concentrations, std::size_t const chemical_system_id, AqueousSolution &aqueous_solution, double const warning_threshold) |
| std::unique_ptr< AqueousSolution > | createAqueousSolution (BaseLib::ConfigTree const &config, MeshLib::Mesh &mesh) |
| std::unique_ptr< ChemicalSystem > | createChemicalSystem (BaseLib::ConfigTree const &config, MeshLib::Mesh &mesh) |
| std::vector< EquilibriumReactant > | createEquilibriumReactants (std::optional< BaseLib::ConfigTree > const &config, MeshLib::Mesh &mesh) |
| std::vector< ExchangeSite > | createExchange (std::optional< BaseLib::ConfigTree > const &config, MeshLib::Mesh &mesh) |
| std::vector< KineticReactant > | createKineticReactants (std::optional< BaseLib::ConfigTree > const &config, MeshLib::Mesh &mesh) |
| Knobs | createKnobs (BaseLib::ConfigTree const &config) |
| std::unique_ptr< Output > | createOutput (ChemicalSystem const &chemical_system, std::unique_ptr< UserPunch > const &user_punch, bool const use_high_precision, std::string const &project_file_name) |
| std::vector< Component > | createSolutionComponents (BaseLib::ConfigTree const &config) |
| std::vector< std::variant< DensityBasedSurfaceSite, MoleBasedSurfaceSite > > | createSurface (std::optional< BaseLib::ConfigTree > const &config, MeshLib::Mesh &mesh) |
| std::unique_ptr< UserPunch > | createUserPunch (std::optional< BaseLib::ConfigTree > const &config, MeshLib::Mesh const &mesh) |
| std::ostream & | operator<< (std::ostream &os, Knobs const &knobs) |
| std::ostream & | operator<< (std::ostream &os, BasicOutputSetups const &basic_output_setups) |
| std::ostream & | operator<< (std::ostream &os, Output const &output) |
| std::ostream & | operator<< (std::ostream &os, ReactionRate const &reaction_rate) |
| std::ostream & | operator<< (std::ostream &os, UserPunch const &user_punch) |
|
strong |
Category used to interpret a PHREEQC output column.
Distinguishes pH / pe, total component amounts, equilibrium-phase amounts, kinetic-phase amounts, and user-defined secondary variables.
| Enumerator | |
|---|---|
| pH | |
| pe | |
| Component | |
| EquilibriumReactant | |
| KineticReactant | |
| SecondaryVariable | |
Definition at line 71 of file ChemistryLib/PhreeqcIOData/Output.h.
| std::unique_ptr< AqueousSolution > ChemistryLib::PhreeqcIOData::createAqueousSolution | ( | BaseLib::ConfigTree const & | config, |
| MeshLib::Mesh & | mesh ) |
Definition at line 17 of file PhreeqcIOData/CreateAqueousSolution.cpp.
References ChemistryLib::createChargeBalance(), createSolutionComponents(), BaseLib::ConfigTree::getConfigAttribute(), BaseLib::ConfigTree::getConfigParameter(), MeshLib::getOrCreateMeshProperty(), MeshLib::IntegrationPoint, and pe.
Referenced by createChemicalSystem().
| std::unique_ptr< ChemicalSystem > ChemistryLib::PhreeqcIOData::createChemicalSystem | ( | BaseLib::ConfigTree const & | config, |
| MeshLib::Mesh & | mesh ) |
Definition at line 22 of file CreateChemicalSystem.cpp.
References createAqueousSolution(), createEquilibriumReactants(), createExchange(), createKineticReactants(), createSurface(), BaseLib::ConfigTree::getConfigSubtree(), and BaseLib::ConfigTree::getConfigSubtreeOptional().
| std::vector< EquilibriumReactant > ChemistryLib::PhreeqcIOData::createEquilibriumReactants | ( | std::optional< BaseLib::ConfigTree > const & | config, |
| MeshLib::Mesh & | mesh ) |
Definition at line 17 of file PhreeqcIOData/CreateEquilibriumReactants.cpp.
References MeshLib::Cell, MeshLib::Mesh::getNumberOfElements(), MeshLib::getOrCreateMeshProperty(), MeshLib::IntegrationPoint, and OGS_FATAL.
Referenced by createChemicalSystem().
| std::vector< ExchangeSite > ChemistryLib::PhreeqcIOData::createExchange | ( | std::optional< BaseLib::ConfigTree > const & | config, |
| MeshLib::Mesh & | mesh ) |
Definition at line 15 of file CreateExchange.cpp.
References MeshLib::getOrCreateMeshProperty(), and MeshLib::IntegrationPoint.
Referenced by createChemicalSystem().
| std::vector< KineticReactant > ChemistryLib::PhreeqcIOData::createKineticReactants | ( | std::optional< BaseLib::ConfigTree > const & | config, |
| MeshLib::Mesh & | mesh ) |
Definition at line 17 of file PhreeqcIOData/CreateKineticReactant.cpp.
References MeshLib::Cell, MeshLib::Mesh::getNumberOfElements(), MeshLib::getOrCreateMeshProperty(), and MeshLib::IntegrationPoint.
Referenced by createChemicalSystem().
| Knobs ChemistryLib::PhreeqcIOData::createKnobs | ( | BaseLib::ConfigTree const & | config | ) |
Definition at line 13 of file CreateKnobs.cpp.
References BaseLib::ConfigTree::getConfigParameter().
| std::unique_ptr< Output > ChemistryLib::PhreeqcIOData::createOutput | ( | ChemicalSystem const & | chemical_system, |
| std::unique_ptr< UserPunch > const & | user_punch, | ||
| bool const | use_high_precision, | ||
| std::string const & | project_file_name ) |
Definition at line 18 of file ChemistryLib/PhreeqcIOData/CreateOutput.cpp.
References ChemistryLib::PhreeqcIOData::ChemicalSystem::aqueous_solution, ChemistryLib::PhreeqcIOData::ChemicalSystem::equilibrium_reactants, ChemistryLib::PhreeqcIOData::BasicOutputSetups::getNumberOfDroppedItems(), ChemistryLib::PhreeqcIOData::BasicOutputSetups::getNumberOfItemsInDisplay(), ChemistryLib::PhreeqcIOData::ChemicalSystem::kinetic_reactants, pe, and pH.
| std::vector< Component > ChemistryLib::PhreeqcIOData::createSolutionComponents | ( | BaseLib::ConfigTree const & | config | ) |
Definition at line 13 of file CreateSolutionComponent.cpp.
References BaseLib::ConfigTree::getConfigSubtree().
Referenced by createAqueousSolution().
| std::vector< std::variant< DensityBasedSurfaceSite, MoleBasedSurfaceSite > > ChemistryLib::PhreeqcIOData::createSurface | ( | std::optional< BaseLib::ConfigTree > const & | config, |
| MeshLib::Mesh & | mesh ) |
Definition at line 16 of file CreateSurface.cpp.
References MeshLib::getOrCreateMeshProperty(), MeshLib::IntegrationPoint, and OGS_FATAL.
Referenced by createChemicalSystem().
| std::unique_ptr< UserPunch > ChemistryLib::PhreeqcIOData::createUserPunch | ( | std::optional< BaseLib::ConfigTree > const & | config, |
| MeshLib::Mesh const & | mesh ) |
Definition at line 15 of file CreateUserPunch.cpp.
References MeshLib::getOrCreateMeshProperty(), and MeshLib::IntegrationPoint.
| std::ostream & ChemistryLib::PhreeqcIOData::operator<< | ( | std::ostream & | os, |
| BasicOutputSetups const & | basic_output_setups ) |
Definition at line 39 of file ChemistryLib/PhreeqcIOData/Output.cpp.
| std::ostream & ChemistryLib::PhreeqcIOData::operator<< | ( | std::ostream & | os, |
| Knobs const & | knobs ) |
Definition at line 12 of file Knobs.cpp.
| std::ostream & ChemistryLib::PhreeqcIOData::operator<< | ( | std::ostream & | os, |
| Output const & | output ) |
Definition at line 61 of file ChemistryLib/PhreeqcIOData/Output.cpp.
| std::ostream & ChemistryLib::PhreeqcIOData::operator<< | ( | std::ostream & | os, |
| PhreeqcIO const & | phreeqc_io ) |
Definition at line 780 of file PhreeqcIO.cpp.
| std::ostream & ChemistryLib::PhreeqcIOData::operator<< | ( | std::ostream & | os, |
| ReactionRate const & | reaction_rate ) |
Definition at line 12 of file PhreeqcIOData/ReactionRate.cpp.
| std::ostream & ChemistryLib::PhreeqcIOData::operator<< | ( | std::ostream & | os, |
| UserPunch const & | user_punch ) |
Definition at line 20 of file UserPunch.cpp.
| std::istream & ChemistryLib::PhreeqcIOData::operator>> | ( | std::istream & | in, |
| PhreeqcIO & | phreeqc_io ) |
Definition at line 930 of file PhreeqcIO.cpp.
| ClampingStats ChemistryLib::PhreeqcIOData::setAqueousSolution | ( | std::vector< double > const & | concentrations, |
| std::size_t | chemical_system_id, | ||
| AqueousSolution & | aqueous_solution, | ||
| double | warning_threshold ) |
Writes concentrations into aqueous_solution for the given chemical_system_id and returns the clamping statistics.
Negative component concentrations are clamped to zero: values in \([\text{warning\_threshold}, 0)\) are treated as floating-point noise (e.g. from MPI partitioning or non-monotone advection/diffusion schemes) and clamped silently, whereas values below warning_threshold (which is negative) are clamped and counted as "severe" in the returned ClampingStats. The caller is responsible for reporting these (e.g. as an aggregated warning across all chemical systems). The last entry of concentrations is the H+ activity \(10^{-\text{pH}}\) for the pH "component".
Definition at line 55 of file PhreeqcIOData/AqueousSolution.cpp.
References ChemistryLib::PhreeqcIOData::ClampingStats::clamp(), ChemistryLib::PhreeqcIOData::AqueousSolution::components, ChemistryLib::PhreeqcIOData::AqueousSolution::H_plus_activity, ChemistryLib::PhreeqcIOData::ClampingStats::n_cells, ChemistryLib::PhreeqcIOData::ClampingStats::n_severe_cells, ChemistryLib::PhreeqcIOData::ClampingStats::n_severe_values, ChemistryLib::PhreeqcIOData::ClampingStats::n_values, and OGS_FATAL.
Referenced by ChemistryLib::PhreeqcIOData::PhreeqcIO::initializeChemicalSystemConcrete(), and ChemistryLib::PhreeqcIOData::PhreeqcIO::setChemicalSystemConcrete().
|
extern |
Definition at line 18 of file ChemistryLib/PhreeqcIOData/Output.cpp.
References BaseLib::MPI::OGS_COMM_WORLD.
Referenced by ChemistryLib::PhreeqcIOData::BasicOutputSetups::BasicOutputSetups(), ChemistryLib::PhreeqcIOData::Dump::Dump(), and ChemistryLib::PhreeqcIOData::PhreeqcIO::PhreeqcIO().