Evaluates the refinement criteria in order to set the amr::domain::Flags of an Element and sends this information to the neighbors of the Element.
More...
#include <EvaluateRefinementCriteria.hpp>
|
template<typename ParallelComponent , typename DbTagList , typename Metavariables , typename ArrayIndex > |
static void | apply (db::DataBox< DbTagList > &box, Parallel::GlobalCache< Metavariables > &cache, const ArrayIndex &array_index) |
|
Evaluates the refinement criteria in order to set the amr::domain::Flags of an Element and sends this information to the neighbors of the Element.
DataBox:
- Uses:
- domain::Tags::Element<volume_dim>
- amr::domain::Tags::NeighborFlags<volume_dim>
- amr::Criteria::Tags::Criteria (from GlobalCache)
- any tags requested by the refinement criteria
- Modifies:
- amr::domain::Tags::Flags<volume_dim>
Invokes:
Details
- Evaluates each refinement criteria held by amr::Criteria::Tags::Criteria, and in each dimension selects the amr::domain::Flag with the highest priority (i.e the highest integral value).
- Checks if any neighbors have sent their AMR decision, and if so, calls amr:domain::update_amr_decision with the decision of each neighbor in order to see if the current decision needs to be updated
- Sends the (possibly updated) decision to all of the neighboring Elements
The documentation for this struct was generated from the following file:
- src/ParallelAlgorithms/Amr/Actions/EvaluateRefinementCriteria.hpp