18 params.
addClassDescription(
"Total free energy (both the bulk and gradient parts), where the bulk "
19 "free energy has been defined in a material");
20 params.
addParam<MaterialPropertyName>(
"f_name",
"F",
" Base name of the free energy function");
21 params.
addParam<std::vector<MaterialPropertyName>>(
"kappa_names",
22 std::vector<MaterialPropertyName>(),
23 "Vector of kappa names corresponding to "
24 "each variable name in interfacial_vars "
25 "in the same order.");
30 :
TotalFreeEnergyBase(parameters), _F(getMaterialProperty<Real>(
"f_name")), _kappas(_nkappas)
35 "Size of interfacial_vars is not equal to the size of kappa_names in TotalFreeEnergy");
38 for (
unsigned int i = 0; i <
_nkappas; ++i)
49 for (
unsigned int i = 0; i <
_nvars; ++i)
registerMooseObject("PhaseFieldApp", TotalFreeEnergy)
void mooseError(Args &&... args) const
Total free energy (both the bulk and gradient parts), where the bulk free energy has been defined in ...
const std::vector< const VariableGradient * > _grad_vars
std::vector< MaterialPropertyName > _kappa_names
Gradient free energy prefactor kappa.
const VariableValue & _additional_free_energy
Additional free energy contribution.
static InputParameters validParams()
unsigned int _nvars
Coupled interface variables.
Total free energy (both the bulk and gradient parts), where the bulk free energy has been defined in ...
const MaterialProperty< Real > & _F
Bulk free energy material property.
static InputParameters validParams()
std::vector< const MaterialProperty< Real > * > _kappas
Gradient interface free energy coefficients.
TotalFreeEnergy(const InputParameters ¶meters)
virtual Real computeValue()