19 #include "libmesh/libmesh.h" 20 #include "libmesh/exodusII_io.h" 21 #include "libmesh/equation_systems.h" 22 #include "libmesh/nonlinear_implicit_system.h" 23 #include "libmesh/explicit_system.h" 24 #include "libmesh/string_to_enum.h" 34 params.
addRequiredParam<
unsigned int>(
"op_num",
"number of order parameters to create");
35 params.
addRequiredParam<std::string>(
"var_name_base",
"specifies the base name of the variables");
36 params.
addParam<std::vector<SubdomainName>>(
37 "block", {},
"Block restriction for the initial condition");
44 _var_name_base(getParam<
std::string>(
"var_name_base")),
45 _op_num(getParam<unsigned
int>(
"op_num"))
53 Moose::err <<
"Inside the Tricrystal2CircleGrainsICAction Object" << std::endl;
57 for (
unsigned int op = 0; op <
_op_num; op++)
61 std::stringstream
out;
63 var_name.append(
out.str());
67 poly_params.
set<VariableName>(
"variable") = var_name;
68 poly_params.
set<
unsigned int>(
"op_index") = op;
72 _problem->addInitialCondition(
"Tricrystal2CircleGrainsIC",
static InputParameters validParams()
Tricrystal2CircleGrainsICAction(const InputParameters ¶ms)
InputParameters getValidParams(const std::string &name) const
std::string _var_name_base
static InputParameters validParams()
std::string stringify(const T &t)
registerMooseAction("PhaseFieldApp", Tricrystal2CircleGrainsICAction, "add_ic")
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
std::shared_ptr< FEProblemBase > & _problem
const InputParameters & parameters() const
Automatically generates all variables to model a polycrystal with op_num orderparameters.
void ErrorVector unsigned int
static const Real _abs_zero_tol