www.mooseframework.org
Constraint.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 CONSTRAINT_H
16 #define CONSTRAINT_H
17 
18 // MOOSE includes
19 #include "MooseObject.h"
20 #include "SetupInterface.h"
21 #include "FunctionInterface.h"
22 #include "UserObjectInterface.h"
23 #include "TransientInterface.h"
25 #include "Restartable.h"
26 #include "ZeroInterface.h"
27 #include "MeshChangedInterface.h"
28 
29 // Forward Declarations
30 class Assembly;
31 class Constraint;
32 class MooseVariable;
33 class SubProblem;
34 class MooseMesh;
35 
36 template <>
38 
42 class Constraint : public MooseObject,
43  public SetupInterface,
44  public FunctionInterface,
45  public UserObjectInterface,
46  public TransientInterface,
47  protected GeometricSearchInterface,
48  public Restartable,
49  public ZeroInterface,
51 {
52 public:
54  virtual ~Constraint();
55 
61 
65  MooseVariable & variable() { return _var; }
66 
67  virtual bool addCouplingEntriesToJacobian() { return true; }
68  virtual void subdomainSetup() override final
69  {
70  mooseError("subdomain setup for constraints is not implemented");
71  }
72 
73 protected:
76 
78 
82 
83  unsigned int _i, _j;
84  unsigned int _qp;
85 };
86 
87 #endif
SubProblem & subProblem()
Subproblem this constraint is part of.
Definition: Constraint.h:60
A class for creating restricted objects.
Definition: Restartable.h:31
Keeps track of stuff related to assembling.
Definition: Assembly.h:63
Class for stuff related to variables.
Definition: MooseVariable.h:43
Base class for all Constraint types.
Definition: Constraint.h:42
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
unsigned int _i
Definition: Constraint.h:83
Base class for a system (of equations)
Definition: SystemBase.h:91
Constraint(const InputParameters &parameters)
Definition: Constraint.C:43
unsigned int _j
Definition: Constraint.h:83
Interface for objects that needs transient capabilities.
virtual bool addCouplingEntriesToJacobian()
Definition: Constraint.h:67
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 & _mesh
Definition: Constraint.h:81
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
Definition: MooseMesh.h:74
SubProblem & _subproblem
Definition: Constraint.h:74
virtual void subdomainSetup() override final
Gets called when the subdomain changes (i.e.
Definition: Constraint.h:68
Interface for objects that need to use UserObjects.
MooseVariable & variable()
The variable number that this object operates on.
Definition: Constraint.h:65
Assembly & _assembly
Definition: Constraint.h:79
Generic class for solving transient nonlinear problems.
Definition: SubProblem.h:53
Interface to bring zero values inside objects.
Definition: ZeroInterface.h:35
SystemBase & _sys
Definition: Constraint.h:75
THREAD_ID _tid
Definition: Constraint.h:77
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseObject.h:53
void mooseError(Args &&...args) const
Definition: MooseObject.h:80
virtual ~Constraint()
Definition: Constraint.C:62
InputParameters validParams< Constraint >()
Definition: Constraint.C:20
Interface for objects that need to use functions.
unsigned int _qp
Definition: Constraint.h:84
MooseVariable & _var
Definition: Constraint.h:80
unsigned int THREAD_ID
Definition: MooseTypes.h:79