21 "Coupled function to evaluate with values from v");
23 "chemical_potential_functions",
"Coupled function to evaluate with values from v");
25 "List of up to four coupled variables that are substituted for x,y,z, and t " 26 "in the coupled function");
27 params.
set<
unsigned int>(
"derivative_order") = 2;
33 _free_energy_function(
34 isParamValid(
"free_energy_function") ? &getFunction(
"free_energy_function") : nullptr),
35 _chemical_potential_names(getParam<
std::vector<FunctionName>>(
"chemical_potential_functions")),
36 _chemical_potential_functions(_nargs)
40 "chemical_potential_functions",
41 "Exactly one chemical potential function must be supplied for each coupled variable");
44 for (
unsigned int i = 0; i <
_nargs; ++i)
53 "The undifferentiated free energy property is requested in the simulation, but no " 54 "function is provided");
65 for (
unsigned int i = 0; i < 3 && i <
_nargs; ++i)
74 for (
unsigned int i = 0; i <
_nargs; ++i)
82 for (
unsigned int j = i;
j < 3 &&
j <
_nargs; ++
j)
const QBase *const & _qrule
const std::vector< FunctionName > _chemical_potential_names
const Function * _free_energy_function
void initialSetup() override
std::vector< std::vector< GenericMaterialProperty< Real, is_ad > *> > _prop_d2F
std::vector< const Function * > _chemical_potential_functions
CoupledValueFunctionFreeEnergy(const InputParameters ¶meters)
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)
Compute free energy and chemical potentials from user supplied MooseFunctions.
void paramError(const std::string ¶m, Args... args) const
std::string grad(const std::string &var)
static InputParameters validParams()
registerMooseObject("PhaseFieldApp", CoupledValueFunctionFreeEnergy)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const Function & getFunctionByName(const FunctionName &name) const
GenericMaterialProperty< Real, is_ad > * _prop_F
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")
void computeProperties() override
virtual Real value(Real t, const Point &p) const
std::vector< const GenericVariableValue< is_ad > *> _args
std::vector< GenericMaterialProperty< Real, is_ad > *> _prop_dF
static InputParameters validParams()