https://mooseframework.inl.gov
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 {
22 public:
25 
27 
29 
30 protected:
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;
40  const std::vector<std::string> _activity_species;
41  const std::vector<Real> _activity_values;
42  const std::string _equilibrium_species;
43 
44 private:
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 };
std::vector< std::string > eqmSpeciesOfInterest() const
provide a list of the equilibrium species of interest to the Interrogator
Queries and performs simple manipulations on a geochemical model.
const std::vector< std::string > _swap_in
const std::vector< std::string > _swap_out
static InputParameters sharedParams()
params that are shared with the AddGeochemicalModelInterrogatorAction
void outputActivity(const std::string &eqm_species) const
output activity info to console
enum GeochemicalModelInterrogator::InterrogationChoiceEnum _interrogation
GeochemicalModelInterrogator(const InputParameters &parameters)
Real solveForT(const DenseMatrix< Real > &reference_log10K, Real rhs) const
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...
Class to swap basis species with equilibrium species.
const std::vector< std::string > _activity_species
void outputReaction(const std::string &eqm_species) const
output nicely-formatted reaction info to console
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Real getActivity(const std::string &species) const
return the activity for the species. Note that knownActivity should be checked before calling getActi...
const InputParameters & parameters() const
Data structure to hold all relevant information from the database file.
const std::vector< Real > _activity_values
void outputTemperature(const std::string &eqm_species) const
output temperature info to console