144 const std::string class_name =
"NearestNodeNumberUO";
146 params.
set<Point>(
"point") = getParam<Point>(
"point");
148 params.set<std::vector<SubdomainName>>(
"block") =
149 getParam<std::vector<SubdomainName>>(
"block");
151 params.set<std::vector<BoundaryName>>(
"boundary") =
152 getParam<std::vector<BoundaryName>>(
"boundary");
154 _problem->addUserObject(class_name,
"geochemistry_nearest_node_number", params);
158 const std::string class_name =
"GeochemistryConsoleOutput";
160 params.
set<UserObjectName>(
"geochemistry_reactor") =
161 getParam<UserObjectName>(
"geochemistry_reactor_name");
162 params.set<
unsigned>(
"precision") = getParam<unsigned>(
"precision");
163 params.set<
Real>(
"mol_cutoff") = getParam<Real>(
"mol_cutoff");
164 params.set<
Real>(
"stoichiometry_tolerance") = getParam<Real>(
"stoichiometry_tolerance");
165 params.set<
bool>(
"solver_info") = getParam<bool>(
"solver_info");
166 params.set<UserObjectName>(
"nearest_node_number_UO") =
"geochemistry_nearest_node_number";
167 params.set<
ExecFlagEnum>(
"execute_on") = getParam<ExecFlagEnum>(
"execute_console_output_on");
168 _problem->addOutput(class_name,
"geochemistry_console_output", params);
174 getParam<UserObjectName>(
"model_definition"))
177 if (getParam<bool>(
"add_aux_temperature"))
180 if (getParam<bool>(
"add_aux_solvent_kg"))
182 if (getParam<bool>(
"add_aux_activity"))
184 if (getParam<bool>(
"add_aux_bulk_moles"))
187 if (getParam<bool>(
"add_aux_pH"))
192 for (
unsigned i = 1; i < num_basis; ++i)
204 if (getParam<bool>(
"add_aux_activity"))
207 if (getParam<bool>(
"add_aux_bulk_moles"))
212 for (
unsigned j = 0;
j < num_eqm; ++
j)
222 if (getParam<bool>(
"add_aux_activity"))
224 if (getParam<bool>(
"add_aux_bulk_moles"))
230 for (
unsigned k = 0;
k < num_kin; ++
k)
236 if (getParam<bool>(
"add_aux_kinetic_moles"))
238 if (getParam<bool>(
"add_aux_kinetic_additions"))
246 if (getParam<bool>(
"add_aux_surface_charge"))
247 addAuxSpecies(
"surface_charge_" + mineral, mineral,
"surface_charge");
248 if (getParam<bool>(
"add_aux_surface_potential"))
249 addAuxSpecies(
"surface_potential_" + mineral, mineral,
"surface_potential");
std::vector< bool > kin_species_mineral
kin_species_mineral[j] = true iff the j^th kinetic species is a mineral
std::vector< std::string > surface_sorption_name
surface_sorption_name[k] = name of the mineral involved in surface sorption.
const ModelGeochemicalDatabase mgd
InputParameters getValidParams(const std::string &name) const
User object that parses a geochemical database file, and only retains information relevant to the cur...
bool isParamValid(const std::string &name) const
const ModelGeochemicalDatabase & getDatabase() const
provides a reference to the pertinent geochemical database held by this object
const T & getParam(const std::string &name) const
const std::string & _current_task
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
std::vector< bool > basis_species_mineral
basis_species_mineral[j] = true iff the j^th basis species is a mineral
std::shared_ptr< FEProblemBase > & _problem
std::vector< std::string > kin_species_name
kin_species_name[j] = name of the j^th kinetic species
Data structure to hold all relevant information from the database file.
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")
std::vector< bool > eqm_species_mineral
eqm_species_mineral[i] = true iff the i^th equilibrium species is a mineral
std::vector< std::string > eqm_species_name
eqm_species_name[i] = name of the i^th eqm species
static const std::string k
std::vector< std::string > basis_species_name
basis_species_name[j] = name of the j^th basis species
void addAuxSpecies(const std::string &var_name, const std::string &species_name, const std::string &unit)
Adds AuxVariable and AuxKernel that will record species concentrations.