13 #include "MooseEnum.h"
23 InputParameters params = validParams<AuxKernel>();
24 params.addClassDescription(
"Feature detection by connectivity analysis");
25 params.addDeprecatedParam<UserObjectName>(
"bubble_object",
26 "The FeatureFloodCount UserObject to get values from.",
27 "Use \"flood_counter\" instead.");
28 params.addRequiredParam<UserObjectName>(
"flood_counter",
29 "The FeatureFloodCount UserObject to get values from.");
30 params.addParam<
unsigned int>(
"map_index",
31 "The index of which map to retrieve values from when "
32 "using FeatureFloodCount with multiple maps.");
33 MooseEnum field_display(
34 "UNIQUE_REGION VARIABLE_COLORING GHOSTED_ENTITIES HALOS CENTROID ACTIVE_BOUNDS",
36 params.addParam<MooseEnum>(
"field_display",
38 "Determines how the auxilary field should be colored. "
39 "(UNIQUE_REGION and VARIABLE_COLORING are nodal, CENTROID is "
40 "elemental, default: UNIQUE_REGION)");
42 params.set<ExecFlagEnum>(
"execute_on") = {EXEC_INITIAL, EXEC_TIMESTEP_END};
48 : AuxKernel(parameters),
50 _var_idx(isParamValid(
"map_index") ? getParam<unsigned int>(
"map_index")
51 : std::numeric_limits<std::size_t>::max()),
52 _field_display(getParam<MooseEnum>(
"field_display")),
53 _var_coloring(_field_display ==
"VARIABLE_COLORING"),
59 mooseError(
"UNIQUE_REGION, VARIABLE_COLORING, GHOSTED_ENTITIES and HALOS must be on variable "
60 "types that match the entity mode of the FeatureFloodCounter");
65 mooseError(
"ACTIVE_BOUNDS is only available for elemental aux variables");
68 mooseError(
"CENTROID is only available for elemental aux variables");
89 var_to_features.begin(), var_to_features.end(), [](
unsigned int feature_id) {
96 mooseError(
"Unimplemented \"field_display\" type");