Line data Source code
1 : //* This file is part of the RACCOON application 2 : //* being developed at Dolbow lab at Duke University 3 : //* http://dolbow.pratt.duke.edu 4 : 5 : #include "PFFSource.h" 6 : 7 : registerMooseObject("raccoonApp", PFFSource); 8 : 9 : InputParameters 10 136 : PFFSource::validParams() 11 : { 12 136 : InputParameters params = DerivativeMaterialInterface<KernelValue>::validParams(); 13 136 : params.addClassDescription("The source term in the phase-field evolution equation. The weak form " 14 : "is $(w, \\dfrac{\\partial \\psi}{\\partial d})$."); 15 272 : params.addParam<MaterialPropertyName>("free_energy", 16 : "psi" 17 : "The Helmholtz free energy"); 18 136 : return params; 19 0 : } 20 : 21 0 : PFFSource::PFFSource(const InputParameters & parameters) 22 : : DerivativeMaterialInterface<KernelValue>(parameters), 23 0 : _psi_name(getParam<MaterialPropertyName>("free_energy")), 24 0 : _dpsi_dd(getMaterialPropertyDerivative<Real>(_psi_name, _var.name())), 25 0 : _d2psi_dd2(getMaterialPropertyDerivative<Real>(_psi_name, _var.name(), _var.name())) 26 : { 27 0 : } 28 : 29 : Real 30 0 : PFFSource::precomputeQpResidual() 31 : { 32 0 : return _dpsi_dd[_qp]; 33 : } 34 : 35 : Real 36 0 : PFFSource::precomputeQpJacobian() 37 : { 38 0 : return _d2psi_dd2[_qp] * _phi[_j][_qp]; 39 : }