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 "PolarPFMPhi.h" 10 : 11 : registerMooseObject("MagpieApp", PolarPFMPhi); 12 : 13 : InputParameters 14 38 : PolarPFMPhi::validParams() 15 : { 16 38 : InputParameters params = DerivativeParsedMaterialHelper::validParams(); 17 38 : params.addClassDescription("Material property for phi with a beta21 prefactor"); 18 76 : params.addRequiredCoupledVar("upsilon", "Upsilon order parameter"); 19 76 : params.addRequiredParam<Real>("a_phi", "Interpolation coefficient a_phi"); 20 76 : params.addRequiredParam<Real>("a0", "Interpolation coefficient a0"); 21 76 : params.addRequiredParam<Real>("beta21", 22 : "Gradient energy coefficient between solid 2 and solid 1"); 23 38 : return params; 24 0 : } 25 : 26 30 : PolarPFMPhi::PolarPFMPhi(const InputParameters & parameters) 27 : : DerivativeParsedMaterialHelper(parameters), 28 30 : _upsilon("upsilon"), 29 60 : _a_phi(getParam<Real>("a_phi")), 30 60 : _a0(getParam<Real>("a0")), 31 90 : _beta21(getParam<Real>("beta21")) 32 : { 33 : // interpolating function (9) from Physical Review B 89, 184102 (2014) 34 60 : EBTerm phi = _a_phi * _upsilon * _upsilon - 35 120 : 2 * (_a_phi - 2 * (1 - _a0)) * _upsilon * _upsilon * _upsilon + 36 90 : (_a_phi - 3 * (1 - _a0)) * _upsilon * _upsilon * _upsilon * _upsilon + _a0; 37 : 38 90 : functionParse(_beta21 * phi); 39 30 : }