https://mooseframework.inl.gov
Loading...
Searching...
No Matches
SwitchingFunctionPenalty.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"
14
21{
22public:
24
25 SwitchingFunctionPenalty(const InputParameters & parameters);
26
27protected:
28 virtual Real computeQpResidual();
29 virtual Real computeQpJacobian();
30 virtual Real computeQpOffDiagJacobian(unsigned int);
31
33 std::vector<MaterialPropertyName> _h_names;
34 unsigned int _num_h;
35
37 std::vector<const MaterialProperty<Real> *> _h, _dh;
39
41 const Real _penalty;
42
44 const unsigned int _number_of_nl_variables;
45
47 std::vector<int> _j_eta;
48
50 int _a;
51};
SwitchingFunctionPenalty is a constraint kernel adds a penalty to each order parameter to enforce .
std::vector< MaterialPropertyName > _h_names
Switching function names.
std::vector< const MaterialProperty< Real > * > _dh
int _a
Index of the eta this kernel is operating on.
static InputParameters validParams()
std::vector< int > _j_eta
eta index for the j_vars in the jacobian computation
const unsigned int _number_of_nl_variables
number of non-linear variables in the problem
const Real _penalty
Penalty pre-factor.
virtual Real computeQpOffDiagJacobian(unsigned int)
std::vector< const MaterialProperty< Real > * > _h
Switching functions and their drivatives.
const MaterialProperty< Real > * _d2h