https://mooseframework.inl.gov
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
JacobianTestAction Class Referenceabstract

Base class for adding common actions for Jacobian tests. More...

#include <JacobianTestAction.h>

Inheritance diagram for JacobianTestAction:
[legend]

Public Types

typedef DataFileName DataFileParameterType
 

Public Member Functions

 JacobianTestAction (const InputParameters &params)
 
virtual void act ()
 
void timedAct ()
 
virtual void addRelationshipManagers (Moose::RelationshipManagerType when_type)
 
MooseObjectName uniqueActionName () const
 
const std::string & specificTaskName () const
 
const std::set< std::string > & getAllTasks () const
 
void appendTask (const std::string &task)
 
MooseAppgetMooseApp () const
 
const std::string & type () const
 
const std::string & name () const
 
std::string typeAndName () const
 
MooseObjectParameterName uniqueParameterName (const std::string &parameter_name) const
 
MooseObjectName uniqueName () const
 
const InputParametersparameters () const
 
const hit::Node * getHitNode () const
 
bool hasBase () const
 
const std::string & getBase () const
 
const TgetParam (const std::string &name) const
 
std::vector< std::pair< T1, T2 > > getParam (const std::string &param1, const std::string &param2) const
 
const TqueryParam (const std::string &name) const
 
const TgetRenamedParam (const std::string &old_name, const std::string &new_name) const
 
T getCheckedPointerParam (const std::string &name, const std::string &error_string="") const
 
bool isParamValid (const std::string &name) const
 
bool isParamSetByUser (const std::string &name) const
 
void connectControllableParams (const std::string &parameter, const std::string &object_type, const std::string &object_name, const std::string &object_parameter) const
 
void paramError (const std::string &param, Args... args) const
 
void paramWarning (const std::string &param, Args... args) const
 
void paramWarning (const std::string &param, Args... args) const
 
void paramInfo (const std::string &param, Args... args) const
 
std::string messagePrefix (const bool hit_prefix=true) const
 
std::string errorPrefix (const std::string &) const
 
void mooseError (Args &&... args) const
 
void mooseDocumentedError (const std::string &repo_name, const unsigned int issue_num, Args &&... args) const
 
void mooseErrorNonPrefixed (Args &&... args) const
 
void mooseWarning (Args &&... args) const
 
void mooseWarning (Args &&... args) const
 
void mooseWarningNonPrefixed (Args &&... args) const
 
void mooseWarningNonPrefixed (Args &&... args) const
 
void mooseDeprecated (Args &&... args) const
 
void mooseDeprecated (Args &&... args) const
 
void mooseDeprecatedNoTrace (Args &&... args) const
 
void mooseInfo (Args &&... args) const
 
void callMooseError (std::string msg, const bool with_prefix, const hit::Node *node=nullptr, const bool show_trace=true) const
 
std::string getDataFileName (const std::string &param) const
 
std::string getDataFileNameByName (const std::string &relative_path) const
 
std::string getDataFilePath (const std::string &relative_path) const
 
PerfGraphperfGraph ()
 
const Parallel::Communicator & comm () const
 
processor_id_type n_processors () const
 
processor_id_type processor_id () const
 

Static Public Member Functions

static InputParameters validParams ()
 
static void callMooseError (MooseApp *const app, const InputParameters &params, std::string msg, const bool with_prefix, const hit::Node *node, const bool show_trace=true)
 

Public Attributes

 usingCombinedWarningSolutionWarnings
 
const ConsoleStream _console
 

Static Public Attributes

static const std::string unique_action_name_param
 
static const std::string type_param
 
static const std::string name_param
 
static const std::string unique_name_param
 
static const std::string app_param
 
static const std::string moose_base_param
 
static const std::string kokkos_object_param
 
static constexpr auto SYSTEM
 
static constexpr auto NAME
 

Protected Member Functions

virtual void addPreconditioner () override
 Adds the preconditioner.
 
void addMeshInternal (const unsigned int &nx)
 Adds the mesh with a provided number of elements in x direction.
 
virtual void addObjects ()
 Adds all non-mesh objects.
 
void addScalarVariables (const std::vector< VariableName > &names, const std::vector< FunctionName > &values)
 Adds scalar variables.
 
virtual void addAuxVariables ()
 Adds aux variables.
 
virtual void addMaterials ()
 Adds materials.
 
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.
 
void addAuxVariable (const VariableName &var_name, const std::string &fe_family, const std::string &fe_order)
 Adds an aux variable.
 
void addConstantIC (const VariableName &var_name, const Real &value)
 Adds a constant initial condition.
 
void addFunctionIC (const VariableName &var_name, const FunctionName &function_name)
 Adds a function initial condition.
 
virtual void addMesh ()
 Adds the mesh.
 
virtual void addExecutioner ()
 Adds the executioner.
 
virtual void addOutput ()
 Add output.
 
virtual void addInitialConditions ()=0
 Adds the initial conditions.
 
virtual void addSolutionVariables ()=0
 Adds the solution variables.
 
virtual void addUserObjects ()=0
 Adds user objects.
 
bool addRelationshipManagers (Moose::RelationshipManagerType when_type, const InputParameters &moose_object_pars)
 
void associateWithParameter (const std::string &param_name, InputParameters &params) const
 
void associateWithParameter (const InputParameters &from_params, const std::string &param_name, InputParameters &params) const
 
const TgetMeshProperty (const std::string &data_name, const std::string &prefix)
 
const TgetMeshProperty (const std::string &data_name)
 
bool hasMeshProperty (const std::string &data_name, const std::string &prefix) const
 
bool hasMeshProperty (const std::string &data_name, const std::string &prefix) const
 
bool hasMeshProperty (const std::string &data_name) const
 
bool hasMeshProperty (const std::string &data_name) const
 
std::string meshPropertyName (const std::string &data_name) const
 
PerfID registerTimedSection (const std::string &section_name, const unsigned int level) const
 
PerfID registerTimedSection (const std::string &section_name, const unsigned int level, const std::string &live_message, const bool print_dots=true) const
 
std::string timedSectionName (const std::string &section_name) const
 
void flagInvalidSolutionInternal (const InvalidSolutionID invalid_solution_id) const
 
InvalidSolutionID registerInvalidSolutionInternal (const std::string &message, const bool warning) const
 

Static Protected Member Functions

static std::string meshPropertyName (const std::string &data_name, const std::string &prefix)
 

Protected Attributes

const std::string _snes_test_err
 Finite differencing parameter.
 
bool _default_use_transient_executioner
 Default for option to use a transient executioner.
 
const std::vector< VariableName > _scalar_variables
 List of scalar variables to add.
 
const std::vector< FunctionName > _scalar_variable_values
 List of values for the scalar variables to add.
 
const std::vector< VariableName > _aux_variables
 List of aux variables to add.
 
const std::vector< FunctionName > _aux_variable_values
 List of function names for aux variables to add.
 
const std::vector< std::string > _mat_property_names
 List of material properties to add.
 
const std::vector< FunctionName > _mat_property_values
 List of function names for material properties to add.
 
const std::string _fe_family
 Default FE family.
 
const std::string _fe_order
 Default FE order.
 
const bool & _ad
 True for setting up testing with AD, false otherwise.
 
std::string _registered_identifier
 
std::string _specific_task_name
 
std::set< std::string > _all_tasks
 
ActionWarehouse_awh
 
const std::string & _current_task
 
std::shared_ptr< MooseMesh > & _mesh
 
std::shared_ptr< MooseMesh > & _displaced_mesh
 
std::shared_ptr< FEProblemBase > & _problem
 
PerfID _act_timer
 
MooseApp_app
 
Factory_factory
 
ActionFactory_action_factory
 
const std::string & _type
 
const std::string & _name
 
const InputParameters_pars
 
MooseApp_pg_moose_app
 
const std::string _prefix
 
const Parallel::Communicator & _communicator
 

Private Member Functions

bool addRelationshipManager (Moose::RelationshipManagerType input_rm_type, const InputParameters &moose_object_pars, std::string rm_name, Moose::RelationshipManagerType rm_type, Moose::RelationshipManagerInputParameterCallback rm_input_parameter_func, Moose::RMSystemType sys_type=Moose::RMSystemType::NONE)
 
virtual std::string meshPropertyPrefix (const std::string &data_name) const
 
const RestartableDataValuegetMeshPropertyInternal (const std::string &data_name, const std::string &prefix) const
 
void mooseErrorInternal (Args &&... args) const
 

Static Private Member Functions

static const hit::Node * getHitNode (const InputParameters &params)
 
static std::string messagePrefix (const InputParameters &params, const bool hit_prefix)
 

Private Attributes

const ParallelParamObject_parent
 
MooseApp_meta_data_app
 
const MooseObject *const _meta_data_object
 
const MooseBase_si_moose_base
 
const FEProblemBase_si_problem
 

Detailed Description

Base class for adding common actions for Jacobian tests.

Definition at line 17 of file JacobianTestAction.h.

Constructor & Destructor Documentation

◆ JacobianTestAction()

JacobianTestAction::JacobianTestAction ( const InputParameters params)

Definition at line 28 of file JacobianTestAction.C.

29 : TestAction(params), _snes_test_err(Moose::stringify<Real>(getParam<Real>("snes_test_err")))
30{
31}
const std::string _snes_test_err
Finite differencing parameter.
Base class for adding common actions for testing.
Definition TestAction.h:18

Member Function Documentation

◆ act()

void TestAction::act ( )
virtualinherited

Implements Action.

Definition at line 77 of file TestAction.C.

78{
79 if (_current_task == "meta_action")
80 {
81 if (getParam<bool>("generate_mesh"))
82 addMesh();
83
84 addObjects();
85
86 {
87 const std::string class_name = "CreateProblemAction";
88 auto action_params = _action_factory.getValidParams(class_name);
89 action_params.set<std::string>("type") = "FEProblem";
90
91 std::shared_ptr<MooseObjectAction> action = std::static_pointer_cast<MooseObjectAction>(
92 _action_factory.create(class_name, "fe_problem", action_params));
93
94 action->getObjectParams().set<MooseEnum>("kernel_coverage_check") = "false";
95 _awh.addActionBlock(action);
96 }
97 }
98}
std::shared_ptr< Action > create(const std::string &action, const std::string &action_name, InputParameters &parameters)
InputParameters getValidParams(const std::string &name)
void addActionBlock(std::shared_ptr< Action > blk)
const std::string & _current_task
ActionWarehouse & _awh
T & set(const std::string &name, bool quiet_mode=false)
ActionFactory & _action_factory
virtual void addMesh()
Adds the mesh.
Definition TestAction.C:101
virtual void addObjects()
Adds all non-mesh objects.
Definition TestAction.C:142

◆ addAuxVariable()

void TestAction::addAuxVariable ( const VariableName &  var_name,
const std::string &  fe_family,
const std::string &  fe_order 
)
protectedinherited

Adds an aux variable.

Parameters
[in]var_namename of the variable to add
[in]fe_familyfinite element family
[in]fe_orderfinite element order

Definition at line 250 of file TestAction.C.

253{
254 const std::string class_name = "AddAuxVariableAction";
256
257 params.set<MooseEnum>("family") = fe_family;
258 params.set<MooseEnum>("order") = fe_order;
259
260 std::shared_ptr<Action> action =
261 std::static_pointer_cast<Action>(_action_factory.create(class_name, var_name, params));
262
263 _awh.addActionBlock(action);
264}

Referenced by TestAction::addAuxVariables(), ClosureTestAction::addAuxVariables(), JacobianTest1PhaseRDGAction::addAuxVariables(), ClosureTestAction::setupADOutput(), and ClosureTestAction::setupOutput().

◆ addAuxVariables()

void TestAction::addAuxVariables ( )
protectedvirtualinherited

Adds aux variables.

Reimplemented in ClosureTest1PhaseAction, ClosureTestAction, JacobianTest1PhaseAction, JacobianTest1PhaseRDGAction, and JacobianTestGeneralAction.

Definition at line 182 of file TestAction.C.

183{
184 const std::vector<VariableName> names = _aux_variables;
185 const std::vector<FunctionName> values = _aux_variable_values;
186 const std::string fe_family = _fe_family;
187 const std::string fe_order = _fe_order;
188
189 for (unsigned int i = 0; i < names.size(); ++i)
190 {
191 // add the aux variable
192 addAuxVariable(names[i], fe_family, fe_order);
193
194 // add its IC
195 addFunctionIC(names[i], values[i]);
196
197 // add its aux kernel
198 {
199 const std::string class_name = "AddKernelAction";
201 params.set<std::string>("type") = "FunctionAux";
202 params.set<std::string>("task") = "add_aux_kernel";
203
204 std::shared_ptr<MooseObjectAction> action = std::static_pointer_cast<MooseObjectAction>(
205 _action_factory.create(class_name, names[i] + "_aux", params));
206
207 action->getObjectParams().set<AuxVariableName>("variable") = names[i];
208 action->getObjectParams().set<FunctionName>("function") = values[i];
209
210 _awh.addActionBlock(action);
211 }
212 }
213}
std::array< Real, 2 > values
const std::vector< VariableName > _aux_variables
List of aux variables to add.
Definition TestAction.h:140
void addFunctionIC(const VariableName &var_name, const FunctionName &function_name)
Adds a function initial condition.
Definition TestAction.C:283
const std::string _fe_family
Default FE family.
Definition TestAction.h:150
const std::string _fe_order
Default FE order.
Definition TestAction.h:152
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

Referenced by ClosureTestAction::addAuxVariables(), JacobianTest1PhaseAction::addAuxVariables(), JacobianTestGeneralAction::addAuxVariables(), and TestAction::addObjects().

◆ addConstantIC()

void TestAction::addConstantIC ( const VariableName &  var_name,
const Real &  value 
)
protectedinherited

Adds a constant initial condition.

Parameters
[in]var_namename of the variable for which to add initial condition
[in]valuevalue of the initial condition

Definition at line 267 of file TestAction.C.

268{
269 const std::string class_name = "AddInitialConditionAction";
271 params.set<std::string>("type") = "ConstantIC";
272
273 std::shared_ptr<MooseObjectAction> action = std::static_pointer_cast<MooseObjectAction>(
274 _action_factory.create(class_name, var_name + "_IC", params));
275
276 action->getObjectParams().set<VariableName>("variable") = var_name;
277 action->getObjectParams().set<Real>("value") = value;
278
279 _awh.addActionBlock(action);
280}
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

Referenced by JacobianTest1PhaseRDGAction::addSolutionVariables().

◆ addExecutioner()

void TestAction::addExecutioner ( )
protectedvirtualinherited

Adds the executioner.

Definition at line 304 of file TestAction.C.

305{
306 const std::string class_name = "CreateExecutionerAction";
307
308 // determine whether to use a transient executioner - different derived
309 // classes have different defaults: the declared default is irrelevant
310 bool use_transient_executioner;
311 if (isParamValid("use_transient_executioner"))
312 use_transient_executioner = getParam<bool>("use_transient_executioner");
313 else
314 use_transient_executioner = _default_use_transient_executioner;
315
316 // Due to more consistent divergence status reporting in PETSc (as of 5f3c5e7a), users should have
317 // the option to abort on the first fail if desired. Otherwise Jacobian testing, for example,
318 // could fail in undesired ways, even if the Jacobian test achieves a passing result.
319 bool abort_on_solve_fail = getParam<bool>("abort_on_solve_fail");
320
321 // if a time kernel is being tested, then use a transient executioner instead of steady
322 if (use_transient_executioner)
323 {
325 params.set<std::string>("type") = "Transient";
326
327 std::shared_ptr<MooseObjectAction> action = std::static_pointer_cast<MooseObjectAction>(
328 _action_factory.create(class_name, "executioner", params));
329
330 action->getObjectParams().set<unsigned int>("num_steps") = 1;
331
332 if (abort_on_solve_fail)
333 action->getObjectParams().set<bool>("abort_on_solve_fail") = abort_on_solve_fail;
334
335 _awh.addActionBlock(action);
336 }
337 else
338 {
340 params.set<std::string>("type") = "Steady";
341
342 std::shared_ptr<MooseObjectAction> action = std::static_pointer_cast<MooseObjectAction>(
343 _action_factory.create(class_name, "executioner", params));
344
345 if (abort_on_solve_fail)
346 action->getObjectParams().set<bool>("abort_on_solve_fail") = abort_on_solve_fail;
347
348 _awh.addActionBlock(action);
349 }
350}
bool isParamValid(const std::string &name) const
bool _default_use_transient_executioner
Default for option to use a transient executioner.
Definition TestAction.h:132

Referenced by TestAction::addObjects().

◆ addFunctionIC()

void TestAction::addFunctionIC ( const VariableName &  var_name,
const FunctionName &  function_name 
)
protectedinherited

Adds a function initial condition.

Parameters
[in]var_namename of the variable for which to add initial condition
[in]function_namenames of the IC function

Definition at line 283 of file TestAction.C.

284{
285 const std::string class_name = "AddInitialConditionAction";
287 params.set<std::string>("type") = "FunctionIC";
288
289 std::shared_ptr<MooseObjectAction> action = std::static_pointer_cast<MooseObjectAction>(
290 _action_factory.create(class_name, var_name + "_IC", params));
291
292 action->getObjectParams().set<VariableName>("variable") = var_name;
293 action->getObjectParams().set<FunctionName>("function") = function_name;
294
295 _awh.addActionBlock(action);
296}

Referenced by TestAction::addAuxVariables(), JacobianTest1PhaseRDGAction::addAuxVariables(), ClosureTestAction::addInitialConditions(), JacobianTestGeneralAction::addSolutionVariables(), and JacobianTest1PhaseRDGAction::addSolutionVariablesRiemannIC().

◆ addInitialConditions()

virtual void TestAction::addInitialConditions ( )
protectedpure virtualinherited

◆ addMaterials()

void TestAction::addMaterials ( )
protectedvirtualinherited

Adds materials.

Reimplemented in ClosureTest1PhaseAction, ClosureTestAction, JacobianTest1PhaseAction, JacobianTest1PhaseRDGAction, and JacobianTestGeneralAction.

Definition at line 216 of file TestAction.C.

217{
218 const std::string class_name = "AddMaterialAction";
220 params.set<std::string>("type") = "GenericFunctionMaterial";
221
222 std::shared_ptr<MooseObjectAction> action = std::static_pointer_cast<MooseObjectAction>(
223 _action_factory.create(class_name, "material", params));
224
225 action->getObjectParams().set<std::vector<std::string>>("prop_names") = _mat_property_names;
226 action->getObjectParams().set<std::vector<FunctionName>>("prop_values") = _mat_property_values;
227
228 _awh.addActionBlock(action);
229}
const std::vector< std::string > _mat_property_names
List of material properties to add.
Definition TestAction.h:145
const std::vector< FunctionName > _mat_property_values
List of function names for material properties to add.
Definition TestAction.h:147

Referenced by ClosureTestAction::addMaterials(), JacobianTest1PhaseAction::addMaterials(), JacobianTestGeneralAction::addMaterials(), and TestAction::addObjects().

◆ addMesh()

void TestAction::addMesh ( )
protectedvirtualinherited

Adds the mesh.

Reimplemented in JacobianTest1PhaseRDGAction.

Definition at line 101 of file TestAction.C.

102{
104}
void addMeshInternal(const unsigned int &nx)
Adds the mesh with a provided number of elements in x direction.
Definition TestAction.C:107

Referenced by TestAction::act().

◆ addMeshInternal()

void TestAction::addMeshInternal ( const unsigned int nx)
protectedinherited

Adds the mesh with a provided number of elements in x direction.

Parameters
[in]nxnumber of elements in x direction

Definition at line 107 of file TestAction.C.

108{
109 std::vector<std::string> setup_mesh_tasks{"setup_mesh", "set_mesh_base", "init_mesh"};
110 for (const std::string & task : setup_mesh_tasks)
111 {
112 const std::string class_name = "SetupMeshAction";
114 params.set<std::string>("type") = "GeneratedMesh";
115 params.set<std::string>("task") = task;
116
117 std::shared_ptr<MooseObjectAction> action = std::static_pointer_cast<MooseObjectAction>(
118 _action_factory.create(class_name, task, params));
119
120 action->getObjectParams().set<MooseEnum>("dim") = 1;
121 action->getObjectParams().set<unsigned int>("nx") = nx;
122 action->getObjectParams().set<bool>("allow_renumbering") = false;
123
124 _awh.addActionBlock(action);
125 }
126
127 std::vector<std::string> setup_mesh_complete_tasks{"prepare_mesh", "setup_mesh_complete"};
128 for (const std::string & task : setup_mesh_complete_tasks)
129 {
130 const std::string class_name = "SetupMeshCompleteAction";
132 params.set<std::string>("task") = task;
133
134 std::shared_ptr<Action> action =
135 std::static_pointer_cast<Action>(_action_factory.create(class_name, task, params));
136
137 _awh.addActionBlock(action);
138 }
139}

Referenced by TestAction::addMesh(), and JacobianTest1PhaseRDGAction::addMesh().

◆ addObjects()

void TestAction::addObjects ( )
protectedvirtualinherited

Adds all non-mesh objects.

Reimplemented in JacobianTest1PhaseRDGAction.

Definition at line 142 of file TestAction.C.

143{
149 addMaterials();
152 addOutput();
153}
virtual void addMaterials()
Adds materials.
Definition TestAction.C:216
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.
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
virtual void addOutput()
Add output.
Definition TestAction.C:353
virtual void addUserObjects()=0
Adds user objects.
virtual void addInitialConditions()=0
Adds the initial conditions.
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

Referenced by TestAction::act(), and JacobianTest1PhaseRDGAction::addObjects().

◆ addOutput()

void TestAction::addOutput ( )
protectedvirtualinherited

Add output.

Reimplemented in ClosureTestAction.

Definition at line 353 of file TestAction.C.

354{
355}

Referenced by TestAction::addObjects().

◆ addPreconditioner()

void JacobianTestAction::addPreconditioner ( )
overrideprotectedvirtual

Adds the preconditioner.

Reimplemented from TestAction.

Definition at line 34 of file JacobianTestAction.C.

35{
36 const std::string class_name = "SetupPreconditionerAction";
38 params.set<std::string>("type") = "SMP";
39
40 std::shared_ptr<MooseObjectAction> action = std::static_pointer_cast<MooseObjectAction>(
41 _action_factory.create(class_name, "smp", params));
42
43 action->getObjectParams().set<bool>("full") = true;
44 action->getObjectParams().set<MooseEnum>("solve_type") = "newton";
45#if PETSC_VERSION_LESS_THAN(3, 9, 0)
46 action->getObjectParams().set<MultiMooseEnum>("petsc_options_iname") =
47 "-snes_type -snes_test_err";
48 action->getObjectParams().set<std::vector<std::string>>("petsc_options_value") = {"test",
50#else
51 action->getObjectParams().set<MultiMooseEnum>("petsc_options") = "-snes_test_jacobian";
52 action->getObjectParams().set<MultiMooseEnum>("petsc_options_iname") = "-snes_test_err";
53 action->getObjectParams().set<std::vector<std::string>>("petsc_options_value") = {_snes_test_err};
54#endif
55
56 _awh.addActionBlock(action);
57}

◆ addScalarVariables()

void TestAction::addScalarVariables ( const std::vector< VariableName > &  names,
const std::vector< FunctionName > &  values 
)
protectedinherited

Adds scalar variables.

Parameters
[in]namesnames of the variables to add
[in]valuesvalues of the variables to add

Definition at line 156 of file TestAction.C.

158{
159 for (unsigned int i = 0; i < names.size(); ++i)
160 {
161 // add the scalar variable
162 addSolutionVariable(names[i], "SCALAR", "FIRST");
163
164 // add its IC
165 {
166 const std::string class_name = "AddInitialConditionAction";
168 params.set<std::string>("type") = "FunctionScalarIC";
169
170 std::shared_ptr<MooseObjectAction> action = std::static_pointer_cast<MooseObjectAction>(
171 _action_factory.create(class_name, names[i] + "_IC", params));
172
173 action->getObjectParams().set<VariableName>("variable") = names[i];
174 action->getObjectParams().set<std::vector<FunctionName>>("function") = {values[i]};
175
176 _awh.addActionBlock(action);
177 }
178 }
179}
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

Referenced by TestAction::addObjects().

◆ addSolutionVariable()

void TestAction::addSolutionVariable ( const VariableName &  var_name,
const std::string &  family = "LAGRANGE",
const std::string &  order = "FIRST",
const Real &  scaling = 1.0 
)
protectedinherited

Adds a solution variable.

Parameters
[in]var_namename of the variable to add
[in]familyvariable family
[in]ordervariable order
[in]scalingscaling factor to apply to variable

Definition at line 232 of file TestAction.C.

236{
237 const std::string class_name = "AddVariableAction";
239 params.set<MooseEnum>("family") = family;
240 params.set<MooseEnum>("order") = order;
241 params.set<std::vector<Real>>("scaling") = {scaling};
242
243 std::shared_ptr<Action> action =
244 std::static_pointer_cast<Action>(_action_factory.create(class_name, var_name, params));
245
246 _awh.addActionBlock(action);
247}

Referenced by TestAction::addScalarVariables(), ClosureTestAction::addSolutionVariables(), JacobianTest1PhaseRDGAction::addSolutionVariables(), JacobianTestGeneralAction::addSolutionVariables(), and JacobianTest1PhaseRDGAction::addSolutionVariablesRiemannIC().

◆ addSolutionVariables()

virtual void TestAction::addSolutionVariables ( )
protectedpure virtualinherited

◆ addUserObjects()

virtual void TestAction::addUserObjects ( )
protectedpure virtualinherited

◆ validParams()

InputParameters JacobianTestAction::validParams ( )
static

Definition at line 19 of file JacobianTestAction.C.

20{
22
23 params.addParam<Real>("snes_test_err", 1e-8, "Finite differencing parameter");
24
25 return params;
26}
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
static InputParameters validParams()
Definition TestAction.C:17

Referenced by JacobianTest1PhaseAction::validParams(), JacobianTest1PhaseRDGAction::validParams(), and JacobianTestGeneralAction::validParams().

Member Data Documentation

◆ _ad

const bool& TestAction::_ad
protectedinherited

True for setting up testing with AD, false otherwise.

Definition at line 154 of file TestAction.h.

Referenced by ClosureTestAction::addMaterials(), and JacobianTest1PhaseRDGAction::addMaterials().

◆ _aux_variable_values

const std::vector<FunctionName> TestAction::_aux_variable_values
protectedinherited

List of function names for aux variables to add.

Definition at line 142 of file TestAction.h.

Referenced by TestAction::addAuxVariables(), and TestAction::TestAction().

◆ _aux_variables

const std::vector<VariableName> TestAction::_aux_variables
protectedinherited

List of aux variables to add.

Definition at line 140 of file TestAction.h.

Referenced by TestAction::addAuxVariables(), and TestAction::TestAction().

◆ _default_use_transient_executioner

bool TestAction::_default_use_transient_executioner
protectedinherited

Default for option to use a transient executioner.

Definition at line 132 of file TestAction.h.

Referenced by TestAction::addExecutioner(), and ClosureTestAction::ClosureTestAction().

◆ _fe_family

const std::string TestAction::_fe_family
protectedinherited

◆ _fe_order

const std::string TestAction::_fe_order
protectedinherited

◆ _mat_property_names

const std::vector<std::string> TestAction::_mat_property_names
protectedinherited

List of material properties to add.

Definition at line 145 of file TestAction.h.

Referenced by TestAction::addMaterials(), and TestAction::TestAction().

◆ _mat_property_values

const std::vector<FunctionName> TestAction::_mat_property_values
protectedinherited

List of function names for material properties to add.

Definition at line 147 of file TestAction.h.

Referenced by TestAction::addMaterials(), and TestAction::TestAction().

◆ _scalar_variable_values

const std::vector<FunctionName> TestAction::_scalar_variable_values
protectedinherited

List of values for the scalar variables to add.

Definition at line 137 of file TestAction.h.

Referenced by TestAction::addObjects(), and TestAction::TestAction().

◆ _scalar_variables

const std::vector<VariableName> TestAction::_scalar_variables
protectedinherited

List of scalar variables to add.

Definition at line 135 of file TestAction.h.

Referenced by TestAction::addObjects(), and TestAction::TestAction().

◆ _snes_test_err

const std::string JacobianTestAction::_snes_test_err
protected

Finite differencing parameter.

Definition at line 26 of file JacobianTestAction.h.

Referenced by addPreconditioner().


The documentation for this class was generated from the following files: