Enumerations | Functions
amr Namespace Reference

Items for adaptive mesh refinement. More...

Enumerations

enum  Flag {
  Flag::Undefined, Flag::Join, Flag::DecreaseResolution, Flag::DoNothing,
  Flag::IncreaseResolution, Flag::Split
}
 Flags that represent decisions about mesh refinement. More...
 

Functions

std::ostreamoperator<< (std::ostream &os, const Flag &flag)
 Output operator for a Flag.
 
template<size_t VolumeDim>
std::array< size_t, VolumeDim > desired_refinement_levels (const ElementId< VolumeDim > &id, const std::array< amr::Flag, VolumeDim > &flags) noexcept
 Computes the desired refinement level of the Element with ElementId id given the desired amr::Flags flags
 
template<size_t VolumeDim>
std::array< size_t, VolumeDim > desired_refinement_levels_of_neighbor (const ElementId< VolumeDim > &neighbor_id, const std::array< amr::Flag, VolumeDim > &neighbor_flags, const OrientationMap< VolumeDim > &orientation) noexcept
 Computes the desired refinement level of a neighboring Element with ElementId neighbor_id given its desired amr::Flags neighbor_flags taking into account the OrientationMap orientation of the neighbor. More...
 
template<size_t VolumeDim>
bool has_potential_sibling (const ElementId< VolumeDim > &element_id, const Direction< VolumeDim > &direction) noexcept
 Whether or not the Element with element_id can have a sibling in the given direction
 
template<size_t VolumeDim>
bool update_amr_decision (gsl::not_null< std::array< amr::Flag, VolumeDim > * > my_current_amr_flags, const Element< VolumeDim > &element, const ElementId< VolumeDim > &neighbor_id, const std::array< amr::Flag, VolumeDim > &neighbor_amr_flags) noexcept
 Updates the AMR decisions my_current_amr_flags of the Element element based on the AMR decisions neighbor_amr_flags of a neighbor Element with ElementId neighbor_id. More...
 

Detailed Description

Items for adaptive mesh refinement.