20 "Computes the KKS phase concentration derivatives wrt global concentrations and order " 21 "parameters, which are used for the chain rule in the KKS kernels. This class is intended to " 22 "be used with KKSPhaseConcentrationMultiPhaseMaterial.");
27 "Phase concentrations. They must have the same order as Fj_names and global_cs, for " 28 "example, c1, c2, b1, b2.");
30 "Fj_names",
"Free energy material objects in the same order as all_etas.");
32 "hj_names",
"witching functions in the same order as all_etas.");
39 _num_c(coupledComponents(
"global_cs")),
40 _c_names(coupledNames(
"global_cs")),
41 _eta_names(coupledNames(
"all_etas")),
42 _num_j(coupledComponents(
"all_etas")),
43 _prop_ci(_num_c * _num_j),
44 _ci_names(getParam<
std::vector<MaterialPropertyName>>(
"ci_names")),
47 _Fj_names(getParam<
std::vector<MaterialName>>(
"Fj_names")),
49 _hj_names(getParam<
std::vector<MaterialPropertyName>>(
"hj_names")),
92 _d2Fidcidbi[m][n][l] = &getMaterialPropertyDerivative<Real>(
151 x_c[m] +=
A(m, n) * k_c[n];
184 x_eta[m] +=
A(m, n) * k_eta[n];
virtual void computeQpProperties() override
std::vector< MaterialName > _Fj_names
Free energy names.
std::vector< std::vector< std::vector< MaterialProperty< Real > * > > > _dcidb
Derivative of phase concentrations wrt global concentrations .
std::vector< std::vector< std::vector< MaterialProperty< Real > * > > > _dcidetaj
Derivative of phase concentrations wrt etaj .
InputParameters validParams()
KKSPhaseConcentrationMultiPhaseDerivatives(const InputParameters ¶meters)
std::vector< std::vector< const MaterialProperty< Real > * > > _dhjdetai
Derivatives of switching functions.
const unsigned int _num_c
Number of global concentrations.
std::vector< const MaterialProperty< Real > * > _prop_ci
Phase concentrations.
std::vector< std::vector< std::vector< const MaterialProperty< Real > * > > > _d2Fidcidbi
Second derivative of phase concentrations wrt two phase concentrations .
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const std::vector< VariableName > _c_names
Names of global concentrations.
registerMooseObject("PhaseFieldApp", KKSPhaseConcentrationMultiPhaseDerivatives)
std::vector< const MaterialProperty< Real > * > _prop_hj
IntRange< T > make_range(T beg, T end)
std::vector< MaterialPropertyName > _ci_names
std::vector< MaterialPropertyName > _hj_names
Switching functions.
static InputParameters validParams()
const unsigned int _num_j
Number of phase parameters.
const std::vector< VariableName > _eta_names
Phase parameters.