https://mooseframework.inl.gov
TestAction.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 
12 #include "Action.h"
13 
17 class TestAction : public Action
18 {
19 public:
20  TestAction(const InputParameters & params);
21 
22  virtual void act();
23 
24 protected:
30  void addMeshInternal(const unsigned int & nx);
31 
35  virtual void addObjects();
36 
43  void addScalarVariables(const std::vector<VariableName> & names,
44  const std::vector<FunctionName> & values);
45 
49  virtual void addAuxVariables();
50 
54  virtual void addMaterials();
55 
64  void addSolutionVariable(const VariableName & var_name,
65  const std::string & family = "LAGRANGE",
66  const std::string & order = "FIRST",
67  const Real & scaling = 1.0);
68 
76  void addAuxVariable(const VariableName & var_name,
77  const std::string & fe_family,
78  const std::string & fe_order);
79 
86  void addConstantIC(const VariableName & var_name, const Real & value);
87 
94  void addFunctionIC(const VariableName & var_name, const FunctionName & function_name);
95 
99  virtual void addMesh();
100 
104  virtual void addPreconditioner();
105 
109  virtual void addExecutioner();
110 
114  virtual void addOutput();
115 
119  virtual void addInitialConditions() = 0;
120 
124  virtual void addSolutionVariables() = 0;
125 
129  virtual void addUserObjects() = 0;
130 
133 
135  const std::vector<VariableName> _scalar_variables;
137  const std::vector<FunctionName> _scalar_variable_values;
138 
140  const std::vector<VariableName> _aux_variables;
142  const std::vector<FunctionName> _aux_variable_values;
143 
145  const std::vector<std::string> _mat_property_names;
147  const std::vector<FunctionName> _mat_property_values;
148 
150  const std::string _fe_family;
152  const std::string _fe_order;
154  const bool & _ad;
155 
156 public:
157  static InputParameters validParams();
158 };
const std::vector< std::string > _mat_property_names
List of material properties to add.
Definition: TestAction.h:145
void addScalarVariables(const std::vector< VariableName > &names, const std::vector< FunctionName > &values)
Adds scalar variables.
Definition: TestAction.C:154
virtual void addPreconditioner()
Adds the preconditioner.
Definition: TestAction.C:297
const std::vector< VariableName > _aux_variables
List of aux variables to add.
Definition: TestAction.h:140
virtual void addAuxVariables()
Adds aux variables.
Definition: TestAction.C:180
virtual void addInitialConditions()=0
Adds the initial conditions.
void addAuxVariable(const VariableName &var_name, const std::string &fe_family, const std::string &fe_order)
Adds an aux variable.
Definition: TestAction.C:248
const std::string _fe_order
Default FE order.
Definition: TestAction.h:152
virtual void addExecutioner()
Adds the executioner.
Definition: TestAction.C:302
virtual void addObjects()
Adds all non-mesh objects.
Definition: TestAction.C:140
void addConstantIC(const VariableName &var_name, const Real &value)
Adds a constant initial condition.
Definition: TestAction.C:265
void addMeshInternal(const unsigned int &nx)
Adds the mesh with a provided number of elements in x direction.
Definition: TestAction.C:105
const std::vector< FunctionName > _aux_variable_values
List of function names for aux variables to add.
Definition: TestAction.h:142
virtual void addOutput()
Add output.
Definition: TestAction.C:351
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)
void addSolutionVariable(const VariableName &var_name, const std::string &family="LAGRANGE", const std::string &order="FIRST", const Real &scaling=1.0)
Adds a solution variable.
Definition: TestAction.C:230
const std::vector< VariableName > _scalar_variables
List of scalar variables to add.
Definition: TestAction.h:135
virtual void addMaterials()
Adds materials.
Definition: TestAction.C:214
const bool & _ad
True for setting up testing with AD, false otherwise.
Definition: TestAction.h:154
TestAction(const InputParameters &params)
Definition: TestAction.C:44
const std::vector< FunctionName > _mat_property_values
List of function names for material properties to add.
Definition: TestAction.h:147
static InputParameters validParams()
Definition: TestAction.C:17
virtual void addSolutionVariables()=0
Adds the solution variables.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual void act()
Definition: TestAction.C:75
const std::vector< FunctionName > _scalar_variable_values
List of values for the scalar variables to add.
Definition: TestAction.h:137
const std::string _fe_family
Default FE family.
Definition: TestAction.h:150
void addFunctionIC(const VariableName &var_name, const FunctionName &function_name)
Adds a function initial condition.
Definition: TestAction.C:281
virtual void addUserObjects()=0
Adds user objects.
Base class for adding common actions for testing.
Definition: TestAction.h:17
bool _default_use_transient_executioner
Default for option to use a transient executioner.
Definition: TestAction.h:132
virtual void addMesh()
Adds the mesh.
Definition: TestAction.C:99