19 params.
addClassDescription(
"Marks the region inside or empty if it contains a reporter defined "
20 "point for refinement or coarsening.");
26 "inside", marker_states,
"How to mark elements containing a point");
28 "empty", marker_states,
"How to mark elements not containing a point");
47 _pl->enable_out_of_mesh_mode();
48 const auto npoints =
_x_coord.size();
50 mooseError(
"The coordinate vectors are a different size. \n",
59 for (std::size_t i = 0; i < npoints; ++i)
62 const auto elem = (*_pl)(pt);
const ReporterMode REPORTER_MODE_REPLICATED
registerMooseObject("MooseApp", ReporterPointMarker)
virtual MooseMesh & mesh() override
static InputParameters validParams()
const Elem *const & _current_elem
Pointer to the current element being considered in the marker element-based loop.
MarkerValue
This mirrors the main refinement flag values in libMesh in Elem::RefinementState but adds "dont_mark"...
static MooseEnum markerStates()
Helper function for getting the valid refinement flag states a marker can use as a MooseEnum.
FEProblemBase & _fe_problem
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type and optionally a file path to the top-level block p...
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
virtual std::unique_ptr< libMesh::PointLocatorBase > getPointLocator() const
Proxy function to get a (sub)PointLocator from either the underlying libMesh mesh (default),...
Interface to allow object to consume Reporter values.
The Reporter system is comprised of objects that can contain any number of data values.
Marks all elements as inside/empty if they do/don't contain a point.
std::unique_ptr< libMesh::PointLocatorBase > _pl
Pointer to PointLocatorBase object.
static InputParameters validParams()
virtual MarkerValue computeElementMarker() override
const std::vector< Real > & _x_coord
x coordinate
std::set< dof_id_type > _point_elems
list of sort uniqued elements containing points
const MarkerValue _empty
marker for elements not containing points
virtual void markerSetup() override
Is called before any element looping is started so any "global" computation can be done.
const MarkerValue _inside
marker value to give elements containing a point
const std::vector< Real > & _y_coord
y coordinate
ReporterPointMarker(const InputParameters ¶meters)
const std::vector< Real > & _z_coord
z coordinate