www.mooseframework.org
ScalarKernel.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* DO NOT MODIFY THIS HEADER */
3 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
4 /* */
5 /* (c) 2010 Battelle Energy Alliance, LLC */
6 /* ALL RIGHTS RESERVED */
7 /* */
8 /* Prepared by Battelle Energy Alliance, LLC */
9 /* Under Contract No. DE-AC07-05ID14517 */
10 /* With the U. S. Department of Energy */
11 /* */
12 /* See COPYRIGHT for full restrictions */
13 /****************************************************************/
14 
15 #ifndef SCALARKERNEL_H
16 #define SCALARKERNEL_H
17 
18 #include "MooseObject.h"
19 #include "ScalarCoupleable.h"
20 #include "SetupInterface.h"
21 #include "FunctionInterface.h"
22 #include "UserObjectInterface.h"
23 #include "PostprocessorInterface.h"
24 #include "TransientInterface.h"
25 #include "ZeroInterface.h"
26 #include "MeshChangedInterface.h"
28 
29 // Forward declarations
30 class ScalarKernel;
31 class MooseMesh;
32 class Problem;
33 class SubProblem;
34 class Assembly;
36 class SubProblem;
37 
38 template <>
40 
41 class ScalarKernel : public MooseObject,
42  public ScalarCoupleable,
43  public SetupInterface,
44  public FunctionInterface,
45  public UserObjectInterface,
47  public TransientInterface,
48  public ZeroInterface,
49  public MeshChangedInterface,
51 {
52 public:
54 
55  virtual void reinit() = 0;
56  virtual void computeResidual() = 0;
57  virtual void computeJacobian() = 0;
58  virtual void computeOffDiagJacobian(unsigned int jvar);
59 
64 
66 
71  virtual bool isActive();
72 
73 protected:
76 
78 
83 
84  unsigned int _i, _j;
85 
92 };
93 
94 #endif /* SCALARKERNEL_H */
InputParameters validParams< ScalarKernel >()
Definition: ScalarKernel.C:25
SubProblem & subProblem()
Definition: ScalarKernel.C:89
Keeps track of stuff related to assembling.
Definition: Assembly.h:63
VariableValue & _du_dot_du
Definition: ScalarKernel.h:91
virtual void reinit()=0
Class that hold the whole problem being solved.
Definition: Problem.h:29
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
VariableValue & _u_old
Old value(s) of the scalar variable.
Definition: ScalarKernel.h:89
Base class for a system (of equations)
Definition: SystemBase.h:91
Assembly & _assembly
Definition: ScalarKernel.h:79
Interface for objects that needs transient capabilities.
MooseVariableScalar & _var
Scalar variable.
Definition: ScalarKernel.h:81
THREAD_ID _tid
Definition: ScalarKernel.h:77
Interface for notifications that the mesh has changed.
Every object that can be built by the factory should be derived from this class.
Definition: MooseObject.h:36
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
Definition: MooseMesh.h:74
VariableValue & _u
Value(s) of the scalar variable.
Definition: ScalarKernel.h:87
virtual void computeJacobian()=0
Interface for objects that need to use UserObjects.
ScalarKernel(const InputParameters &parameters)
Definition: ScalarKernel.C:46
SubProblem & _subproblem
Definition: ScalarKernel.h:74
virtual bool isActive()
Use this to enable/disable the constraint.
Definition: ScalarKernel.C:77
SystemBase & _sys
Definition: ScalarKernel.h:75
virtual void computeResidual()=0
Generic class for solving transient nonlinear problems.
Definition: SubProblem.h:53
Interface to bring zero values inside objects.
Definition: ZeroInterface.h:35
VariableValue & _u_dot
Definition: ScalarKernel.h:90
virtual void computeOffDiagJacobian(unsigned int jvar)
Definition: ScalarKernel.C:72
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseObject.h:53
Class for scalar variables (they are different).
Interface for objects that needs scalar coupling capabilities.
MooseVariableScalar & variable()
The variable that this kernel operates on.
Definition: ScalarKernel.C:83
unsigned int _i
Definition: ScalarKernel.h:84
Interface for objects that need to use functions.
MooseMesh & _mesh
Definition: ScalarKernel.h:82
Interface class for classes which interact with Postprocessors.
unsigned int THREAD_ID
Definition: MooseTypes.h:79
unsigned int _j
Definition: ScalarKernel.h:84