https://mooseframework.inl.gov
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
FlowModelSetup Class Referenceabstract

Base helper class to provide interfaces to common flow model setup functions. More...

#include <FlowModelSetup.h>

Inheritance diagram for FlowModelSetup:
[legend]

Public Member Functions

 FlowModelSetup (const InputParameters &params)
 

Static Public Member Functions

static InputParameters validParams ()
 

Protected Member Functions

virtual void addInitialConditions ()=0
 
virtual void addSolutionVariables ()=0
 
virtual void addNonConstantAuxVariables ()=0
 
virtual void addMaterials ()
 
virtual void addUserObjects ()=0
 
void addSolutionVariable (const VariableName &var_name, const Real &scaling=1.0)
 Adds a solution variable. More...
 
void addAuxVariable (const VariableName &var_name)
 Adds an aux variable. More...
 
void addFunctionIC (const VariableName &var_name, const FunctionName &function_name)
 Adds a function initial condition. More...
 
template<typename T >
const T & getParam (const std::string &name) const
 Retrieves a parameter. More...
 

Protected Attributes

const InputParameters_this_params
 
MooseApp_this_app
 
ActionFactory_this_action_factory
 
ActionWarehouse_this_action_warehouse
 
MooseEnum _fe_family
 
MooseEnum _fe_order
 
const Real_gravity_magnitude
 Gravitational acceleration magnitude. More...
 

Detailed Description

Base helper class to provide interfaces to common flow model setup functions.

Definition at line 21 of file FlowModelSetup.h.

Constructor & Destructor Documentation

◆ FlowModelSetup()

FlowModelSetup::FlowModelSetup ( const InputParameters params)

Definition at line 27 of file FlowModelSetup.C.

28  : _this_params(params),
34  _gravity_magnitude(getParam<Real>("gravity_magnitude"))
35 {
36  if (getParam<bool>("2nd_order_mesh"))
37  _fe_order = "SECOND";
38 }
T getCheckedPointerParam(const std::string &name, const std::string &error_string="") const
ActionFactory & getActionFactory()
static MooseEnum getNonlinearVariableFamilies()
static MooseEnum getNonlinearVariableOrders()
ActionWarehouse & _this_action_warehouse
ActionFactory & _this_action_factory
const InputParameters & _this_params
MooseEnum _fe_order
const Real & _gravity_magnitude
Gravitational acceleration magnitude.
MooseApp & _this_app
MooseEnum _fe_family

Member Function Documentation

◆ addAuxVariable()

void FlowModelSetup::addAuxVariable ( const VariableName &  var_name)
protected

Adds an aux variable.

Parameters
[in]var_namename of the variable to add

Definition at line 56 of file FlowModelSetup.C.

Referenced by ClosureTest1PhaseAction::addAuxVariables(), and FlowModelSetup1Phase::addNonConstantAuxVariables().

57 {
58  const std::string class_name = "AddAuxVariableAction";
60 
61  std::shared_ptr<Action> action =
62  std::static_pointer_cast<Action>(_this_action_factory.create(class_name, var_name, params));
63 
65 }
InputParameters getValidParams(const std::string &name)
void addActionBlock(std::shared_ptr< Action > blk)
std::shared_ptr< Action > create(const std::string &action, const std::string &action_name, InputParameters &parameters)
ActionWarehouse & _this_action_warehouse
ActionFactory & _this_action_factory

◆ addFunctionIC()

void FlowModelSetup::addFunctionIC ( const VariableName &  var_name,
const FunctionName &  function_name 
)
protected

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 68 of file FlowModelSetup.C.

Referenced by FlowModelSetup1Phase::addInitialConditions().

69 {
70  const std::string class_name = "AddInitialConditionAction";
72  params.set<std::string>("type") = "FunctionIC";
73 
74  std::shared_ptr<MooseObjectAction> action = std::static_pointer_cast<MooseObjectAction>(
75  _this_action_factory.create(class_name, var_name + "_IC", params));
76 
77  action->getObjectParams().set<VariableName>("variable") = var_name;
78  action->getObjectParams().set<FunctionName>("function") = function_name;
79 
81 }
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()
ActionWarehouse & _this_action_warehouse
ActionFactory & _this_action_factory

◆ addInitialConditions()

virtual void FlowModelSetup::addInitialConditions ( )
protectedpure virtual

◆ addMaterials()

void FlowModelSetup::addMaterials ( )
protectedvirtual

Reimplemented in JacobianTest1PhaseAction, FlowModelSetup1Phase, and ClosureTest1PhaseAction.

Definition at line 84 of file FlowModelSetup.C.

Referenced by FlowModelSetup1Phase::addMaterials().

85 {
86  {
87  const std::string class_name = "AddMaterialAction";
89  params.set<std::string>("type") = "DirectionMaterial";
90 
91  std::shared_ptr<MooseObjectAction> action = std::static_pointer_cast<MooseObjectAction>(
92  _this_action_factory.create(class_name, "direction_material", params));
94  }
95 }
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)
ActionWarehouse & _this_action_warehouse
ActionFactory & _this_action_factory

◆ addNonConstantAuxVariables()

virtual void FlowModelSetup::addNonConstantAuxVariables ( )
protectedpure virtual

Implemented in FlowModelSetup1Phase.

◆ addSolutionVariable()

void FlowModelSetup::addSolutionVariable ( const VariableName &  var_name,
const Real scaling = 1.0 
)
protected

Adds a solution variable.

Parameters
[in]var_namename of the variable to add
[in]scalingscaling factor to apply to variable

Definition at line 41 of file FlowModelSetup.C.

Referenced by FlowModelSetup1Phase::addSolutionVariables().

42 {
43  const std::string class_name = "AddVariableAction";
45  params.set<std::vector<Real>>("scaling") = {scaling};
46  params.set<MooseEnum>("family") = _fe_family;
47  params.set<MooseEnum>("order") = _fe_order;
48 
49  std::shared_ptr<Action> action =
50  std::static_pointer_cast<Action>(_this_action_factory.create(class_name, var_name, params));
51 
53 }
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)
ActionWarehouse & _this_action_warehouse
ActionFactory & _this_action_factory
MooseEnum _fe_order
MooseEnum _fe_family

◆ addSolutionVariables()

virtual void FlowModelSetup::addSolutionVariables ( )
protectedpure virtual

◆ addUserObjects()

virtual void FlowModelSetup::addUserObjects ( )
protectedpure virtual

◆ getParam()

template<typename T >
const T & FlowModelSetup::getParam ( const std::string &  name) const
protected

Retrieves a parameter.

Parameters
[in]namename of the parameter
Returns
value of the parameter

Definition at line 82 of file FlowModelSetup.h.

83 {
84  return InputParameters::getParamHelper(name, _this_params, static_cast<T *>(0));
85 }
const std::string name
Definition: Setup.h:20
const InputParameters & _this_params
const MooseEnum & getParamHelper(const std::string &name, const InputParameters &pars, const MooseEnum *, const MooseBase *moose_base)

◆ validParams()

InputParameters FlowModelSetup::validParams ( )
static

Definition at line 16 of file FlowModelSetup.C.

Referenced by FlowModelSetup1Phase::validParams().

17 {
19 
20  params.addParam<bool>("2nd_order_mesh", false, "Use 2nd order elements in the mesh");
21  params.addParam<Real>(
22  "gravity_magnitude", THM::gravity_const, "Gravitational acceleration magnitude");
23 
24  return params;
25 }
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
InputParameters emptyInputParameters()
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const Real gravity_const
Definition: Numerics.h:26

Member Data Documentation

◆ _fe_family

MooseEnum FlowModelSetup::_fe_family
protected

Definition at line 70 of file FlowModelSetup.h.

Referenced by addSolutionVariable().

◆ _fe_order

MooseEnum FlowModelSetup::_fe_order
protected

Definition at line 71 of file FlowModelSetup.h.

Referenced by addSolutionVariable(), and FlowModelSetup().

◆ _gravity_magnitude

const Real& FlowModelSetup::_gravity_magnitude
protected

Gravitational acceleration magnitude.

Definition at line 74 of file FlowModelSetup.h.

◆ _this_action_factory

ActionFactory& FlowModelSetup::_this_action_factory
protected

◆ _this_action_warehouse

ActionWarehouse& FlowModelSetup::_this_action_warehouse
protected

◆ _this_app

MooseApp& FlowModelSetup::_this_app
protected

Definition at line 66 of file FlowModelSetup.h.

◆ _this_params

const InputParameters& FlowModelSetup::_this_params
protected

Definition at line 65 of file FlowModelSetup.h.

Referenced by getParam().


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