www.mooseframework.org
MooseVariableInterface.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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 "MooseVariableBase.h"
13 
14 // Forward declarations
15 class Assembly;
16 class MooseObject;
17 template <typename T>
18 class MooseVariableFE;
19 
23 template <typename T>
25 {
26 public:
34  const MooseObject * moose_object,
35  bool nodal,
36  std::string var_param_name = "variable",
39 
45 
46  virtual ~MooseVariableInterface();
47 
48 protected:
56  virtual const typename OutputTools<T>::VariableValue & value();
57 
63  virtual const typename OutputTools<T>::VariableValue & valueOld();
64 
70  virtual const typename OutputTools<T>::VariableValue & valueOlder();
71 
77  virtual const typename OutputTools<T>::VariableValue & dot();
78 
84  virtual const typename OutputTools<T>::VariableValue & dotDot();
85 
91  virtual const typename OutputTools<T>::VariableValue & dotOld();
92 
98  virtual const typename OutputTools<T>::VariableValue & dotDotOld();
99 
108  virtual const VariableValue & dotDu();
109 
118  virtual const VariableValue & dotDotDu();
119 
127  virtual const typename OutputTools<T>::VariableGradient & gradient();
128 
134  virtual const typename OutputTools<T>::VariableGradient & gradientOld();
135 
141  virtual const typename OutputTools<T>::VariableGradient & gradientOlder();
142 
148  virtual const typename OutputTools<T>::VariableSecond & second();
149 
155  virtual const typename OutputTools<T>::VariableSecond & secondOld();
156 
162  virtual const typename OutputTools<T>::VariableSecond & secondOlder();
163 
169  virtual const typename OutputTools<T>::VariableTestSecond & secondTest();
170 
178  virtual const typename OutputTools<T>::VariableTestSecond & secondTestFace();
179 
185  virtual const typename OutputTools<T>::VariablePhiSecond & secondPhi();
186 
194  virtual const typename OutputTools<T>::VariablePhiSecond & secondPhiFace();
195 
197  bool _nodal;
198 
201 
202 protected:
204 };
205 
virtual const OutputTools< T >::VariableValue & valueOld()
The old value of the variable this object is operating on.
VarFieldType
Definition: MooseTypes.h:488
virtual const OutputTools< T >::VariablePhiSecond & secondPhiFace()
The second derivative of the trial function on the current face.
virtual const OutputTools< T >::VariableGradient & gradientOld()
The old gradient of the variable this object is operating on.
Keeps track of stuff related to assembling.
Definition: Assembly.h:62
Class for stuff related to variables.
Definition: Adaptivity.h:29
virtual const OutputTools< T >::VariableValue & dotDot()
The second time derivative of the variable this object is operating on.
virtual const OutputTools< T >::VariableValue & dotDotOld()
The old second time derivative of the variable this object is operating on.
bool _nodal
Whether or not this object is acting only at nodes.
virtual const VariableValue & dotDotDu()
The derivative of the second time derivative of the variable this object is operating on with respect...
MooseVariableFE< T > * mooseVariable() const
Get the variable that this object is using.
virtual const OutputTools< T >::VariableValue & valueOlder()
The older value of the variable this object is operating on.
virtual const OutputTools< T >::VariableGradient & gradientOlder()
The older gradient of the variable this object is operating on.
Every object that can be built by the factory should be derived from this class.
Definition: MooseObject.h:42
VarKindType
Framework-wide stuff.
Definition: MooseTypes.h:481
virtual const OutputTools< T >::VariableTestSecond & secondTest()
The second derivative of the test function.
virtual const OutputTools< T >::VariableValue & value()
The value of the variable this object is operating on.
virtual const OutputTools< T >::VariableValue & dotOld()
The old time derivative of the variable this object is operating on.
MooseVariableFE< T > * _variable
The variable this object is acting on.
virtual const OutputTools< T >::VariableTestSecond & secondTestFace()
The second derivative of the test function on the current face.
OutputTools< Real >::VariableValue VariableValue
Definition: MooseTypes.h:197
virtual const VariableValue & dotDu()
The derivative of the time derivative of the variable this object is operating on with respect to thi...
virtual const OutputTools< T >::VariableValue & dot()
The time derivative of the variable this object is operating on.
virtual const OutputTools< T >::VariableGradient & gradient()
The gradient of the variable this object is operating on.
Interface for objects that need to get values of MooseVariables.
virtual const OutputTools< T >::VariableSecond & secondOld()
The old second derivative of the variable this object is operating on.
virtual const OutputTools< T >::VariableSecond & second()
The second derivative of the variable this object is operating on.
virtual const OutputTools< T >::VariablePhiSecond & secondPhi()
The second derivative of the trial function.
virtual const OutputTools< T >::VariableSecond & secondOlder()
The older second derivative of the variable this object is operating on.
MooseVariableInterface(const MooseObject *moose_object, bool nodal, std::string var_param_name="variable", Moose::VarKindType expected_var_type=Moose::VarKindType::VAR_ANY, Moose::VarFieldType expected_var_field_type=Moose::VarFieldType::VAR_FIELD_ANY)
Constructing the object.