19 "KKS model kernel for the split Bulk Cahn-Hilliard term. This kernel operates on the " 20 "physical concentration 'c' as the non-linear variable.");
21 params.
addCoupledVar(
"all_etas",
"Phase parameters for all phases.");
23 params.
addCoupledVar(
"w",
"Chemical potential non-linear helper variable for the split solve.");
24 params.
addParam<std::vector<MaterialPropertyName>>(
26 "Phase concentrations in the frist phase of all_etas. The order must match global_cs, for " 27 "example, c1, b1, etc.");
28 params.
addParam<MaterialPropertyName>(
"F1_name",
"Free energy of the first phase in all_etas.");
34 _eta_names(coupledNames(
"all_etas")),
35 _num_j(_eta_names.size()),
36 _eta_map(getParameterJvarMap(
"all_etas")),
37 _c_names(coupledNames(
"global_cs")),
38 _num_c(coupledComponents(
"global_cs")),
39 _c_map(getParameterJvarMap(
"global_cs")),
42 _w(coupledValue(
"w")),
43 _c1_names(getParam<
std::vector<MaterialPropertyName>>(
"c1_names")),
44 _F1_name(getParam<MaterialPropertyName>(
"F1_name")),
virtual unsigned int coupled(const std::string &var_name, unsigned int comp=0) const
unsigned int number() const
std::vector< std::vector< const MaterialProperty< Real > * > > _dc1detaj
Derivative of the phase concentrations wrt phase parameter .
const std::vector< VariableName > _c_names
Global concentrations.
std::vector< const MaterialProperty< Real > * > _dF1dc1
Derivative of the free energy function .
virtual Real computeQpResidual() override
const VariableTestValue & _test
static InputParameters validParams()
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override
const MaterialPropertyName _F1_name
Free energy.
unsigned int mapJvarToCvar(unsigned int jvar)
const std::vector< VariableName > _eta_names
Phase parameters.
registerMooseObject("PhaseFieldApp", NestedKKSMultiSplitCHCRes)
std::vector< const MaterialProperty< Real > * > _d2F1dc1darg
Second derivative of the free energy function wrt phase concentration and a coupled variable...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const unsigned int _num_c
Number of global concentrations.
std::vector< const MaterialProperty< Real > * > _d2F1dc1db1
Second derivative of the free energy function .
IntRange< T > make_range(T beg, T end)
const std::vector< MaterialPropertyName > _c1_names
Phase concentration of the first phase in _eta_names.
virtual Real computeQpJacobian() override
NestedKKSMultiSplitCHCRes(const InputParameters ¶meters)
std::vector< std::vector< const MaterialProperty< Real > * > > _dc1db
Derivative of the phase concentrations wrt global concentrations .
const unsigned int _n_args
static InputParameters validParams()
const VariablePhiValue & _phi
const unsigned int _w_var
Chemical potential.
const unsigned int _num_j
Number of phase parameters.
In the KKS split form for the term .