SpECTRE
v2024.09.29
|
Base class for something that determines how an adaptive mesh should be changed. More...
#include <Criterion.hpp>
Public Member Functions | |
Criterion (CkMigrateMessage *msg) | |
WRAPPED_PUPable_abstract (Criterion) | |
template<typename ComputeTagsList , typename DataBoxType , typename Metavariables > | |
auto | evaluate (const ObservationBox< ComputeTagsList, DataBoxType > &box, Parallel::GlobalCache< Metavariables > &cache, const ElementId< Metavariables::volume_dim > &element_id) const |
Evaluates the AMR criteria by selecting the appropriate derived class and forwarding its argument_tags from the ObservationBox (along with the GlobalCache and ArrayIndex) to the call operator of the derived class. More... | |
Base class for something that determines how an adaptive mesh should be changed.
Each class derived from this class should (see the examples below):
argument_tags
and compute_tags_for_observation_box
that are type lists of tags used in the call operator. The call operator should take as arguments the values corresponding to each tag in argument_tags
(in order), followed by the Parallel::GlobalCache, and the ElementId. The tags listed in argument_tags
should either be tags in the DataBox of the array component, or listed in compute_tags_for_observation_box
.
|
inline |
Evaluates the AMR criteria by selecting the appropriate derived class and forwarding its argument_tags
from the ObservationBox (along with the GlobalCache and ArrayIndex) to the call operator of the derived class.
compute_tags_for_observation_box
for each derived Criterion listed in the factory_classes
.