www.mooseframework.org
SwitchingFunctionConstraintLagrange.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 SWITCHINGFUNCTIONCONSTRAINTLAGRANGE_H
8 #define SWITCHINGFUNCTIONCONSTRAINTLAGRANGE_H
9 
10 #include "Kernel.h"
11 #include "DerivativeMaterialInterface.h"
12 #include "NonlinearSystem.h"
13 
14 // Forward Declarations
16 
17 template <>
19 
25 class SwitchingFunctionConstraintLagrange : public DerivativeMaterialInterface<Kernel>
26 {
27 public:
28  SwitchingFunctionConstraintLagrange(const InputParameters & parameters);
29 
30 protected:
31  virtual Real computeQpResidual();
32  virtual Real computeQpJacobian();
33  virtual Real computeQpOffDiagJacobian(unsigned int);
34 
36  std::vector<MaterialPropertyName> _h_names;
37  unsigned int _num_h;
38 
40  std::vector<const MaterialProperty<Real> *> _h, _dh;
41 
43  const unsigned int _number_of_nl_variables;
44 
46  std::vector<int> _j_eta;
47 
49  Real _epsilon;
50 };
51 
52 #endif // SWITCHINGFUNCTIONCONSTRAINTLAGRANGE_H
const unsigned int _number_of_nl_variables
number of non-linear variables in the problem
SwitchingFunctionConstraintLagrange is a constraint kernel that acts on the lambda lagrange multiplie...
SwitchingFunctionConstraintLagrange(const InputParameters &parameters)
InputParameters validParams< SwitchingFunctionConstraintLagrange >()
std::vector< const MaterialProperty< Real > * > _dh
std::vector< int > _j_eta
eta index for the j_vars in the jacobian computation
std::vector< MaterialPropertyName > _h_names
Switching function names.
std::vector< const MaterialProperty< Real > * > _h
Switching functions and their drivatives.