www.mooseframework.org
AddSecondarySpeciesAction.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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 
11 #include "FEProblem.h"
12 
13 registerMooseAction("ChemicalReactionsApp", AddSecondarySpeciesAction, "add_aux_variable");
14 
17 {
19  params.addParam<std::vector<AuxVariableName>>("secondary_species",
20  "The list of secondary species to add");
21  params.addClassDescription("Adds AuxVariables for all secondary species");
22  return params;
23 }
24 
26  : AddAuxVariableAction(params),
27  _secondary_species(getParam<std::vector<AuxVariableName>>("secondary_species"))
28 {
29 }
30 
31 void
33 {
34  auto fe_type = AddVariableAction::feType(_pars);
35  auto type = AddVariableAction::variableType(fe_type);
36  auto var_params = _factory.getValidParams(type);
37 
38  var_params.applySpecificParameters(_pars, {"family", "order"});
39 
40  for (auto & secondary_specimen : _secondary_species)
41  _problem->addAuxVariable(type, secondary_specimen, var_params);
42 }
static std::string variableType(const FEType &fe_type, const bool is_fv=false, const bool is_array=false)
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
void applySpecificParameters(const InputParameters &common, const std::vector< std::string > &include, bool allow_private=false)
registerMooseAction("ChemicalReactionsApp", AddSecondarySpeciesAction, "add_aux_variable")
InputParameters getValidParams(const std::string &name) const
AddSecondarySpeciesAction(const InputParameters &params)
const std::string & type() const
static FEType feType(const InputParameters &params)
static InputParameters validParams()
const InputParameters & _pars
void addClassDescription(const std::string &doc_string)
std::shared_ptr< FEProblemBase > & _problem
const std::vector< AuxVariableName > _secondary_species
Secondary species to add.
static InputParameters validParams()