14 #include "libmesh/string_to_enum.h" 24 params.
addParam<std::string>(
"auxvariable_name_base",
"RGB",
"Base name of the auxvariables");
25 params.
addClassDescription(
"Set up auxvariables and auxkernels to output Euler angles as RGB " 26 "values interpolated across inverse pole figure");
27 params.
addParam<
unsigned int>(
"phase",
"The phase to use for all queries.");
31 "cubic=43 hexagonal=62 tetragonal=42 trigonal=32 orthorhombic=22 monoclinic=2 triclinic=1");
33 "crystal_structure", structure_enum,
"Crystal structure of the material");
35 "Name of Euler angle provider user object");
37 "The GrainTracker UserObject to get values from.");
41 "RGB value of color used to represent area with no grains, defaults to black");
42 params.
addParam<std::vector<SubdomainName>>(
43 "block", {},
"Block restriction for the variables and kernels");
48 :
Action(params), _var_name_base(getParam<
std::string>(
"auxvariable_name_base"))
56 std::vector<std::string> suffixes = {
"_x",
"_y",
"_z"};
59 std::vector<std::string> colors = {
"red",
"green",
"blue"};
61 for (
unsigned int i = 0; i < 3; ++i)
71 _problem->addAuxVariable(
"MooseVariableConstMonomial", var_name, var_params);
77 params.
set<AuxVariableName>(
"variable") = var_name;
79 params.
set<
MooseEnum>(
"crystal_structure") = getParam<MooseEnum>(
"crystal_structure");
81 params.
set<UserObjectName>(
"euler_angle_provider") =
82 getParam<UserObjectName>(
"euler_angle_provider");
83 params.
set<UserObjectName>(
"grain_tracker") = getParam<UserObjectName>(
"grain_tracker");
85 params.
set<Point>(
"no_grain_color") = getParam<Point>(
"no_grain_color");
87 params.
set<
unsigned int>(
"phase") = getParam<unsigned int>(
"phase");
88 _problem->addAuxKernel(
"EulerAngleProvider2RGBAux", var_name, params);
91 mooseError(
"Internal error in EulerAngle2RGBAction.");
const std::string _var_name_base
static InputParameters validParams()
InputParameters getValidParams(const std::string &name) const
const ExecFlagType EXEC_TIMESTEP_END
EulerAngle2RGBAction(const InputParameters ¶ms)
bool isParamValid(const std::string &name) const
static InputParameters validParams()
const std::string & _current_task
void mooseError(Args &&... args) const
const InputParameters & _pars
Automatically generates all variables, Kernels, and Materials to ensure the correct derivatives of th...
std::shared_ptr< FEProblemBase > & _problem
registerMooseAction("PhaseFieldApp", EulerAngle2RGBAction, "add_aux_kernel")
const ExecFlagType EXEC_INITIAL