18 params.
addClassDescription(
"Kernel that implements the first derivative of a function material " 19 "property with respect to a coupled variable.");
21 params.
addParam<MaterialPropertyName>(
"f_name",
23 "Function material to take the derivative of (should " 24 "provide derivative properties - such as a " 25 "DerivativeParsedMaterial)");
31 _v_name(coupledName(
"v", 0)),
33 _dFdv(getMaterialPropertyDerivative<
Real>(
"f_name", _v_name)),
34 _d2Fdvdu(getMaterialPropertyDerivative<
Real>(
"f_name", _v_name, _var.
name())),
38 for (
unsigned int i = 0; i <
_n_args; ++i)
45 validateNonlinearCoupling<Real>(
"f_name");
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override
const MaterialProperty< Real > & _d2Fdvdu
2nd order material property derivative w.r.t. v then u
This kernel adds the term (dFdv, test), where v is a coupled variable.
std::string _v_name
name of the coupled variable the derivative is taken with respect to
static InputParameters validParams()
const VariableTestValue & _test
virtual void initialSetup() override
static InputParameters validParams()
virtual Real computeQpResidual() override
CoupledMaterialDerivative(const InputParameters ¶meters)
unsigned int mapJvarToCvar(unsigned int jvar)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual Real computeQpJacobian() override
registerMooseObject("PhaseFieldApp", CoupledMaterialDerivative)
std::vector< const MaterialProperty< Real > * > _d2Fdvdarg
2nd order material property derivatives w.r.t. v and then all other coupled variables ...
const unsigned int _n_args
const VariablePhiValue & _phi
const MaterialProperty< Real > & _dFdv
Material property derivative w.r.t. v.