21 "Classifies a point as inside, on, or outside a surface defined by the "
22 "zero level set of a signed function.");
25 "Signed level-set function; negative inside by default (see inside_is_negative).");
28 "Half-width, in function value space, of the on-surface band around the "
29 "zero level set. Points within this band are labeled as on the surface.");
33 "Whether negative function values denote the interior. True matches the signed-distance "
34 "convention; set false for a level set that is positive inside.");
40 _func(getFunction(
"function")),
41 _tolerance(getParam<Real>(
"tolerance")),
42 _inside_is_negative(getParam<bool>(
"inside_is_negative"))
45 paramError(
"tolerance",
"must be greater than zero.");
registerMooseObject("MooseApp", PointInSignedFunctionCheckUO)
virtual Real value(Real t, const Point &p) const
Override this to evaluate the scalar function at point (t,x,y,z), by default this returns zero,...
void paramError(const std::string ¶m, Args... args) const
Emits an error prefixed with the file and line number of the given param (from the input file) along ...
Point-containment checker backed by a signed level-set Function: the point is labeled from the sign o...
static InputParameters validParams()
const Function & _func
The signed level-set function (per-thread copy).
PointInSignedFunctionCheckUO(const InputParameters ¶meters)
const bool _inside_is_negative
Whether negative function values denote the interior (SBM convention).
virtual SurfaceGeometry::SurfaceSide sideness(const Point &p) const override
const Real _tolerance
Half-width (in function value space) of the ON band around the zero level set.
An instance of this object type has one copy per thread that runs on each thread.
static InputParameters validParams()
SurfaceSide
The side of a closed surface where a query point is located.
SurfaceSide signedValueSideness(Real phi, Real tolerance, bool inside_is_negative)
Classify a signed level-set value into a SurfaceSide.
static constexpr Real TOLERANCE