https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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
17class TestAction : public Action
18{
19public:
20 TestAction(const InputParameters & params);
21
22 virtual void act();
23
24protected:
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
156public:
158};
std::array< Real, 2 > values
Base class for adding common actions for testing.
Definition TestAction.h:18
const std::vector< std::string > _mat_property_names
List of material properties to add.
Definition TestAction.h:145
virtual void addMaterials()
Adds materials.
Definition TestAction.C:216
const std::vector< VariableName > _aux_variables
List of aux variables to add.
Definition TestAction.h:140
virtual void addExecutioner()
Adds the executioner.
Definition TestAction.C:304
const std::vector< FunctionName > _scalar_variable_values
List of values for the scalar variables to add.
Definition TestAction.h:137
virtual void addSolutionVariables()=0
Adds the solution variables.
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:101
void addFunctionIC(const VariableName &var_name, const FunctionName &function_name)
Adds a function initial condition.
Definition TestAction.C:283
void addScalarVariables(const std::vector< VariableName > &names, const std::vector< FunctionName > &values)
Adds scalar variables.
Definition TestAction.C:156
virtual void addPreconditioner()
Adds the preconditioner.
Definition TestAction.C:299
const std::string _fe_family
Default FE family.
Definition TestAction.h:150
virtual void act()
Definition TestAction.C:77
virtual void addObjects()
Adds all non-mesh objects.
Definition TestAction.C:142
virtual void addOutput()
Add output.
Definition TestAction.C:353
const bool & _ad
True for setting up testing with AD, false otherwise.
Definition TestAction.h:154
virtual void addUserObjects()=0
Adds user objects.
const std::string _fe_order
Default FE order.
Definition TestAction.h:152
void addConstantIC(const VariableName &var_name, const Real &value)
Adds a constant initial condition.
Definition TestAction.C:267
const std::vector< FunctionName > _aux_variable_values
List of function names for aux variables to add.
Definition TestAction.h:142
void addAuxVariable(const VariableName &var_name, const std::string &fe_family, const std::string &fe_order)
Adds an aux variable.
Definition TestAction.C:250
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:232
virtual void addInitialConditions()=0
Adds the initial conditions.
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
const std::vector< VariableName > _scalar_variables
List of scalar variables to add.
Definition TestAction.h:135
virtual void addAuxVariables()
Adds aux variables.
Definition TestAction.C:182
void addMeshInternal(const unsigned int &nx)
Adds the mesh with a provided number of elements in x direction.
Definition TestAction.C:107