https://mooseframework.inl.gov
Loading...
Searching...
No Matches
GeochemicalModelInterrogator.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
3//*
4//* All rights reserved, see COPYRIGHT for full restrictions
5//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6//*
7//* Licensed under LGPL 2.1, please see LICENSE for details
8//* https://www.gnu.org/licenses/lgpl-2.1.html
9
10#pragma once
11
14#include "Output.h"
15#include "UserObjectInterface.h"
16
21{
22public:
25
27
29
30protected:
31 virtual void output() override;
32
35 const std::vector<std::string> _swap_out;
36 const std::vector<std::string> _swap_in;
37 const unsigned _precision;
39 const Real _temperature;
40 const std::vector<std::string> _activity_species;
41 const std::vector<Real> _activity_values;
42 const std::string _equilibrium_species;
43
44private:
46 std::vector<std::string> eqmSpeciesOfInterest() const;
47
49 void outputReaction(const std::string & eqm_species) const;
50
52 void outputActivity(const std::string & eqm_species) const;
53
55 void outputTemperature(const std::string & eqm_species) const;
56
58 bool knownActivity(const std::string & species) const;
59
61 Real getActivity(const std::string & species) const;
62
70 Real solveForT(const DenseMatrix<Real> & reference_log10K, Real rhs) const;
71};
Queries and performs simple manipulations on a geochemical model.
const std::vector< std::string > _swap_in
void outputActivity(const std::string &eqm_species) const
output activity info to console
bool knownActivity(const std::string &species) const
return true iff the activity is known for the species (it is a mineral or the user has set the activi...
void outputReaction(const std::string &eqm_species) const
output nicely-formatted reaction info to console
enum GeochemicalModelInterrogator::InterrogationChoiceEnum _interrogation
static InputParameters sharedParams()
params that are shared with the AddGeochemicalModelInterrogatorAction
const std::vector< std::string > _swap_out
std::vector< std::string > eqmSpeciesOfInterest() const
provide a list of the equilibrium species of interest to the Interrogator
const std::vector< std::string > _activity_species
Real solveForT(const DenseMatrix< Real > &reference_log10K, Real rhs) const
const std::vector< Real > _activity_values
Real getActivity(const std::string &species) const
return the activity for the species. Note that knownActivity should be checked before calling getActi...
void outputTemperature(const std::string &eqm_species) const
output temperature info to console
Class to swap basis species with equilibrium species.
const InputParameters & parameters() const
Data structure to hold all relevant information from the database file.