Go to the documentation of this file.
19 params.addClassDescription(
"Free energy contribution from the cross terms in ACMultiInterface");
20 params.addRequiredParam<std::vector<MaterialPropertyName>>(
22 "Matrix of kappa names with rows and columns corresponding to each variable "
23 "name in interfacial_vars in the same order (should be symmetric).");
32 paramError(
"kappa_names",
33 "Size of interfacial_vars squared is not equal to the size of kappa_names in "
34 "CrossTermGradientFreeEnergy");
37 for (
unsigned int i = 0; i <
_nvars; ++i)
41 for (
unsigned int j = 0; j <
_nvars; ++j)
55 for (
unsigned int i = 0; i <
_nvars; ++i)
56 for (
unsigned int j = 0; j < i; ++j)
Total free energy (both the bulk and gradient parts), where the bulk free energy has been defined in ...
registerMooseObject("PhaseFieldApp", CrossTermGradientFreeEnergy)
std::vector< const VariableValue * > _vars
VectorValue< Real > RealGradient
std::vector< MaterialPropertyName > _kappa_names
Gradient free energy prefactor kappa.
std::vector< const VariableGradient * > _grad_vars
CrossTermGradientFreeEnergy(const InputParameters ¶meters)
std::vector< std::vector< const MaterialProperty< Real > * > > _kappas
Cross term gradient free energy contribution used by ACMultiInterface.
InputParameters validParams< CrossTermGradientFreeEnergy >()
virtual Real computeValue()
const VariableValue & _additional_free_energy
Additional free energy contribution.
InputParameters validParams< TotalFreeEnergyBase >()
unsigned int _nvars
Coupled interface variables.
const std::string total_energy