19 params.
addRequiredParam<
Real>(
"activate_value",
"The value above which to activate the element");
22 "The variable value will be used to decide wether an element whould be activated.");
24 MooseEnum(getActivateTypeOptions(),
"above"),
25 "Activate element when below or above the activate_value");
31 _coupled_var(coupledValue(
"coupled_var")),
33 declareRestartableData<
Real>(
"activate_value", getParam<
Real>(
"activate_value"))),
34 _activate_type(getParam<
MooseEnum>(
"activate_type").getEnum<ActivateType>())
41 bool is_activated =
false;
44 for (
unsigned int qp = 0; qp <
_qrule->n_points(); ++qp)
46 avg_val /=
_qrule->n_points();
48 switch (_activate_type)
50 case ActivateType::BELOW:
54 case ActivateType::EQUAL:
55 is_activated = MooseUtils::absoluteFuzzyEqual(avg_val -
_activate_value, 0.0);
58 case ActivateType::ABOVE:
static InputParameters validParams()
const VariableValue & _coupled_var
variable value to decide wether an element whould be activated
ActivateElementsCoupled(const InputParameters ¶meters)
registerMooseObject("MooseApp", ActivateElementsCoupled)
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
static InputParameters validParams()
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const QBase *const & _qrule
virtual bool isElementActivated() override
const Real _activate_value
variable value to decide wether an element whould be activated