SpECTRE
v2022.05.05
|
Items for adaptive mesh refinement. More...
Enumerations | |
enum class | Flag { Flag::Undefined , Flag::Join , Flag::DecreaseResolution , Flag::DoNothing , Flag::IncreaseResolution , Flag::Split } |
Flags that represent decisions about mesh refinement. More... | |
Functions | |
std::ostream & | operator<< (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) |
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) |
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) |
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) |
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... | |
Items for adaptive mesh refinement.