16 params.addRequiredCoupledVar(
"cs",
"Array of sublattice concentrations phase for all phases");
17 params.addCoupledVar(
"eta",
"Order parameters for all phases");
18 params.addRequiredParam<std::vector<unsigned int>>(
"ns",
"Number of sublattices in each phase");
19 params.addRequiredParam<std::vector<Real>>(
"as",
"Sublattice site fractions n all phases");
20 params.addRequiredParam<std::vector<MaterialPropertyName>>(
21 "h_names",
"Switching Function Materials for all phases");
28 _ncs(coupledComponents(
"cs")),
30 _cs_map(getParameterJvarMap(
"cs")),
31 _ns(getParam<
std::vector<unsigned
int>>(
"ns")),
32 _neta(coupledComponents(
"eta")),
34 _eta_map(getParameterJvarMap(
"eta")),
35 _a_cs(getParam<
std::vector<
Real>>(
"as")),
36 _h_names(getParam<
std::vector<MaterialPropertyName>>(
"h_names")),
39 _c(coupledValue(
"c")),
45 "Need to pass in as many switching functions (parameter `h_names`) as size of " 46 "number of sublattices in each phase (parameter `ns`)");
49 unsigned int nssum = 0;
53 paramError(
"ns",
"All sublattice counts must be larger than zero");
58 paramError(
"ns",
"Numbers need to sum up to the number of passed in cs variables");
60 paramError(
"cs",
"Need to supply at least 1 phase sublattice concentration");
63 for (std::size_t i = 0; i <
_neta; ++i)
67 for (std::size_t i = 0; i <
_ncs; ++i)
68 _cs[i] = &coupledValue(
"cs", i);
72 for (std::size_t i = 0; i <
_nh; ++i)
76 for (
unsigned int j = 1;
j <
_ns[i]; ++
j)
79 paramError(
"as",
"Sum of sublattice site counts in each phase must be larger than zero");
82 for (
unsigned int j = 0;
j <
_ns[i]; ++
j)
const std::size_t _neta
Order parameters for each phase .
static InputParameters validParams()
void mooseError(Args &&... args)
const std::size_t _ncs
Sublattice concentrations.
std::vector< VariableName > _eta_names
std::vector< const VariableValue * > _cs
std::vector< Real > _a_cs
Sublattice site numbers.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
std::vector< unsigned int > _phase
phase index of each cs entry
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")
SLKKSMultiPhaseBase(const InputParameters ¶meters)
static InputParameters validParams()
std::vector< unsigned int > _ns
Number of sublattices per phase.
static const std::string k
void ErrorVector unsigned int