Line data Source code
1 : /**********************************************************************/ 2 : /* DO NOT MODIFY THIS HEADER */ 3 : /* MAGPIE - Mesoscale Atomistic Glue Program for Integrated Execution */ 4 : /* */ 5 : /* Copyright 2017 Battelle Energy Alliance, LLC */ 6 : /* ALL RIGHTS RESERVED */ 7 : /**********************************************************************/ 8 : 9 : #include "PolarPFMDerivative.h" 10 : 11 : registerMooseObject("MagpieApp", PolarPFMDerivative); 12 : 13 : InputParameters 14 36 : PolarPFMDerivative::validParams() 15 : { 16 36 : InputParameters params = KernelValue::validParams(); 17 36 : params.addClassDescription("Bulk energy derivative term in the polar phase field model"); 18 72 : params.addRequiredParam<MaterialPropertyName>( 19 : "F", "Material property of which the kernel variable derivative will be taken of"); 20 36 : return params; 21 0 : } 22 : 23 20 : PolarPFMDerivative::PolarPFMDerivative(const InputParameters & parameters) 24 : : DerivativeMaterialInterface<KernelValue>(parameters), 25 20 : _dpropdu(getMaterialPropertyDerivative<Real>("F", _var.name())), 26 40 : _d2propdu2(getMaterialPropertyDerivative<Real>("F", _var.name(), _var.name())) 27 : { 28 20 : } 29 : 30 : Real 31 816000 : PolarPFMDerivative::precomputeQpResidual() 32 : { 33 816000 : return _dpropdu[_qp]; 34 : } 35 : 36 : Real 37 201600 : PolarPFMDerivative::precomputeQpJacobian() 38 : { 39 201600 : return _d2propdu2[_qp] * _phi[_j][_qp]; 40 : }