https://mooseframework.inl.gov
Loading...
Searching...
No Matches
SwitchingFunctionConstraintLagrange.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
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"
15#include "NonlinearSystem.h"
16
23 : public DerivativeMaterialInterface<JvarMapKernelInterface<Kernel>>
24{
25public:
27
29
30protected:
31 virtual Real computeQpResidual();
32 virtual Real computeQpJacobian();
33 virtual Real computeQpOffDiagJacobian(unsigned int);
34
36 std::vector<MaterialPropertyName> _h_names;
37
39 unsigned int _num_h;
40
42 std::vector<const MaterialProperty<Real> *> _h;
43
45 std::vector<std::vector<const MaterialProperty<Real> *>> _dh;
46
48 const JvarMap & _eta_map;
49
52};
SwitchingFunctionConstraintLagrange is a constraint kernel that acts on the lambda lagrange multiplie...
std::vector< std::vector< const MaterialProperty< Real > * > > _dh
Switching function derivatives.
std::vector< const MaterialProperty< Real > * > _h
Switching functions.
unsigned int _num_h
number of switching functions
std::vector< MaterialPropertyName > _h_names
Switching function names.
const JvarMap & _eta_map
map for getting the "etas" index from jvar