www.mooseframework.org
PorousFlowDictator.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
3 /* */
4 /* All contents are licensed under LGPL V2.1 */
5 /* See LICENSE for full restrictions */
6 /****************************************************************/
7 
8 #ifndef POROUSFLOWDICTATOR_H
9 #define POROUSFLOWDICTATOR_H
10 
11 #include "GeneralUserObject.h"
12 #include "Coupleable.h"
13 #include "ZeroInterface.h"
14 
15 class PorousFlowDictator;
16 
17 template <>
18 InputParameters validParams<PorousFlowDictator>();
19 
71 class PorousFlowDictator : public GeneralUserObject, public Coupleable, public ZeroInterface
72 {
73 public:
74  PorousFlowDictator(const InputParameters & parameters);
75 
76  virtual void initialize() override{};
77  virtual void execute() override{};
78  virtual void finalize() override{};
79 
85  unsigned int numVariables() const;
86 
88  unsigned int numPhases() const;
89 
91  unsigned int numComponents() const;
92 
100  unsigned int porousFlowVariableNum(unsigned int moose_var_num) const;
101 
109  bool isPorousFlowVariable(unsigned int moose_var_num) const;
110 
118  bool notPorousFlowVariable(unsigned int moose_var_num) const;
119 
124  const VariableName pressureVariableNameDummy() const;
125 
130  const VariableName saturationVariableNameDummy() const;
131 
136  const VariableName temperatureVariableNameDummy() const;
137 
142  const VariableName massFractionVariableNameDummy() const;
143 
144 protected:
146  const unsigned int _num_variables;
147 
149  const unsigned int _num_phases;
150 
152  const unsigned int _num_components;
153 
154 private:
156  std::vector<unsigned int> _moose_var_num;
157 
159  std::vector<unsigned int> _pf_var_num;
160 };
161 
162 #endif // POROUSFLOWDICTATOR_H
const VariableName pressureVariableNameDummy() const
Dummy pressure variable name for use in derivatives using the DerivativeMaterialInterface.
const unsigned int _num_components
number of fluid components
virtual void finalize() override
const unsigned int _num_variables
number of porousflow variables
unsigned int numComponents() const
the number of fluid components
const VariableName massFractionVariableNameDummy() const
Dummy mass fraction variable name for use in derivatives using the DerivativeMaterialInterface.
PorousFlowDictator(const InputParameters &parameters)
std::vector< unsigned int > _pf_var_num
_pf_var_num[i] = the porous flow variable corresponding to moose variable i
const VariableName temperatureVariableNameDummy() const
Dummy temperature variable name for use in derivatives using the DerivativeMaterialInterface.
const VariableName saturationVariableNameDummy() const
Dummy saturation variable name for use in derivatives using the DerivativeMaterialInterface.
virtual void execute() override
This holds maps between the nonlinear variables used in a PorousFlow simulation and the variable numb...
unsigned int numPhases() const
the number of fluid phases
std::vector< unsigned int > _moose_var_num
_moose_var_num[i] = the moose variable number corresponding to porous flow variable i ...
bool isPorousFlowVariable(unsigned int moose_var_num) const
returns true if moose_var_num is a porous flow variable
virtual void initialize() override
unsigned int numVariables() const
The number of PorousFlow variables.
InputParameters validParams< PorousFlowDictator >()
bool notPorousFlowVariable(unsigned int moose_var_num) const
returns true if moose_var_num is not a porous flow variabe
unsigned int porousFlowVariableNum(unsigned int moose_var_num) const
the PorousFlow variable number
const unsigned int _num_phases
number of fluid phases