www.mooseframework.org
EqualGradientLagrangeMultiplier.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
3 /* */
4 /* All contents are licensed under LGPL V2.1 */
5 /* See LICENSE for full restrictions */
6 /****************************************************************/
7 #ifndef EQUALGRADIENTLAGRANGEMULTIPLIER_H
8 #define EQUALGRADIENTLAGRANGEMULTIPLIER_H
9 
10 #include "InterfaceKernel.h"
11 
13 
14 template <>
16 
21 class EqualGradientLagrangeMultiplier : public InterfaceKernel
22 {
23 public:
24  EqualGradientLagrangeMultiplier(const InputParameters & parameters);
25 
26 protected:
27  virtual Real computeQpResidual(Moose::DGResidualType type) override;
28  virtual Real computeQpJacobian(Moose::DGJacobianType type) override;
29  virtual Real computeQpOffDiagJacobian(Moose::DGJacobianType type, unsigned int jvar) override;
30 
32  const unsigned int _component;
33 
35  const VariableGradient & _grad_element_value;
36  unsigned int _element_jvar;
38 
40  unsigned int _neighbor_jvar;
41 
43  const Real _jacobian_fill;
44 };
45 
46 #endif // EQUALGRADIENTLAGRANGEMULTIPLIER_H
virtual Real computeQpOffDiagJacobian(Moose::DGJacobianType type, unsigned int jvar) override
EqualGradientLagrangeMultiplier(const InputParameters &parameters)
unsigned int _neighbor_jvar
variable to control gradient on the slave side of the interface
virtual Real computeQpResidual(Moose::DGResidualType type) override
virtual Real computeQpJacobian(Moose::DGJacobianType type) override
const unsigned int _component
x,y,z component of the gradient to constrain
const VariableGradient & _grad_element_value
variable to control gradient on the master side of the interface
InputParameters validParams< EqualGradientLagrangeMultiplier >()
const Real _jacobian_fill
compensate Jacobian fill term from NullKernel
Lagrange multiplier "FaceKernel" that is used in conjunction with EqualGradientLagrangeInterface.