www.mooseframework.org
KernelBase.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 "ResidualObject.h"
13 #include "BlockRestrictable.h"
16 #include "ElementIDInterface.h"
17 
22 class KernelBase : public ResidualObject,
23  public BlockRestrictable,
26  protected GeometricSearchInterface,
27  public ElementIDInterface
28 {
29 public:
31 
33 
34 protected:
36  const Elem * const & _current_elem;
37 
40 
42  unsigned int _qp;
43 
46 
48  const QBase * const & _qrule;
49 
52 
55 
57  unsigned int _i;
58 
60  unsigned int _j;
61 
64  std::vector<MooseVariableFEBase *> _save_in;
65  std::vector<AuxVariableName> _save_in_strings;
66 
69  std::vector<MooseVariableFEBase *> _diag_save_in;
70  std::vector<AuxVariableName> _diag_save_in_strings;
71 
72  std::vector<unsigned int> _displacements;
73 
75  const bool _use_displaced_mesh;
76 };
std::vector< MooseVariableFEBase * > _save_in
Definition: KernelBase.h:64
const MooseArray< Real > & _JxW
The current quadrature point weight value.
Definition: KernelBase.h:51
std::vector< AuxVariableName > _diag_save_in_strings
Definition: KernelBase.h:70
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
KernelBase(const InputParameters &parameters)
Definition: KernelBase.C:59
bool _has_diag_save_in
The aux variables to save the diagonal Jacobian contributions to.
Definition: KernelBase.h:68
const Real & _current_elem_volume
Volume of the current element.
Definition: KernelBase.h:39
This is the common base class for the three main kernel types implemented in MOOSE, Kernel, VectorKernel and ArrayKernel.
Definition: KernelBase.h:22
std::vector< MooseVariableFEBase * > _diag_save_in
Definition: KernelBase.h:69
const QBase *const & _qrule
active quadrature rule
Definition: KernelBase.h:48
bool _has_save_in
The aux variables to save the residual contributions to.
Definition: KernelBase.h:63
unsigned int _i
current index for the test function
Definition: KernelBase.h:57
std::vector< unsigned int > _displacements
Definition: KernelBase.h:72
const MooseArray< Real > & _coord
The scaling factor to convert from cartesian to another coordinate system (e.g rz, spherical, etc.)
Definition: KernelBase.h:54
std::vector< AuxVariableName > _save_in_strings
Definition: KernelBase.h:65
unsigned int _j
current index for the shape function
Definition: KernelBase.h:60
const bool _use_displaced_mesh
Whether this object is acting on the displaced mesh.
Definition: KernelBase.h:75
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
This is the common base class for objects that give residual contributions.
An interface for accessing Materials.
Intermediate base class that ties together all the interfaces for getting MooseVariableFEBases with t...
An interface that restricts an object to subdomains via the &#39;blocks&#39; input parameter.
const InputParameters & parameters() const
Get the parameters of the object.
const Elem *const & _current_elem
Current element.
Definition: KernelBase.h:36
static InputParameters validParams()
Definition: KernelBase.C:21
const MooseArray< Point > & _q_point
The physical location of the element&#39;s quadrature Points, indexed by _qp.
Definition: KernelBase.h:45
unsigned int _qp
The current quadrature point index.
Definition: KernelBase.h:42