https://mooseframework.inl.gov
FlowModelSetup.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 "ActionFactory.h"
13 #include "ActionWarehouse.h"
14 #include "InputParameters.h"
15 #include "MooseApp.h"
16 #include "MooseTypes.h"
17 
22 {
23 public:
24  FlowModelSetup(const InputParameters & params);
25 
26 protected:
27  virtual void addInitialConditions() = 0;
28  virtual void addSolutionVariables() = 0;
29  virtual void addNonConstantAuxVariables() = 0;
30  virtual void addMaterials();
31  virtual void addUserObjects() = 0;
32 
39  void addSolutionVariable(const VariableName & var_name, const Real & scaling = 1.0);
40 
46  void addAuxVariable(const VariableName & var_name);
47 
54  void addFunctionIC(const VariableName & var_name, const FunctionName & function_name);
55 
62  template <typename T>
63  const T & getParam(const std::string & name) const;
64 
69 
72 
75 
76 public:
78 };
79 
80 template <typename T>
81 const T &
82 FlowModelSetup::getParam(const std::string & name) const
83 {
84  return InputParameters::getParamHelper(name, _this_params, static_cast<T *>(0));
85 }
virtual void addInitialConditions()=0
virtual void addMaterials()
void addAuxVariable(const VariableName &var_name)
Adds an aux variable.
virtual void addUserObjects()=0
virtual void addNonConstantAuxVariables()=0
void addFunctionIC(const VariableName &var_name, const FunctionName &function_name)
Adds a function initial condition.
const T & getParam(const std::string &name) const
Retrieves a parameter.
const std::string name
Definition: Setup.h:20
ActionWarehouse & _this_action_warehouse
void addSolutionVariable(const VariableName &var_name, const Real &scaling=1.0)
Adds a solution variable.
virtual void addSolutionVariables()=0
ActionFactory & _this_action_factory
const InputParameters & _this_params
MooseEnum _fe_order
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Base helper class to provide interfaces to common flow model setup functions.
FlowModelSetup(const InputParameters &params)
const Real & _gravity_magnitude
Gravitational acceleration magnitude.
const MooseEnum & getParamHelper(const std::string &name, const InputParameters &pars, const MooseEnum *, const MooseBase *moose_base)
MooseApp & _this_app
static InputParameters validParams()
MooseEnum _fe_family