22 params.
addRequiredParam<std::string>(
"var_name_base",
"specifies the base name of the variables");
23 params.
addRequiredParam<
unsigned int>(
"op_num",
"Number of grains, should be 2");
27 params.
addParam<
Real>(
"z", 0.0,
"The z coordinate of the circle grain center");
29 "int_width", 0.0,
"The interfacial width of the void surface. Defaults to sharp interface");
31 "3D_sphere",
true,
"in 3D, whether the smaller grain is a spheres or columnar grain");
32 params.
addParam<std::vector<SubdomainName>>(
"block",
33 "Block restriction for the initial condition");
40 _var_name_base(getParam<
std::string>(
"var_name_base")),
41 _op_num(getParam<unsigned
int>(
"op_num")),
42 _radius(getParam<
Real>(
"radius")),
43 _x(getParam<
Real>(
"x")),
44 _y(getParam<
Real>(
"y")),
45 _z(getParam<
Real>(
"z")),
46 _int_width(getParam<
Real>(
"int_width")),
47 _3D_sphere(getParam<bool>(
"3D_sphere"))
50 paramError(
"op_num",
"op_num must equal 2 for bicrystal ICs");
57 for (
unsigned int op = 0; op <
_op_num; op++)
64 poly_params.
set<VariableName>(
"variable") = var_name;
74 poly_params.
set<
Real>(
"invalue") = 1.0;
75 poly_params.
set<
Real>(
"outvalue") = 0.0;
80 poly_params.
set<
Real>(
"invalue") = 0.0;
81 poly_params.
set<
Real>(
"outvalue") = 1.0;
87 "SmoothCircleIC",
"BicrystalCircleGrainIC_" +
Moose::stringify(op), poly_params);
const std::string _var_name_base
InputParameters getValidParams(const std::string &name) const
registerMooseAction("PhaseFieldApp", BicrystalCircleGrainICAction, "add_ic")
static InputParameters validParams()
static InputParameters validParams()
void paramError(const std::string ¶m, Args... args) const
std::string stringify(const T &t)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const InputParameters & _pars
std::shared_ptr< FEProblemBase > & _problem
BicrystalCircleGrainICAction(const InputParameters ¶ms)
Bicrystal with a circular grain and an embedding outer grain.
void ErrorVector unsigned int
const unsigned int _op_num