www.mooseframework.org
ScalarKernel.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 "MooseObject.h"
13 #include "ScalarCoupleable.h"
14 #include "SetupInterface.h"
15 #include "FunctionInterface.h"
16 #include "UserObjectInterface.h"
17 #include "PostprocessorInterface.h"
18 #include "TransientInterface.h"
19 #include "MeshChangedInterface.h"
21 #include "TaggingInterface.h"
22 
23 // Forward declarations
24 class ScalarKernel;
25 class MooseMesh;
26 class Problem;
27 class SubProblem;
28 class Assembly;
30 class SubProblem;
31 
32 template <>
34 
35 class ScalarKernel : public MooseObject,
36  public ScalarCoupleable,
37  public SetupInterface,
38  public FunctionInterface,
39  public UserObjectInterface,
41  public TransientInterface,
42  public MeshChangedInterface,
44  public TaggingInterface
45 {
46 public:
48 
49  virtual void reinit() = 0;
50  virtual void computeResidual() = 0;
51  virtual void computeJacobian() = 0;
52  virtual void computeOffDiagJacobian(unsigned int jvar);
53 
58 
60 
65  virtual bool isActive();
66 
67 protected:
70 
72 
77 
78  unsigned int _i, _j;
79 
82 
85 };
86 
InputParameters validParams< ScalarKernel >()
Definition: ScalarKernel.C:20
SubProblem & subProblem()
Definition: ScalarKernel.C:86
Keeps track of stuff related to assembling.
Definition: Assembly.h:62
virtual void reinit()=0
Class that hold the whole problem being solved.
Definition: Problem.h:24
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:84
Base class for a system (of equations)
Definition: SystemBase.h:92
Assembly & _assembly
Definition: ScalarKernel.h:73
Interface for objects that needs transient capabilities.
MooseVariableScalar & _var
Scalar variable.
Definition: ScalarKernel.h:75
THREAD_ID _tid
Definition: ScalarKernel.h:71
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:42
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseObject.h:65
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:81
virtual void computeJacobian()=0
Interface for objects that need to use UserObjects.
ScalarKernel(const InputParameters &parameters)
Definition: ScalarKernel.C:44
SubProblem & _subproblem
Definition: ScalarKernel.h:68
virtual bool isActive()
Use this to enable/disable the constraint.
Definition: ScalarKernel.C:74
SystemBase & _sys
Definition: ScalarKernel.h:69
virtual void computeResidual()=0
forward declarations
Definition: MooseArray.h:16
Generic class for solving transient nonlinear problems.
Definition: SubProblem.h:59
virtual void computeOffDiagJacobian(unsigned int jvar)
Definition: ScalarKernel.C:69
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:80
unsigned int _i
Definition: ScalarKernel.h:78
Interface for objects that need to use functions.
MooseMesh & _mesh
Definition: ScalarKernel.h:76
Interface class for classes which interact with Postprocessors.
unsigned int THREAD_ID
Definition: MooseTypes.h:161
unsigned int _j
Definition: ScalarKernel.h:78