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

#include <KokkosElementL2Norm.h>

Inheritance diagram for KokkosElementL2Norm:
[legend]

Public Member Functions

 KokkosElementL2Norm (const InputParameters &parameters)
 
virtual Real getValue () const override
 
KOKKOS_FUNCTION Real computeQpIntegral (const unsigned int qp, Datum &datum) const
 
MooseVariableBasemooseVariableBase () const
 Get the variable that this object is using. More...
 
MooseVariableField< Real > & mooseVariableField ()
 Return the MooseVariableField object that this interface acts on. More...
 
MooseVariableFE< Real > * mooseVariable () const
 Return the MooseVariableFE object that this interface acts on. More...
 
MooseVariableFV< Real > * mooseVariableFV () const
 Return the MooseVariableFV object that this interface acts on. More...
 
MooseLinearVariableFV< Real > * mooseLinearVariableFV () const
 Return the MooseLinearVariableFV object that this interface acts on. More...
 

Static Public Member Functions

static InputParameters validParams ()
 

Protected Member Functions

virtual const OutputTools< Real >::VariableValuevalue ()
 The value of the variable this object is operating on. More...
 
virtual const OutputTools< Real >::VariableValuevalueOld ()
 The old value of the variable this object is operating on. More...
 
virtual const OutputTools< Real >::VariableValuevalueOlder ()
 The older value of the variable this object is operating on. More...
 
virtual const OutputTools< Real >::VariableValuedot ()
 The time derivative of the variable this object is operating on. More...
 
virtual const OutputTools< Real >::VariableValuedotDot ()
 The second time derivative of the variable this object is operating on. More...
 
virtual const OutputTools< Real >::VariableValuedotOld ()
 The old time derivative of the variable this object is operating on. More...
 
virtual const OutputTools< Real >::VariableValuedotDotOld ()
 The old second time derivative of the variable this object is operating on. More...
 
virtual const VariableValuedotDu ()
 The derivative of the time derivative of the variable this object is operating on with respect to this variable's coefficients. More...
 
virtual const VariableValuedotDotDu ()
 The derivative of the second time derivative of the variable this object is operating on with respect to this variable's coefficients. More...
 
virtual const OutputTools< Real >::VariableGradientgradient ()
 The gradient of the variable this object is operating on. More...
 
virtual const OutputTools< Real >::VariableGradientgradientOld ()
 The old gradient of the variable this object is operating on. More...
 
virtual const OutputTools< Real >::VariableGradientgradientOlder ()
 The older gradient of the variable this object is operating on. More...
 
virtual const OutputTools< Real >::VariableSecondsecond ()
 The second derivative of the variable this object is operating on. More...
 
virtual const OutputTools< Real >::VariableSecondsecondOld ()
 The old second derivative of the variable this object is operating on. More...
 
virtual const OutputTools< Real >::VariableSecondsecondOlder ()
 The older second derivative of the variable this object is operating on. More...
 
virtual const OutputTools< Real >::VariableTestSecondsecondTest ()
 The second derivative of the test function. More...
 
virtual const OutputTools< Real >::VariableTestSecondsecondTestFace ()
 The second derivative of the test function on the current face. More...
 
virtual const OutputTools< Real >::VariablePhiSecondsecondPhi ()
 The second derivative of the trial function. More...
 
virtual const OutputTools< Real >::VariablePhiSecondsecondPhiFace ()
 The second derivative of the trial function on the current face. More...
 

Protected Attributes

Moose::Kokkos::VariableValue _u
 Holds the solution at current quadrature points. More...
 
Moose::Kokkos::VariableGradient _grad_u
 Holds the solution gradient at the current quadrature points. More...
 
const bool _use_abs_value
 Option to use absolute variable value. More...
 
bool _nodal
 Whether or not this object is acting only at nodes. More...
 
MooseVariableBase_var
 The variable this object is acting on. More...
 
MooseVariableFE< Real > * _variable
 
MooseVariableFV< Real > * _fv_variable
 
MooseLinearVariableFV< Real > * _linear_fv_variable
 
MooseVariableField< Real > * _field_variable
 
Assembly_mvi_assembly
 

Detailed Description

Definition at line 14 of file KokkosElementL2Norm.h.

Constructor & Destructor Documentation

◆ KokkosElementL2Norm()

KokkosElementL2Norm::KokkosElementL2Norm ( const InputParameters parameters)

Member Function Documentation

◆ computeQpIntegral()

KOKKOS_FUNCTION Real KokkosElementL2Norm::computeQpIntegral ( const unsigned int  qp,
Datum datum 
) const
inline

Definition at line 23 of file KokkosElementL2Norm.h.

24  {
25  Real u = _u(datum, qp);
26  return u * u;
27  }
Moose::Kokkos::VariableValue _u
Holds the solution at current quadrature points.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

◆ dot()

const OutputTools< Real >::VariableValue & MooseVariableInterface< Real >::dot ( )
protectedvirtualinherited

The time derivative of the variable this object is operating on.

Returns
The reference to be stored off and used later.

Definition at line 148 of file MooseVariableInterface.C.

149 {
150  if (_nodal)
151  return _variable->dofValuesDot();
152  else
153  return _variable->uDot();
154 }
bool _nodal
Whether or not this object is acting only at nodes.
const DofValues & dofValuesDot() const override
const FieldVariableValue & uDot() const
element dots
MooseVariableFE< Real > * _variable

◆ dotDot()

const OutputTools< Real >::VariableValue & MooseVariableInterface< Real >::dotDot ( )
protectedvirtualinherited

The second time derivative of the variable this object is operating on.

Returns
The reference to be stored off and used later.

Definition at line 158 of file MooseVariableInterface.C.

159 {
160  if (_nodal)
161  return _variable->dofValuesDotDot();
162  else
163  return _variable->uDotDot();
164 }
bool _nodal
Whether or not this object is acting only at nodes.
const FieldVariableValue & uDotDot() const
MooseVariableFE< Real > * _variable
const DofValues & dofValuesDotDot() const override

◆ dotDotDu()

const VariableValue & MooseVariableInterface< Real >::dotDotDu ( )
protectedvirtualinherited

The derivative of the second time derivative of the variable this object is operating on with respect to this variable's coefficients.

This is useful for creating Jacobian entries for residual statements that use _u_dotdot

Returns
The reference to be stored off and used later.

Definition at line 238 of file MooseVariableInterface.C.

239 {
240  if (_nodal)
241  return _variable->dofValuesDuDotDotDu();
242  else
243  return _variable->duDotDotDu();
244 }
const MooseArray< libMesh::Number > & dofValuesDuDotDotDu() const override
bool _nodal
Whether or not this object is acting only at nodes.
const VariableValue & duDotDotDu() const
MooseVariableFE< Real > * _variable

◆ dotDotOld()

const OutputTools< Real >::VariableValue & MooseVariableInterface< Real >::dotDotOld ( )
protectedvirtualinherited

The old second time derivative of the variable this object is operating on.

Returns
The reference to be stored off and used later.

Definition at line 178 of file MooseVariableInterface.C.

179 {
180  if (_nodal)
181  return _variable->dofValuesDotDotOld();
182  else
183  return _variable->uDotDotOld();
184 }
bool _nodal
Whether or not this object is acting only at nodes.
const DofValues & dofValuesDotDotOld() const override
const FieldVariableValue & uDotDotOld() const
MooseVariableFE< Real > * _variable

◆ dotDu()

const VariableValue & MooseVariableInterface< Real >::dotDu ( )
protectedvirtualinherited

The derivative of the time derivative of the variable this object is operating on with respect to this variable's coefficients.

This is useful for creating Jacobian entries for residual statements that use _u_dot

Returns
The reference to be stored off and used later.

Definition at line 228 of file MooseVariableInterface.C.

229 {
230  if (_nodal)
231  return _variable->dofValuesDuDotDu();
232  else
233  return _variable->duDotDu();
234 }
const MooseArray< libMesh::Number > & dofValuesDuDotDu() const override
bool _nodal
Whether or not this object is acting only at nodes.
MooseVariableFE< Real > * _variable
const VariableValue & duDotDu() const

◆ dotOld()

const OutputTools< Real >::VariableValue & MooseVariableInterface< Real >::dotOld ( )
protectedvirtualinherited

The old time derivative of the variable this object is operating on.

Returns
The reference to be stored off and used later.

Definition at line 168 of file MooseVariableInterface.C.

169 {
170  if (_nodal)
171  return _variable->dofValuesDotOld();
172  else
173  return _variable->uDotOld();
174 }
const FieldVariableValue & uDotOld() const
bool _nodal
Whether or not this object is acting only at nodes.
MooseVariableFE< Real > * _variable
const DofValues & dofValuesDotOld() const override

◆ getValue()

virtual Real KokkosElementL2Norm::getValue ( ) const
overridevirtual

◆ gradient()

const OutputTools< Real >::VariableGradient & MooseVariableInterface< Real >::gradient ( )
protectedvirtualinherited

The gradient of the variable this object is operating on.

This is computed by default and should already be available as _grad_u

Returns
The reference to be stored off and used later.

Definition at line 248 of file MooseVariableInterface.C.

Referenced by DiffusionFluxAux::computeValue().

249 {
250  if (_nodal)
251  mooseError("gradients are not defined at nodes");
252 
253  return _variable->gradSln();
254 }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:311
const FieldVariableGradient & gradSln() const override
element gradients
bool _nodal
Whether or not this object is acting only at nodes.
MooseVariableFE< Real > * _variable

◆ gradientOld()

const OutputTools< Real >::VariableGradient & MooseVariableInterface< Real >::gradientOld ( )
protectedvirtualinherited

The old gradient of the variable this object is operating on.

Returns
The reference to be stored off and used later.

Definition at line 258 of file MooseVariableInterface.C.

259 {
260  if (_nodal)
261  mooseError("gradients are not defined at nodes");
262 
263  return _variable->gradSlnOld();
264 }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:311
bool _nodal
Whether or not this object is acting only at nodes.
MooseVariableFE< Real > * _variable
const FieldVariableGradient & gradSlnOld() const override

◆ gradientOlder()

const OutputTools< Real >::VariableGradient & MooseVariableInterface< Real >::gradientOlder ( )
protectedvirtualinherited

The older gradient of the variable this object is operating on.

Returns
The reference to be stored off and used later.

Definition at line 268 of file MooseVariableInterface.C.

269 {
270  if (_nodal)
271  mooseError("gradients are not defined at nodes");
272 
273  return _variable->gradSlnOlder();
274 }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:311
bool _nodal
Whether or not this object is acting only at nodes.
MooseVariableFE< Real > * _variable
const FieldVariableGradient & gradSlnOlder() const

◆ mooseLinearVariableFV()

MooseLinearVariableFV< Real > * MooseVariableInterface< Real >::mooseLinearVariableFV ( ) const
inherited

Return the MooseLinearVariableFV object that this interface acts on.

Definition at line 68 of file MooseVariableInterface.C.

69 {
71  mooseError(
72  "The variable defined in ", _moose_object.name(), " is not a MooseLinearVariableFV!");
73  return _linear_fv_variable;
74 }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:311
MooseLinearVariableFV< Real > * _linear_fv_variable
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:103

◆ mooseVariable()

MooseVariableFE< Real > * MooseVariableInterface< Real >::mooseVariable ( ) const
inherited

Return the MooseVariableFE object that this interface acts on.

Definition at line 78 of file MooseVariableInterface.C.

Referenced by ADDGKernel::ADDGKernel(), ADNodalKernel::ADNodalKernel(), DGKernel::DGKernel(), IntegratedBC::IntegratedBC(), Kernel::Kernel(), NodalBC::NodalBC(), and NodalKernel::NodalKernel().

79 {
80  if (!_variable)
81  mooseError(
82  "_variable is null in ", _moose_object.name(), ". Are you using a finite volume variable?");
83  return _variable;
84 }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:311
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:103
MooseVariableFE< Real > * _variable

◆ mooseVariableBase()

MooseVariableBase* MooseVariableInterface< Real >::mooseVariableBase ( ) const
inlineinherited

Get the variable that this object is using.

Returns
The variable this object is using.

Definition at line 50 of file MooseVariableInterface.h.

Referenced by ElementAdaptivityLevelAux::ElementAdaptivityLevelAux(), ElementLpNormAux::ElementLpNormAux(), and VolumeAux::VolumeAux().

50 { return _var; };
MooseVariableBase * _var
The variable this object is acting on.

◆ mooseVariableField()

MooseVariableField< Real > & MooseVariableInterface< Real >::mooseVariableField ( )
inherited

◆ mooseVariableFV()

MooseVariableFV< Real > * MooseVariableInterface< Real >::mooseVariableFV ( ) const
inherited

Return the MooseVariableFV object that this interface acts on.

Definition at line 57 of file MooseVariableInterface.C.

58 {
59  if (!_fv_variable)
60  mooseError("_fv_variable is null in ",
62  ". Did you forget to set fv = true in the Variables block?");
63  return _fv_variable;
64 }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:311
MooseVariableFV< Real > * _fv_variable
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:103

◆ second()

const OutputTools< Real >::VariableSecond & MooseVariableInterface< Real >::second ( )
protectedvirtualinherited

The second derivative of the variable this object is operating on.

Returns
The reference to be stored off and used later.

Definition at line 278 of file MooseVariableInterface.C.

Referenced by ProjectionAux::elemOnNodeVariableIsDefinedOn().

279 {
280  if (_nodal)
281  mooseError("second derivatives are not defined at nodes");
282 
283  return _variable->secondSln();
284 }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:311
bool _nodal
Whether or not this object is acting only at nodes.
MooseVariableFE< Real > * _variable
const FieldVariableSecond & secondSln() const
element seconds

◆ secondOld()

const OutputTools< Real >::VariableSecond & MooseVariableInterface< Real >::secondOld ( )
protectedvirtualinherited

The old second derivative of the variable this object is operating on.

Returns
The reference to be stored off and used later.

Definition at line 288 of file MooseVariableInterface.C.

289 {
290  if (_nodal)
291  mooseError("second derivatives are not defined at nodes");
292 
293  return _variable->secondSlnOld();
294 }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:311
const FieldVariableSecond & secondSlnOld() const
bool _nodal
Whether or not this object is acting only at nodes.
MooseVariableFE< Real > * _variable

◆ secondOlder()

const OutputTools< Real >::VariableSecond & MooseVariableInterface< Real >::secondOlder ( )
protectedvirtualinherited

The older second derivative of the variable this object is operating on.

Returns
The reference to be stored off and used later.

Definition at line 298 of file MooseVariableInterface.C.

299 {
300  if (_nodal)
301  mooseError("second derivatives are not defined at nodes");
302 
303  return _variable->secondSlnOlder();
304 }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:311
bool _nodal
Whether or not this object is acting only at nodes.
const FieldVariableSecond & secondSlnOlder() const
MooseVariableFE< Real > * _variable

◆ secondPhi()

const OutputTools< Real >::VariablePhiSecond & MooseVariableInterface< Real >::secondPhi ( )
protectedvirtualinherited

The second derivative of the trial function.

Returns
The reference to be stored off and used later.

Definition at line 328 of file MooseVariableInterface.C.

329 {
330  if (_nodal)
331  mooseError("second derivatives are not defined at nodes");
332 
334  mooseError("second order shape function derivatives not available for linear FV variables");
335 
337 }
const VariablePhiSecond & secondPhi() const
Definition: Assembly.h:1328
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:311
MooseLinearVariableFV< Real > * _linear_fv_variable
bool _nodal
Whether or not this object is acting only at nodes.
MooseVariableFE< Real > * _variable

◆ secondPhiFace()

const OutputTools< Real >::VariablePhiSecond & MooseVariableInterface< Real >::secondPhiFace ( )
protectedvirtualinherited

The second derivative of the trial function on the current face.

This should be called in e.g. IntegratedBC when you need second derivatives of the trial function function on the boundary.

Returns
The reference to be stored off and used later.

Definition at line 341 of file MooseVariableInterface.C.

342 {
343  if (_nodal)
344  mooseError("second derivatives are not defined at nodes");
345 
347  mooseError("second order shape function derivatives not available for linear FV variables");
348 
350 }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:311
MooseLinearVariableFV< Real > * _linear_fv_variable
bool _nodal
Whether or not this object is acting only at nodes.
const VariablePhiSecond & secondPhiFace(const MooseVariableField< Real > &) const
Definition: Assembly.h:1341
MooseVariableFE< Real > * _variable

◆ secondTest()

const OutputTools< Real >::VariableTestSecond & MooseVariableInterface< Real >::secondTest ( )
protectedvirtualinherited

The second derivative of the test function.

Returns
The reference to be stored off and used later.

Definition at line 308 of file MooseVariableInterface.C.

309 {
310  if (_nodal)
311  mooseError("second derivatives are not defined at nodes");
312 
313  return _variable->secondPhi();
314 }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:311
const FieldVariablePhiSecond & secondPhi() const override final
Return the rank-2 tensor of second derivatives of the variable&#39;s elemental shape functions.
bool _nodal
Whether or not this object is acting only at nodes.
MooseVariableFE< Real > * _variable

◆ secondTestFace()

const OutputTools< Real >::VariableTestSecond & MooseVariableInterface< Real >::secondTestFace ( )
protectedvirtualinherited

The second derivative of the test function on the current face.

This should be called in e.g. IntegratedBC when you need second derivatives of the test function function on the boundary.

Returns
The reference to be stored off and used later.

Definition at line 318 of file MooseVariableInterface.C.

319 {
320  if (_nodal)
321  mooseError("second derivatives are not defined at nodes");
322 
323  return _variable->secondPhiFace();
324 }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:311
bool _nodal
Whether or not this object is acting only at nodes.
const FieldVariablePhiSecond & secondPhiFace() const override final
Return the rank-2 tensor of second derivatives of the variable&#39;s shape functions on an element face...
MooseVariableFE< Real > * _variable

◆ validParams()

static InputParameters KokkosElementL2Norm::validParams ( )
static

◆ value()

const OutputTools< Real >::VariableValue & MooseVariableInterface< Real >::value ( )
protectedvirtualinherited

The value of the variable this object is operating on.

This is computed by default and should already be available as _u

Returns
The reference to be stored off and used later.

Definition at line 88 of file MooseVariableInterface.C.

Referenced by KernelGrad::computeJacobian(), KernelValue::computeJacobian(), NodalConstraint::computeJacobian(), ConvectiveFluxBC::computeQpResidual(), SinDirichletBC::computeQpResidual(), SinNeumannBC::computeQpResidual(), KernelValue::computeResidual(), KernelGrad::computeResidual(), MeshDivisionAux::computeValue(), ElementUOAux::computeValue(), LineValueSampler::getValue(), and KokkosNodalMaxValueId::reduce().

89 {
90  if (_nodal)
91  return _variable->dofValues();
92  else
93  return _variable->sln();
94 }
bool _nodal
Whether or not this object is acting only at nodes.
const FieldVariableValue & sln() const override
element solutions
MooseVariableFE< Real > * _variable
const DofValues & dofValues() const override
dof values getters

◆ valueOld()

const OutputTools< Real >::VariableValue & MooseVariableInterface< Real >::valueOld ( )
protectedvirtualinherited

The old value of the variable this object is operating on.

Returns
The reference to be stored off and used later.

Definition at line 108 of file MooseVariableInterface.C.

109 {
110  if (_nodal)
111  return _variable->dofValuesOld();
112  else
113  return _variable->slnOld();
114 }
bool _nodal
Whether or not this object is acting only at nodes.
const DofValues & dofValuesOld() const override
MooseVariableFE< Real > * _variable
const FieldVariableValue & slnOld() const override

◆ valueOlder()

const OutputTools< Real >::VariableValue & MooseVariableInterface< Real >::valueOlder ( )
protectedvirtualinherited

The older value of the variable this object is operating on.

Returns
The reference to be stored off and used later.

Definition at line 128 of file MooseVariableInterface.C.

129 {
130  if (_nodal)
131  return _variable->dofValuesOlder();
132  else
133  return _variable->slnOlder();
134 }
const DofValues & dofValuesOlder() const override
bool _nodal
Whether or not this object is acting only at nodes.
MooseVariableFE< Real > * _variable
const FieldVariableValue & slnOlder() const override

Member Data Documentation

◆ _field_variable

MooseVariableField<Real >* MooseVariableInterface< Real >::_field_variable
protectedinherited

◆ _fv_variable

MooseVariableFV<Real >* MooseVariableInterface< Real >::_fv_variable
protectedinherited

◆ _grad_u

template<typename Base >
Moose::Kokkos::VariableGradient KokkosIntegralVariablePostprocessor< Base >::_grad_u
protectedinherited

Holds the solution gradient at the current quadrature points.

Definition at line 29 of file KokkosIntegralVariablePostprocessor.h.

◆ _linear_fv_variable

MooseLinearVariableFV<Real >* MooseVariableInterface< Real >::_linear_fv_variable
protectedinherited

Definition at line 229 of file MooseVariableInterface.h.

◆ _mvi_assembly

Assembly* MooseVariableInterface< Real >::_mvi_assembly
protectedinherited

Definition at line 233 of file MooseVariableInterface.h.

◆ _nodal

bool MooseVariableInterface< Real >::_nodal
protectedinherited

Whether or not this object is acting only at nodes.

Definition at line 223 of file MooseVariableInterface.h.

◆ _u

template<typename Base >
Moose::Kokkos::VariableValue KokkosIntegralVariablePostprocessor< Base >::_u
protectedinherited

Holds the solution at current quadrature points.

Definition at line 27 of file KokkosIntegralVariablePostprocessor.h.

Referenced by computeQpIntegral().

◆ _use_abs_value

template<typename Base >
const bool KokkosIntegralVariablePostprocessor< Base >::_use_abs_value
protectedinherited

Option to use absolute variable value.

Definition at line 31 of file KokkosIntegralVariablePostprocessor.h.

◆ _var

MooseVariableBase* MooseVariableInterface< Real >::_var
protectedinherited

The variable this object is acting on.

Definition at line 226 of file MooseVariableInterface.h.

Referenced by NodalExtremeValue::execute().

◆ _variable

MooseVariableFE<Real >* MooseVariableInterface< Real >::_variable
protectedinherited

Definition at line 227 of file MooseVariableInterface.h.


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