18 "Computes necessary material properties for the isotropic grain growth model");
20 params.
addParam<
Real>(
"f0s", 0.125,
"The GB energy constant ");
22 params.
addParam<
Real>(
"length_scale", 1.0e-9,
"Length scale in m, where default is nm");
23 params.
addParam<
Real>(
"time_scale", 1.0e-9,
"Time scale in s, where default is ns");
27 "GB mobility input in m^4/(J*s), that overrides the temperature dependent calculation");
28 params.
addParam<
Real>(
"GBmob0", 0,
"Grain boundary mobility prefactor in m^4/(J*s)");
29 params.
addParam<
Real>(
"Q", 0,
"Grain boundary migration activation energy in eV");
32 "Molar volume in m^3/mol, needed for temperature gradient driving force");
39 _f0s(getParam<
Real>(
"f0s")),
40 _wGB(getParam<
Real>(
"wGB")),
41 _length_scale(getParam<
Real>(
"length_scale")),
42 _time_scale(getParam<
Real>(
"time_scale")),
43 _GBmob0(getParam<
Real>(
"GBmob0")),
44 _Q(getParam<
Real>(
"Q")),
45 _GBMobility(getParam<
Real>(
"GBMobility")),
46 _molar_vol(getParam<
Real>(
"molar_volume")),
47 _T(coupledValue(
"T")),
48 _sigma(declareGenericProperty<
Real, is_ad>(
"sigma")),
49 _M_GB(declareGenericProperty<
Real, is_ad>(
"M_GB")),
50 _kappa(declareGenericProperty<
Real, is_ad>(
"kappa_op")),
51 _gamma(declareGenericProperty<
Real, is_ad>(
"gamma_asymm")),
52 _L(declareGenericProperty<
Real, is_ad>(
"L")),
53 _dLdT(parameters.hasDefaultCoupledValue(
"T")
55 : &declarePropertyDerivative<
Real>(
"L", coupledName(
"T", 0))),
56 _l_GB(declareGenericProperty<
Real, is_ad>(
"l_GB")),
57 _mu(declareGenericProperty<
Real, is_ad>(
"mu")),
58 _entropy_diff(declareGenericProperty<
Real, is_ad>(
"entropy_diff")),
59 _molar_volume(declareGenericProperty<
Real, is_ad>(
"molar_volume")),
60 _act_wGB(declareGenericProperty<
Real, is_ad>(
"act_wGB")),
65 mooseError(
"Either a value for GBMobility or for GBmob0 and Q must be provided");
72 const Real length_scale4 = _length_scale * _length_scale * _length_scale * _length_scale;
80 const Real M0 = _GBmob0 * _time_scale / (_JtoeV * length_scale4);
82 _M_GB[_qp] =
M0 * std::exp(-_Q / (_kb * _T[_qp]));
88 _M_GB[_qp] = _GBMobility * _time_scale / (_JtoeV * length_scale4);
95 _L[_qp] = 4.0 / 3.0 * _M_GB[_qp] / _l_GB[_qp];
98 _kappa[_qp] = 3.0 / 4.0 * _sigma[_qp] * _l_GB[_qp];
100 _mu[_qp] = 3.0 / 4.0 * 1.0 / _f0s * _sigma[_qp] / _l_GB[_qp];
103 _entropy_diff[_qp] = 8.0e3 * _JtoeV;
106 _molar_volume[_qp] = _molar_vol / (_length_scale * _length_scale * _length_scale);
107 _act_wGB[_qp] = 0.5e-9 / _length_scale;
GBEvolutionBaseTempl(const InputParameters ¶meters)
static InputParameters validParams()
static InputParameters validParams()
virtual void computeQpProperties()
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void mooseError(Args &&... args) const