www.mooseframework.org
AuxScalarKernel.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"
19 #include "TransientInterface.h"
20 #include "MooseVariableScalar.h"
21 #include "MeshChangedInterface.h"
22 
23 // Forward declarations
24 class MooseMesh;
25 class SubProblem;
26 class Assembly;
27 class AuxScalarKernel;
28 
29 template <>
31 
36  public ScalarCoupleable,
37  public SetupInterface,
38  public FunctionInterface,
39  public UserObjectInterface,
42  public TransientInterface,
44 {
45 public:
47 
48  virtual ~AuxScalarKernel();
49 
53  virtual void compute();
54 
59 
61 
62  virtual const std::set<std::string> & getRequestedItems() override;
63 
64  virtual const std::set<std::string> & getSuppliedItems() override;
65 
70  virtual bool isActive();
71 
72 protected:
75 
77 
81 
82  unsigned int _i;
83 
86 
88  std::set<std::string> _depend_vars;
89  std::set<std::string> _supplied_vars;
90 
97  virtual Real computeValue() = 0;
98 };
99 
MooseMesh & _mesh
MooseVariableScalar & _var
VariableValue & _u_old
Keeps track of stuff related to assembling.
Definition: Assembly.h:62
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
SubProblem & _subproblem
Base class for a system (of equations)
Definition: SystemBase.h:92
virtual bool isActive()
Use this to enable/disable the constraint.
MooseVariableScalar & variable()
The variable that this kernel operates on.
SystemBase & _sys
virtual const std::set< std::string > & getSuppliedItems() override
Return a set containing the names of items owned by the object.
Interface for objects that needs transient capabilities.
virtual void compute()
Evaluate the kernel.
std::set< std::string > _supplied_vars
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
Base class for making kernels that work on auxiliary scalar variables.
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
Interface for objects that need to use UserObjects.
VariableValue & _u
forward declarations
Definition: MooseArray.h:16
virtual Real computeValue()=0
Compute the value of this kernel.
Generic class for solving transient nonlinear problems.
Definition: SubProblem.h:59
std::set< std::string > _depend_vars
Depend AuxKernels.
Class for scalar variables (they are different).
Interface for sorting dependent vectors of objects.
Interface for objects that needs scalar coupling capabilities.
unsigned int _i
AuxScalarKernel(const InputParameters &parameters)
SubProblem & subProblem()
InputParameters validParams< AuxScalarKernel >()
virtual const std::set< std::string > & getRequestedItems() override
Return a set containing the names of items requested by the object.
Interface for objects that need to use functions.
Assembly & _assembly
virtual ~AuxScalarKernel()
Interface class for classes which interact with Postprocessors.
unsigned int THREAD_ID
Definition: MooseTypes.h:161