12 #include "libmesh/error_vector.h" 22 "coarsen>=0 & coarsen<=1",
23 "Elements within this percentage of the min error " 24 "will be coarsened. Must be between 0 and 1!");
27 "refine>=0 & refine<=1",
28 "Elements within this percentage of the max error will " 29 "be refined. Must be between 0 and 1!");
31 params.
addParam<
bool>(
"clear_extremes",
33 "Whether or not to clear the extremes during each error calculation. " 34 " Changing this to `false` will result in the global extremes ever " 35 "encountered during the run to be used as the min and max error.");
37 params.
addClassDescription(
"Marks elements for refinement or coarsening based on the fraction of " 38 "the min/max error from the supplied indicator.");
44 _coarsen(parameters.
get<
Real>(
"coarsen")),
45 _refine(parameters.
get<
Real>(
"refine")),
46 _clear_extremes(parameters.
get<bool>(
"clear_extremes")),
virtual MarkerValue computeElementMarker() override
static InputParameters validParams()
T * get(const std::unique_ptr< T > &u)
The MooseUtils::get() specializations are used to support making forwards-compatible code changes fro...
ErrorFractionMarker(const InputParameters ¶meters)
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"...
auto max(const L &left, const R &right)
registerMooseObject("MooseApp", ErrorFractionMarker)
virtual void markerSetup() override
Is called before any element looping is started so any "global" computation can be done...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
ErrorVector & _error_vector
static InputParameters validParams()
auto min(const L &left, const R &right)