www.mooseframework.org
EqualGradientLagrangeMultiplier.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 "InterfaceKernel.h"
13 
15 
16 template <>
18 
23 class EqualGradientLagrangeMultiplier : public InterfaceKernel
24 {
25 public:
26  EqualGradientLagrangeMultiplier(const InputParameters & parameters);
27 
28 protected:
29  virtual Real computeQpResidual(Moose::DGResidualType type) override;
30  virtual Real computeQpJacobian(Moose::DGJacobianType type) override;
31  virtual Real computeQpOffDiagJacobian(Moose::DGJacobianType type, unsigned int jvar) override;
32 
34  const unsigned int _component;
35 
37  const VariableGradient & _grad_element_value;
38  unsigned int _element_jvar;
40 
42  unsigned int _neighbor_jvar;
43 
45  const Real _jacobian_fill;
46 };
47 
EqualGradientLagrangeMultiplier::EqualGradientLagrangeMultiplier
EqualGradientLagrangeMultiplier(const InputParameters &parameters)
Definition: EqualGradientLagrangeMultiplier.C:34
EqualGradientLagrangeMultiplier::_neighbor_jvar
unsigned int _neighbor_jvar
variable to control gradient on the slave side of the interface
Definition: EqualGradientLagrangeMultiplier.h:42
EqualGradientLagrangeMultiplier
Lagrange multiplier "FaceKernel" that is used in conjunction with EqualGradientLagrangeInterface.
Definition: EqualGradientLagrangeMultiplier.h:23
EqualGradientLagrangeMultiplier::computeQpJacobian
virtual Real computeQpJacobian(Moose::DGJacobianType type) override
Definition: EqualGradientLagrangeMultiplier.C:55
EqualGradientLagrangeMultiplier::computeQpResidual
virtual Real computeQpResidual(Moose::DGResidualType type) override
Definition: EqualGradientLagrangeMultiplier.C:45
EqualGradientLagrangeMultiplier::_component
const unsigned int _component
x,y,z component of the gradient to constrain
Definition: EqualGradientLagrangeMultiplier.h:34
EqualGradientLagrangeMultiplier::_grad_element_value
const VariableGradient & _grad_element_value
variable to control gradient on the master side of the interface
Definition: EqualGradientLagrangeMultiplier.h:37
EqualGradientLagrangeMultiplier::_jacobian_fill
const Real _jacobian_fill
compensate Jacobian fill term from NullKernel
Definition: EqualGradientLagrangeMultiplier.h:45
EqualGradientLagrangeMultiplier::_element_jvar
unsigned int _element_jvar
Definition: EqualGradientLagrangeMultiplier.h:38
EqualGradientLagrangeMultiplier::computeQpOffDiagJacobian
virtual Real computeQpOffDiagJacobian(Moose::DGJacobianType type, unsigned int jvar) override
Definition: EqualGradientLagrangeMultiplier.C:67
validParams< EqualGradientLagrangeMultiplier >
InputParameters validParams< EqualGradientLagrangeMultiplier >()
Definition: EqualGradientLagrangeMultiplier.C:19