19 "Free energy contribution symmetric across interfaces between arbitrary pairs of phases.");
28 for (
unsigned int i = 0; i <
_num_eta; ++i)
29 for (
unsigned int j = 0;
j < i; ++
j)
31 paramError(
"W_ij",
"Please supply a symmetric W_ij matrix");
41 for (
unsigned int i = 0; i <
_num_eta; ++i)
51 _prop_g[
_qp] += 16.0 * Wij * (ni * ni * nj * nj);
53 (*
_prop_dg[i])[
_qp] += 16.0 * Wij * (2 * ni * nj * nj);
const std::vector< const VariableValue * > _eta
std::vector< Real > _W_ij
barrier function height matrix
std::vector< std::vector< MaterialProperty< Real > * > > _prop_d2g
unsigned int _num_eta
order parameters
std::vector< MaterialProperty< Real > * > _prop_dg
CrossTermBarrierFunctionMaterial(const InputParameters ¶meters)
virtual void computeQpProperties()
static InputParameters validParams()
registerMooseObject("PhaseFieldApp", CrossTermBarrierFunctionMaterial)
CrossTermBarrierFunctionMaterial adds free energy contribution on the interfaces between arbitrary pa...
void paramError(const std::string ¶m, Args... args) const
MaterialProperty< Real > & _prop_g
Barrier function and its derivatives.
virtual void computeQpProperties()
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void mooseError(Args &&... args) const
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")
unsigned int _g_order
polynomial order of the switching function
static InputParameters validParams()
CrossTermBarrierFunctionBase is the base to a set of free energy penalties that set the phase interfa...