Loading [MathJax]/extensions/tex2jax.js
https://mooseframework.inl.gov
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
ClosureTestAction Class Referenceabstract

Action for setting up a closure test for 2-phase flow. More...

#include <ClosureTestAction.h>

Inheritance diagram for ClosureTestAction:
[legend]

Public Types

typedef DataFileName DataFileParameterType
 

Public Member Functions

 ClosureTestAction (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
 
virtual const std::string & name () const
 
std::string typeAndName () const
 
std::string errorPrefix (const std::string &error_type) const
 
void callMooseError (std::string msg, const bool with_prefix) const
 
MooseObjectParameterName uniqueParameterName (const std::string &parameter_name) const
 
const InputParametersparameters () const
 
MooseObjectName uniqueName () const
 
const T & getParam (const std::string &name) const
 
std::vector< std::pair< T1, T2 > > getParam (const std::string &param1, const std::string &param2) const
 
const T & getRenamedParam (const std::string &old_name, const std::string &new_name) const
 
getCheckedPointerParam (const std::string &name, const std::string &error_string="") const
 
bool isParamValid (const std::string &name) const
 
bool isParamSetByUser (const std::string &nm) const
 
void paramError (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
 
void connectControllableParams (const std::string &parameter, const std::string &object_type, const std::string &object_name, const std::string &object_parameter) const
 
void mooseError (Args &&... args) const
 
void mooseErrorNonPrefixed (Args &&... args) const
 
void mooseDocumentedError (const std::string &repo_name, const unsigned int issue_num, Args &&... args) const
 
void mooseWarning (Args &&... args) const
 
void mooseWarningNonPrefixed (Args &&... args) const
 
void mooseDeprecated (Args &&... args) const
 
void mooseInfo (Args &&... args) 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 ()
 

Public Attributes

const ConsoleStream _console
 

Static Public Attributes

static constexpr auto SYSTEM
 
static constexpr auto NAME
 

Protected Member Functions

virtual void addInitialConditions () override
 Adds the initial conditions. More...
 
virtual void addSolutionVariables () override
 Adds the solution variables. More...
 
virtual void addAuxVariables () override
 Adds aux variables. More...
 
virtual void addMaterials () override
 Adds materials. More...
 
virtual void addOutput () override
 Add output. More...
 
void setupOutput ()
 
void setupADOutput ()
 
void addMeshInternal (const unsigned int &nx)
 Adds the mesh with a provided number of elements in x direction. More...
 
virtual void addObjects ()
 Adds all non-mesh objects. More...
 
void addScalarVariables (const std::vector< VariableName > &names, const std::vector< FunctionName > &values)
 Adds scalar variables. More...
 
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. More...
 
void addAuxVariable (const VariableName &var_name, const std::string &fe_family, const std::string &fe_order)
 Adds an aux variable. More...
 
void addConstantIC (const VariableName &var_name, const Real &value)
 Adds a constant initial condition. More...
 
void addFunctionIC (const VariableName &var_name, const FunctionName &function_name)
 Adds a function initial condition. More...
 
virtual void addMesh ()
 Adds the mesh. More...
 
virtual void addPreconditioner ()
 Adds the preconditioner. More...
 
virtual void addExecutioner ()
 Adds the executioner. More...
 
virtual void addUserObjects ()=0
 Adds user objects. More...
 
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 T & getMeshProperty (const std::string &data_name, const std::string &prefix)
 
const T & getMeshProperty (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
 

Static Protected Member Functions

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

Protected Attributes

const VariableName _dummy_name
 Name of the dummy variable that is solved for. More...
 
const VariableName _T_wall_name
 Wall temperature. More...
 
bool _has_T_wall
 True if T_wall was specified. More...
 
const FunctionName _T_wall_fn
 Wall temperature function name. More...
 
bool _has_q_wall
 True if q_wall was specified. More...
 
const Real_q_wall
 Convective wall heat flux. More...
 
const std::vector< std::string > & _output_properties
 List of material properties to output. More...
 
const std::vector< std::string > & _output_ad_properties
 List of AD material properties to output. More...
 
bool _default_use_transient_executioner
 Default for option to use a transient executioner. More...
 
const std::vector< VariableName > _scalar_variables
 List of scalar variables to add. More...
 
const std::vector< FunctionName > _scalar_variable_values
 List of values for the scalar variables to add. More...
 
const std::vector< VariableName > _aux_variables
 List of aux variables to add. More...
 
const std::vector< FunctionName > _aux_variable_values
 List of function names for aux variables to add. More...
 
const std::vector< std::string > _mat_property_names
 List of material properties to add. More...
 
const std::vector< FunctionName > _mat_property_values
 List of function names for material properties to add. More...
 
const std::string _fe_family
 Default FE family. More...
 
const std::string _fe_order
 Default FE order. More...
 
const bool & _ad
 True for setting up testing with AD, false otherwise. More...
 
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
 
const std::string _type
 
const std::string _name
 
const InputParameters_pars
 
Factory_factory
 
ActionFactory_action_factory
 
MooseApp_pg_moose_app
 
const std::string _prefix
 
const Parallel::Communicator & _communicator
 

Detailed Description

Action for setting up a closure test for 2-phase flow.

Definition at line 17 of file ClosureTestAction.h.

Constructor & Destructor Documentation

◆ ClosureTestAction()

ClosureTestAction::ClosureTestAction ( const InputParameters params)

Definition at line 32 of file ClosureTestAction.C.

33  : TestAction(params),
34  _dummy_name("dummy"),
35  _T_wall_name("T_wall"),
36  _has_T_wall(isParamValid("T_wall")),
37  _T_wall_fn(_has_T_wall ? getParam<FunctionName>("T_wall") : ""),
38  _has_q_wall(isParamValid("q_wall")),
39  _q_wall(getParam<Real>("q_wall")),
40  _output_properties(getParam<std::vector<std::string>>("output")),
41  _output_ad_properties(getParam<std::vector<std::string>>("ad_output"))
42 {
44 }
bool _has_T_wall
True if T_wall was specified.
const FunctionName _T_wall_fn
Wall temperature function name.
bool isParamValid(const std::string &name) const
const std::vector< std::string > & _output_ad_properties
List of AD material properties to output.
const T & getParam(const std::string &name) const
const VariableName _T_wall_name
Wall temperature.
TestAction(const InputParameters &params)
Definition: TestAction.C:44
bool _has_q_wall
True if q_wall was specified.
const VariableName _dummy_name
Name of the dummy variable that is solved for.
const Real & _q_wall
Convective wall heat flux.
const std::vector< std::string > & _output_properties
List of material properties to output.
bool _default_use_transient_executioner
Default for option to use a transient executioner.
Definition: TestAction.h:132

Member Function Documentation

◆ act()

void TestAction::act ( )
virtualinherited

Implements Action.

Definition at line 75 of file TestAction.C.

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

◆ 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 248 of file TestAction.C.

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

251 {
252  const std::string class_name = "AddAuxVariableAction";
253  InputParameters params = _action_factory.getValidParams(class_name);
254 
255  params.set<MooseEnum>("family") = fe_family;
256  params.set<MooseEnum>("order") = fe_order;
257 
258  std::shared_ptr<Action> action =
259  std::static_pointer_cast<Action>(_action_factory.create(class_name, var_name, params));
260 
261  _awh.addActionBlock(action);
262 }
ActionWarehouse & _awh
InputParameters getValidParams(const std::string &name)
T & set(const std::string &name, bool quiet_mode=false)
void addActionBlock(std::shared_ptr< Action > blk)
std::shared_ptr< Action > create(const std::string &action, const std::string &action_name, InputParameters &parameters)
ActionFactory & _action_factory

◆ addAuxVariables()

void ClosureTestAction::addAuxVariables ( )
overrideprotectedvirtual

Adds aux variables.

Reimplemented from TestAction.

Reimplemented in ClosureTest1PhaseAction.

Definition at line 60 of file ClosureTestAction.C.

Referenced by ClosureTest1PhaseAction::addAuxVariables().

61 {
63  if (_has_T_wall)
65 }
bool _has_T_wall
True if T_wall was specified.
virtual void addAuxVariables()
Adds aux variables.
Definition: TestAction.C:180
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
const VariableName _T_wall_name
Wall temperature.
const std::string _fe_family
Default FE family.
Definition: TestAction.h:150

◆ 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 265 of file TestAction.C.

Referenced by JacobianTest1PhaseRDGAction::addSolutionVariables().

266 {
267  const std::string class_name = "AddInitialConditionAction";
268  InputParameters params = _action_factory.getValidParams(class_name);
269  params.set<std::string>("type") = "ConstantIC";
270 
271  std::shared_ptr<MooseObjectAction> action = std::static_pointer_cast<MooseObjectAction>(
272  _action_factory.create(class_name, var_name + "_IC", params));
273 
274  action->getObjectParams().set<VariableName>("variable") = var_name;
275  action->getObjectParams().set<Real>("value") = value;
276 
277  _awh.addActionBlock(action);
278 }
ActionWarehouse & _awh
InputParameters getValidParams(const std::string &name)
T & set(const std::string &name, bool quiet_mode=false)
void addActionBlock(std::shared_ptr< Action > blk)
std::shared_ptr< Action > create(const std::string &action, const std::string &action_name, InputParameters &parameters)
InputParameters & getObjectParams()
ActionFactory & _action_factory
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

◆ addExecutioner()

void TestAction::addExecutioner ( )
protectedvirtualinherited

Adds the executioner.

Definition at line 302 of file TestAction.C.

Referenced by TestAction::addObjects().

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

◆ 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 281 of file TestAction.C.

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

282 {
283  const std::string class_name = "AddInitialConditionAction";
284  InputParameters params = _action_factory.getValidParams(class_name);
285  params.set<std::string>("type") = "FunctionIC";
286 
287  std::shared_ptr<MooseObjectAction> action = std::static_pointer_cast<MooseObjectAction>(
288  _action_factory.create(class_name, var_name + "_IC", params));
289 
290  action->getObjectParams().set<VariableName>("variable") = var_name;
291  action->getObjectParams().set<FunctionName>("function") = function_name;
292 
293  _awh.addActionBlock(action);
294 }
ActionWarehouse & _awh
InputParameters getValidParams(const std::string &name)
T & set(const std::string &name, bool quiet_mode=false)
void addActionBlock(std::shared_ptr< Action > blk)
std::shared_ptr< Action > create(const std::string &action, const std::string &action_name, InputParameters &parameters)
InputParameters & getObjectParams()
ActionFactory & _action_factory

◆ addInitialConditions()

void ClosureTestAction::addInitialConditions ( )
overrideprotectedvirtual

Adds the initial conditions.

Implements TestAction.

Reimplemented in ClosureTest1PhaseAction.

Definition at line 47 of file ClosureTestAction.C.

Referenced by ClosureTest1PhaseAction::addInitialConditions().

48 {
49  if (_has_T_wall)
51 }
bool _has_T_wall
True if T_wall was specified.
const FunctionName _T_wall_fn
Wall temperature function name.
const VariableName _T_wall_name
Wall temperature.
void addFunctionIC(const VariableName &var_name, const FunctionName &function_name)
Adds a function initial condition.
Definition: TestAction.C:281

◆ addMaterials()

void ClosureTestAction::addMaterials ( )
overrideprotectedvirtual

Adds materials.

Reimplemented from TestAction.

Reimplemented in ClosureTest1PhaseAction.

Definition at line 68 of file ClosureTestAction.C.

Referenced by ClosureTest1PhaseAction::addMaterials().

69 {
71  if (_has_q_wall)
72  {
73  const std::string class_name = "AddMaterialAction";
74  InputParameters params = _action_factory.getValidParams(class_name);
75  if (_ad)
76  params.set<std::string>("type") = "ADGenericConstantMaterial";
77  else
78  params.set<std::string>("type") = "GenericConstantMaterial";
79 
80  std::shared_ptr<MooseObjectAction> action = std::static_pointer_cast<MooseObjectAction>(
81  _action_factory.create(class_name, "q_wall_mat", params));
82 
83  action->getObjectParams().set<std::vector<std::string>>("prop_names") = {"q_wall"};
84  action->getObjectParams().set<std::vector<Real>>("prop_values") = {_q_wall};
85 
86  _awh.addActionBlock(action);
87  }
88 }
ActionWarehouse & _awh
InputParameters getValidParams(const std::string &name)
T & set(const std::string &name, bool quiet_mode=false)
void addActionBlock(std::shared_ptr< Action > blk)
std::shared_ptr< Action > create(const std::string &action, const std::string &action_name, InputParameters &parameters)
InputParameters & getObjectParams()
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
ActionFactory & _action_factory
bool _has_q_wall
True if q_wall was specified.
const Real & _q_wall
Convective wall heat flux.

◆ addMesh()

void TestAction::addMesh ( )
protectedvirtualinherited

Adds the mesh.

Reimplemented in JacobianTest1PhaseRDGAction.

Definition at line 99 of file TestAction.C.

Referenced by TestAction::act().

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

◆ 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 105 of file TestAction.C.

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

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

◆ addObjects()

void TestAction::addObjects ( )
protectedvirtualinherited

Adds all non-mesh objects.

Reimplemented in JacobianTest1PhaseRDGAction.

Definition at line 140 of file TestAction.C.

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

141 {
144  addAuxVariables();
146  addUserObjects();
147  addMaterials();
149  addExecutioner();
150  addOutput();
151 }
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
virtual void addAuxVariables()
Adds aux variables.
Definition: TestAction.C:180
virtual void addInitialConditions()=0
Adds the initial conditions.
virtual void addExecutioner()
Adds the executioner.
Definition: TestAction.C:302
virtual void addOutput()
Add output.
Definition: TestAction.C:351
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
virtual void addSolutionVariables()=0
Adds the solution variables.
const std::vector< FunctionName > _scalar_variable_values
List of values for the scalar variables to add.
Definition: TestAction.h:137
virtual void addUserObjects()=0
Adds user objects.

◆ addOutput()

void ClosureTestAction::addOutput ( )
overrideprotectedvirtual

Add output.

Reimplemented from TestAction.

Definition at line 91 of file ClosureTestAction.C.

92 {
93  setupOutput();
94  setupADOutput();
95 
96  if ((_output_properties.size() > 0) || (_output_ad_properties.size() > 0))
97  {
98  const std::string class_name = "AddOutputAction";
99  InputParameters action_params = _action_factory.getValidParams(class_name);
100  action_params.set<std::string>("type") = "CSV";
101 
102  auto action = std::static_pointer_cast<MooseObjectAction>(
103  _action_factory.create(class_name, "csv", action_params));
104 
106  execute_options = EXEC_TIMESTEP_END;
107  action->getObjectParams().set<ExecFlagEnum>("execute_on") = execute_options;
108 
109  _awh.addActionBlock(action);
110  }
111 }
ActionWarehouse & _awh
InputParameters getValidParams(const std::string &name)
T & set(const std::string &name, bool quiet_mode=false)
void addActionBlock(std::shared_ptr< Action > blk)
const ExecFlagType EXEC_TIMESTEP_END
std::shared_ptr< Action > create(const std::string &action, const std::string &action_name, InputParameters &parameters)
ExecFlagEnum getDefaultExecFlagEnum()
const std::vector< std::string > & _output_ad_properties
List of AD material properties to output.
ActionFactory & _action_factory
const std::vector< std::string > & _output_properties
List of material properties to output.

◆ addPreconditioner()

void TestAction::addPreconditioner ( )
protectedvirtualinherited

Adds the preconditioner.

Reimplemented in JacobianTestAction.

Definition at line 297 of file TestAction.C.

Referenced by TestAction::addObjects().

298 {
299 }

◆ 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 154 of file TestAction.C.

Referenced by TestAction::addObjects().

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

◆ 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 230 of file TestAction.C.

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

234 {
235  const std::string class_name = "AddVariableAction";
236  InputParameters params = _action_factory.getValidParams(class_name);
237  params.set<MooseEnum>("family") = family;
238  params.set<MooseEnum>("order") = order;
239  params.set<std::vector<Real>>("scaling") = {scaling};
240 
241  std::shared_ptr<Action> action =
242  std::static_pointer_cast<Action>(_action_factory.create(class_name, var_name, params));
243 
244  _awh.addActionBlock(action);
245 }
ActionWarehouse & _awh
InputParameters getValidParams(const std::string &name)
T & set(const std::string &name, bool quiet_mode=false)
void addActionBlock(std::shared_ptr< Action > blk)
std::shared_ptr< Action > create(const std::string &action, const std::string &action_name, InputParameters &parameters)
ActionFactory & _action_factory

◆ addSolutionVariables()

void ClosureTestAction::addSolutionVariables ( )
overrideprotectedvirtual

Adds the solution variables.

Implements TestAction.

Definition at line 54 of file ClosureTestAction.C.

55 {
57 }
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 VariableName _dummy_name
Name of the dummy variable that is solved for.

◆ addUserObjects()

virtual void TestAction::addUserObjects ( )
protectedpure virtualinherited

◆ setupADOutput()

void ClosureTestAction::setupADOutput ( )
protected

Definition at line 152 of file ClosureTestAction.C.

Referenced by addOutput().

153 {
154  for (auto & prop : _output_ad_properties)
155  {
156  addAuxVariable(prop, "MONOMIAL", "CONSTANT");
157 
158  {
159  const std::string class_name = "AddKernelAction";
160  InputParameters params = _action_factory.getValidParams(class_name);
161  params.set<std::string>("type") = "ADMaterialRealAux";
162  params.set<std::string>("task") = "add_aux_kernel";
163 
164  std::shared_ptr<MooseObjectAction> action = std::static_pointer_cast<MooseObjectAction>(
165  _action_factory.create(class_name, prop + "_aux", params));
166 
167  action->getObjectParams().set<AuxVariableName>("variable") = prop;
168  action->getObjectParams().set<MaterialPropertyName>("property") = prop;
169 
170  _awh.addActionBlock(action);
171  }
172 
173  {
174  const std::string class_name = "AddPostprocessorAction";
175  InputParameters action_params = _action_factory.getValidParams(class_name);
176  action_params.set<std::string>("type") = "ElementalVariableValue";
177 
178  auto action = std::static_pointer_cast<MooseObjectAction>(
179  _action_factory.create(class_name, prop, action_params));
180 
181  action->getObjectParams().set<VariableName>("variable") = prop;
182  action->getObjectParams().set<unsigned int>("elementid") = 0;
183 
184  _awh.addActionBlock(action);
185  }
186  }
187 }
ActionWarehouse & _awh
InputParameters getValidParams(const std::string &name)
void addAuxVariable(const VariableName &var_name, const std::string &fe_family, const std::string &fe_order)
Adds an aux variable.
Definition: TestAction.C:248
T & set(const std::string &name, bool quiet_mode=false)
void addActionBlock(std::shared_ptr< Action > blk)
std::shared_ptr< Action > create(const std::string &action, const std::string &action_name, InputParameters &parameters)
const std::vector< std::string > & _output_ad_properties
List of AD material properties to output.
InputParameters & getObjectParams()
ActionFactory & _action_factory

◆ setupOutput()

void ClosureTestAction::setupOutput ( )
protected

Definition at line 114 of file ClosureTestAction.C.

Referenced by addOutput().

115 {
116  for (auto & prop : _output_properties)
117  {
118  addAuxVariable(prop, "MONOMIAL", "CONSTANT");
119 
120  {
121  const std::string class_name = "AddKernelAction";
122  InputParameters params = _action_factory.getValidParams(class_name);
123  params.set<std::string>("type") = "MaterialRealAux";
124  params.set<std::string>("task") = "add_aux_kernel";
125 
126  std::shared_ptr<MooseObjectAction> action = std::static_pointer_cast<MooseObjectAction>(
127  _action_factory.create(class_name, prop + "_aux", params));
128 
129  action->getObjectParams().set<AuxVariableName>("variable") = prop;
130  action->getObjectParams().set<MaterialPropertyName>("property") = prop;
131 
132  _awh.addActionBlock(action);
133  }
134 
135  {
136  const std::string class_name = "AddPostprocessorAction";
137  InputParameters action_params = _action_factory.getValidParams(class_name);
138  action_params.set<std::string>("type") = "ElementalVariableValue";
139 
140  auto action = std::static_pointer_cast<MooseObjectAction>(
141  _action_factory.create(class_name, prop, action_params));
142 
143  action->getObjectParams().set<VariableName>("variable") = prop;
144  action->getObjectParams().set<unsigned int>("elementid") = 0;
145 
146  _awh.addActionBlock(action);
147  }
148  }
149 }
ActionWarehouse & _awh
InputParameters getValidParams(const std::string &name)
void addAuxVariable(const VariableName &var_name, const std::string &fe_family, const std::string &fe_order)
Adds an aux variable.
Definition: TestAction.C:248
T & set(const std::string &name, bool quiet_mode=false)
void addActionBlock(std::shared_ptr< Action > blk)
std::shared_ptr< Action > create(const std::string &action, const std::string &action_name, InputParameters &parameters)
InputParameters & getObjectParams()
ActionFactory & _action_factory
const std::vector< std::string > & _output_properties
List of material properties to output.

◆ validParams()

InputParameters ClosureTestAction::validParams ( )
static

Definition at line 16 of file ClosureTestAction.C.

Referenced by ClosureTest1PhaseAction::validParams().

17 {
19 
20  params.addParam<FunctionName>("T_wall", "Wall temperature function");
21  params.addParam<Real>("q_wall", 0., "Convective wall heat flux");
22  params.addParam<std::vector<std::string>>("output", {}, "List of material properties to output");
23  params.addParam<std::vector<std::string>>(
24  "ad_output", {}, "List of AD material properties to output");
25 
26  params.set<std::string>("fe_family") = "LAGRANGE";
27  params.set<std::string>("fe_order") = "FIRST";
28 
29  return params;
30 }
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
T & set(const std::string &name, bool quiet_mode=false)
static InputParameters validParams()
Definition: TestAction.C:17
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

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 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().

◆ _dummy_name

const VariableName ClosureTestAction::_dummy_name
protected

Name of the dummy variable that is solved for.

Definition at line 33 of file ClosureTestAction.h.

Referenced by addSolutionVariables().

◆ _fe_family

const std::string TestAction::_fe_family
protectedinherited

Default FE family.

Definition at line 150 of file TestAction.h.

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

◆ _fe_order

const std::string TestAction::_fe_order
protectedinherited

Default FE order.

Definition at line 152 of file TestAction.h.

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

◆ _has_q_wall

bool ClosureTestAction::_has_q_wall
protected

True if q_wall was specified.

Definition at line 42 of file ClosureTestAction.h.

Referenced by addMaterials().

◆ _has_T_wall

bool ClosureTestAction::_has_T_wall
protected

True if T_wall was specified.

Definition at line 38 of file ClosureTestAction.h.

Referenced by addAuxVariables(), and addInitialConditions().

◆ _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().

◆ _output_ad_properties

const std::vector<std::string>& ClosureTestAction::_output_ad_properties
protected

List of AD material properties to output.

Definition at line 48 of file ClosureTestAction.h.

Referenced by addOutput(), and setupADOutput().

◆ _output_properties

const std::vector<std::string>& ClosureTestAction::_output_properties
protected

List of material properties to output.

Definition at line 46 of file ClosureTestAction.h.

Referenced by addOutput(), and setupOutput().

◆ _q_wall

const Real& ClosureTestAction::_q_wall
protected

Convective wall heat flux.

Definition at line 44 of file ClosureTestAction.h.

Referenced by addMaterials().

◆ _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().

◆ _T_wall_fn

const FunctionName ClosureTestAction::_T_wall_fn
protected

Wall temperature function name.

Definition at line 40 of file ClosureTestAction.h.

Referenced by addInitialConditions().

◆ _T_wall_name

const VariableName ClosureTestAction::_T_wall_name
protected

Wall temperature.

Definition at line 35 of file ClosureTestAction.h.

Referenced by addAuxVariables(), and addInitialConditions().


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