13 #include "libmesh/quadrature.h" 22 "governing equations. Uses a tensor diffusivity");
24 "The interfacial width in the lengthscale of the problem");
25 params.
addParam<MaterialPropertyName>(
"chi",
"Coefficient to multiply by D");
26 params.
addParam<
Real>(
"GBmob0", 0.0,
"Grain boundary mobility prefactor");
29 "GBMobility", -1,
"GB mobility input that overrides the temperature dependent calculation");
30 params.
addParam<std::string>(
"f_name",
"chiD",
"Name for the mobility material property");
31 params.
addRequiredParam<MaterialPropertyName>(
"surface_energy",
"Surface energy of material");
32 params.
addParam<std::string>(
"solid_mobility",
"L",
"Name of grain mobility for solid phase");
33 params.
addParam<std::string>(
"void_mobility",
"Lv",
"Name of void phase mobility");
39 _chiD_name(getParam<
std::string>(
"f_name")),
41 _dchiDdc(isCoupledConstant(_c_name)
44 _dchiDdgradc(isCoupledConstant(_c_name)
47 _Ls_name(getParam<
std::string>(
"solid_mobility")),
48 _Ls(declareProperty<
Real>(_Ls_name)),
49 _Lv_name(getParam<
std::string>(
"void_mobility")),
50 _Lv(declareProperty<
Real>(_Lv_name)),
51 _chiDmag(declareProperty<
Real>(_chiD_name +
"_mag")),
52 _sigma_s(getMaterialProperty<
Real>(
"surface_energy")),
53 _int_width(getParam<
Real>(
"int_width")),
54 _chi_name(getParam<MaterialPropertyName>(
"chi")),
55 _chi(getMaterialProperty<
Real>(_chi_name)),
56 _dchidc(getMaterialPropertyDerivative<
Real>(_chi_name, _c_name)),
59 _GBMobility(getParam<
Real>(
"GBMobility")),
60 _GBmob0(getParam<
Real>(
"GBmob0")),
61 _Q(getParam<
Real>(
"Q"))
63 for (
unsigned int i = 0; i <
_op_num; ++i)
83 for (
unsigned int i = 0; i <
_op_num; ++i)
Generates a diffusion tensor to distinguish between the bulk, grain boundary, and surface diffusion r...
const QBase *const & _qrule
virtual bool isCoupledConstant(const std::string &var_name) const
static InputParameters validParams()
MaterialProperty< RankThreeTensor > * _dchiDdgradc
std::vector< MaterialProperty< RealTensorValue > * > _dchiDdeta
const unsigned int _op_num
MaterialProperty< Real > & _Ls
const MaterialProperty< Real > & _dchidc
registerMooseObject("PhaseFieldApp", GrandPotentialTensorMaterial)
MaterialProperty< RealTensorValue > & _D
std::vector< NonlinearVariableName > _vals_name
solid phase order parameters
Real _int_width
interface width
static InputParameters validParams()
TensorValue< Real > RealTensorValue
GrandPotentialTensorMaterial(const InputParameters ¶meters)
MaterialProperty< RealTensorValue > & _chiD
std::vector< MaterialProperty< RealTensorValue > * > _dDdeta
const MaterialPropertyName _chi_name
susceptibility
MaterialProperty< Real > & _Lv
Calculates mobilities for grand potential model.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual void computeProperties()
MaterialProperty< RealTensorValue > * _dchiDdc
virtual void computeProperties() override
std::vector< const MaterialProperty< Real > * > _dchideta
std::string _chiD_name
mobility tensor
const MaterialProperty< Real > & _chi
MaterialProperty< Real > & _chiDmag
magnitude of mobility tensor