18 params.
addClassDescription(
"Lagrange multiplier kernel to constrain the sum of all switching " 19 "functions in a multiphase system. This kernel acts on a " 20 "non-conserved order parameter eta_i.");
21 params.
addParam<MaterialPropertyName>(
"h_name",
22 "Switching Function Materials that provides h(eta_i)");
24 params.
addCoupledVar(
"args",
"Vector of further variable arguments to the switching function");
31 _eta_name(_var.
name()),
32 _dh(getMaterialPropertyDerivative<
Real>(
"h_name", _eta_name)),
33 _d2h(getMaterialPropertyDerivative<
Real>(
"h_name", _eta_name, _eta_name)),
34 _d2ha(isCoupled(
"args") ? coupledComponents(
"args") : coupledComponents(
"coupled_variables")),
35 _d2ha_map(isCoupled(
"args") ? getParameterJvarMap(
"args")
36 : getParameterJvarMap(
"coupled_variables")),
37 _lambda(coupledValue(
"lambda")),
38 _lambda_var(coupled(
"lambda"))
40 for (std::size_t i = 0; i <
_d2ha.size(); ++i)
45 _d2ha[i] = &getMaterialPropertyDerivative<Real>(
virtual bool isCoupled(const std::string &var_name, unsigned int i=0) const
static InputParameters validParams()
VariableName coupledName(const std::string &var_name, unsigned int comp=0) const
virtual Real computeQpJacobian()
const JvarMap & _d2ha_map
SwitchingFunctionConstraintEta(const InputParameters ¶meters)
std::vector< const MaterialProperty< Real > * > _d2ha
const VariableTestValue & _test
const MaterialProperty< Real > & _dh
Switching function drivatives.
SwitchingFunctionConstraintEta is a constraint kernel that acts on the lambda lagrange multiplier non...
static InputParameters validParams()
unsigned int mapJvarToCvar(unsigned int jvar)
virtual Real computeQpResidual()
const MaterialProperty< Real > & _d2h
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
registerMooseObject("PhaseFieldApp", SwitchingFunctionConstraintEta)
VariableName _eta_name
Switching function name.
virtual Real computeQpOffDiagJacobian(unsigned int)
const VariableValue & _lambda
Lagrange multiplier.
const VariablePhiValue & _phi
static const std::string k