www.mooseframework.org
SwitchingFunctionConstraintLagrange.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 "Kernel.h"
13 #include "JvarMapInterface.h"
14 #include "DerivativeMaterialInterface.h"
15 #include "NonlinearSystem.h"
16 
17 // Forward Declarations
19 
20 template <>
22 
29  : public DerivativeMaterialInterface<JvarMapKernelInterface<Kernel>>
30 {
31 public:
32  SwitchingFunctionConstraintLagrange(const InputParameters & parameters);
33 
34 protected:
35  virtual Real computeQpResidual();
36  virtual Real computeQpJacobian();
37  virtual Real computeQpOffDiagJacobian(unsigned int);
38 
40  std::vector<MaterialPropertyName> _h_names;
41 
43  unsigned int _num_h;
44 
46  std::vector<const MaterialProperty<Real> *> _h;
47 
49  std::vector<std::vector<const MaterialProperty<Real> *>> _dh;
50 
52  const JvarMap & _eta_map;
53 
55  Real _epsilon;
56 };
SwitchingFunctionConstraintLagrange::computeQpResidual
virtual Real computeQpResidual()
Definition: SwitchingFunctionConstraintLagrange.C:54
SwitchingFunctionConstraintLagrange::_epsilon
Real _epsilon
shift factor
Definition: SwitchingFunctionConstraintLagrange.h:55
SwitchingFunctionConstraintLagrange::computeQpOffDiagJacobian
virtual Real computeQpOffDiagJacobian(unsigned int)
Definition: SwitchingFunctionConstraintLagrange.C:70
SwitchingFunctionConstraintLagrange::SwitchingFunctionConstraintLagrange
SwitchingFunctionConstraintLagrange(const InputParameters &parameters)
Definition: SwitchingFunctionConstraintLagrange.C:28
validParams< SwitchingFunctionConstraintLagrange >
InputParameters validParams< SwitchingFunctionConstraintLagrange >()
Definition: SwitchingFunctionConstraintLagrange.C:16
SwitchingFunctionConstraintLagrange::_num_h
unsigned int _num_h
number of switching functions
Definition: SwitchingFunctionConstraintLagrange.h:43
SwitchingFunctionConstraintLagrange::_dh
std::vector< std::vector< const MaterialProperty< Real > * > > _dh
Switching function derivatives.
Definition: SwitchingFunctionConstraintLagrange.h:49
SwitchingFunctionConstraintLagrange::_h_names
std::vector< MaterialPropertyName > _h_names
Switching function names.
Definition: SwitchingFunctionConstraintLagrange.h:40
SwitchingFunctionConstraintLagrange::computeQpJacobian
virtual Real computeQpJacobian()
Definition: SwitchingFunctionConstraintLagrange.C:64
SwitchingFunctionConstraintLagrange::_h
std::vector< const MaterialProperty< Real > * > _h
Switching functions.
Definition: SwitchingFunctionConstraintLagrange.h:46
SwitchingFunctionConstraintLagrange::_eta_map
const JvarMap & _eta_map
map for getting the "etas" index from jvar
Definition: SwitchingFunctionConstraintLagrange.h:52
SwitchingFunctionConstraintLagrange
SwitchingFunctionConstraintLagrange is a constraint kernel that acts on the lambda lagrange multiplie...
Definition: SwitchingFunctionConstraintLagrange.h:28