21 params.
addClassDescription(
"Sets random polycrystal initial conditions for each order parameter");
22 params.
addRequiredParam<
unsigned int>(
"op_num",
"number of order parameters to create");
23 params.
addRequiredParam<std::string>(
"var_name_base",
"specifies the base name of the variables");
24 MooseEnum typ_options(
"continuous discrete");
27 "The type of random polycrystal initial condition. Whether " 28 "one order parameter is chosen to be 1 at each node or if " 29 "each other parameter continuously varies from 0 to 1");
30 params.
addParam<std::vector<SubdomainName>>(
31 "block", {},
"Block restriction for the initial condition");
38 _op_num(getParam<unsigned
int>(
"op_num")),
39 _var_name_base(getParam<
std::string>(
"var_name_base")),
40 _random_type(getParam<
MooseEnum>(
"random_type"))
48 Moose::err <<
"Inside the PolycrystalRandomICAction Object" << std::endl;
52 for (
unsigned int op = 0; op <
_op_num; op++)
57 poly_params.
set<
unsigned int>(
"op_index") = op;
62 _problem->addInitialCondition(
"PolycrystalRandomIC",
static InputParameters validParams()
InputParameters getValidParams(const std::string &name) const
PolycrystalRandomICAction(const InputParameters ¶ms)
Automatically generates all variables to model a polycrystal with op_num orderparameters.
registerMooseAction("PhaseFieldApp", PolycrystalRandomICAction, "add_ic")
static InputParameters validParams()
const std::string _var_name_base
std::string stringify(const T &t)
const MooseEnum _random_type
std::shared_ptr< FEProblemBase > & _problem
const InputParameters & parameters() const
const unsigned int _op_num
void ErrorVector unsigned int