18 "The value above (or below) which to change the element subdomain");
21 "Criterion to use for the threshold");
23 "The subdomain ID of the element when the criterion is met");
25 "complement_subdomain_id",
26 "The subdomain ID of the element when the criterion is not met. If not provided, the element " 27 "subdomain ID will not be modified if the criterion is not met.");
34 _threshold(getParam<
Real>(
"threshold")),
36 _subdomain_id(getParam<
SubdomainID>(
"subdomain_id")),
37 _complement_subdomain_id(isParamValid(
"complement_subdomain_id")
48 bool criterion_met =
false;
CriterionType
Criterion type.
bool absoluteFuzzyEqual(const T &var1, const T2 &var2, const T3 &tol=libMesh::TOLERANCE *libMesh::TOLERANCE)
Function to check whether two variables are equal within an absolute tolerance.
static InputParameters validParams()
const SubdomainID _subdomain_id
Target subdomain ID.
virtual SubdomainID computeSubdomainID() override
Compute the subdomain ID of the current element.
enum ThresholdElementSubdomainModifier::CriterionType _criterion_type
static InputParameters validParams()
const SubdomainID INVALID_BLOCK_ID
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
ThresholdElementSubdomainModifier(const InputParameters ¶meters)
virtual Real computeValue()=0
Compute the value used in the criterion.
const SubdomainID _complement_subdomain_id
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const Real _threshold
Threshold to modify the element subdomain ID.
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...