20 #ifndef LIBMESH_MESH_REFINEMENT_H 21 #define LIBMESH_MESH_REFINEMENT_H 27 #ifdef LIBMESH_ENABLE_AMR 46 class PeriodicBoundaries;
48 class PointLocatorBase;
482 #ifdef LIBMESH_ENABLE_DEPRECATED 492 #ifdef LIBMESH_ENABLE_DEPRECATED 692 Real & parent_error_min,
693 Real & parent_error_max);
724 const unsigned int side);
732 const Elem * neighbor);
858 unsigned max_mismatch);
860 #ifdef LIBMESH_ENABLE_PERIODIC 937 #ifdef LIBMESH_ENABLE_DEPRECATED 940 libmesh_deprecated();
946 libmesh_deprecated();
960 #endif // end #ifdef LIBMESH_ENABLE_AMR 961 #endif // LIBMESH_MESH_REFINEMENT_H bool limit_level_mismatch_at_edge(const unsigned int max_mismatch)
bool & enforce_mismatch_limit_prior_to_refinement()
void uniformly_p_refine(unsigned int n=1)
Enables topology-based lookups of nodes.
A geometric point in (x,y,z) space associated with a DOF.
unsigned int _max_h_level
const unsigned int invalid_uint
bool limit_level_mismatch_at_node(const unsigned int max_mismatch)
void flag_elements_by_error_tolerance(const ErrorVector &error_per_cell)
TopologyMap _new_nodes_map
bool limit_underrefined_boundary(const signed char max_mismatch)
virtual ~ElementFlagging()
Real & absolute_global_tolerance()
Maps between boundary ids and PeriodicBoundaryBase objects.
bool flag_elements_by_nelem_target(const ErrorVector &error_per_cell)
The base class for all geometric element types.
Real & coarsen_fraction()
uint8_t processor_id_type
void uniformly_p_coarsen(unsigned int n=1)
unsigned char & edge_level_mismatch_limit()
bool limit_overrefined_boundary(const signed char max_mismatch)
MeshRefinement & operator=(const MeshRefinement &)
void clean_refinement_flags()
void create_parent_error_vector(const ErrorVector &error_per_cell, ErrorVector &error_per_parent, Real &parent_error_min, Real &parent_error_max)
PeriodicBoundaries * _periodic_boundaries
unsigned int & max_h_level()
bool & coarsen_by_parents()
signed char _underrefined_boundary_limit
bool make_refinement_compatible()
dof_id_type & nelem_target()
signed char & underrefined_boundary_limit()
void switch_h_to_p_refinement()
void flag_elements_by_mean_stddev(const ErrorVector &error_per_cell, const Real refine_fraction=1.0, const Real coarsen_fraction=0.0, const unsigned int max_level=libMesh::invalid_uint)
unsigned char & node_level_mismatch_limit()
bool test_level_one(bool libmesh_assert_yes=false)
Responsible for mesh refinement algorithms and data.
unsigned char _face_level_mismatch_limit
bool _use_member_parameters
void uniformly_coarsen(unsigned int n=1)
Real & coarsen_threshold()
void set_enforce_mismatch_limit_prior_to_refinement(bool enforce)
bool make_flags_parallel_consistent()
signed char _overrefined_boundary_limit
bool make_coarsening_compatible()
void flag_elements_by(ElementFlagging &element_flagging)
bool _enforce_mismatch_limit_prior_to_refinement
unsigned char & face_level_mismatch_limit()
An object whose state is distributed along a set of processors.
const MeshBase & get_mesh() const
bool has_topological_neighbor(const Elem *elem, const PointLocatorBase *point_locator, const Elem *neighbor)
void flag_elements_by_elem_fraction(const ErrorVector &error_per_cell, const Real refine_fraction=0.3, const Real coarsen_fraction=0.0, const unsigned int max_level=libMesh::invalid_uint)
MeshRefinement(MeshBase &mesh)
Node * add_node(Elem &parent, unsigned int child, unsigned int node, processor_id_type proc_id)
unsigned char _node_level_mismatch_limit
bool test_unflagged(bool libmesh_assert_yes=false)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Elem * add_elem(Elem *elem)
signed char & overrefined_boundary_limit()
bool refine_and_coarsen_elements()
void flag_elements_by_error_fraction(const ErrorVector &error_per_cell, const Real refine_fraction=0.3, const Real coarsen_fraction=0.0, const unsigned int max_level=libMesh::invalid_uint)
void _smooth_flags(bool refining, bool coarsening)
void add_p_to_h_refinement()
bool get_enforce_mismatch_limit_prior_to_refinement()
unsigned char _edge_level_mismatch_limit
bool eliminate_unrefined_patches()
dof_id_type _nelem_target
void set_periodic_boundaries_ptr(PeriodicBoundaries *pb_ptr)
Elem * topological_neighbor(Elem *elem, const PointLocatorBase *point_locator, const unsigned int side)
Real _absolute_global_tolerance
void uniformly_refine(unsigned int n=1)
virtual void flag_elements()=0