SpECTRE  v2025.08.19
ah::Criterion Class Referenceabstract

Base class for criteria that determine how the resolution of an apparent horizon should be changed. More...

#include <Criterion.hpp>

Public Member Functions

 Criterion (CkMigrateMessage *msg)
 
 WRAPPED_PUPable_abstract (Criterion)
 
virtual std::string observation_name ()=0
 
virtual bool is_equal (const Criterion &other) const =0
 
template<typename ComputeTagsList , typename DataBoxType , typename Metavariables , typename Frame >
auto evaluate (const ObservationBox< ComputeTagsList, DataBoxType > &box, Parallel::GlobalCache< Metavariables > &cache, const ylm::Strahlkorper< Frame > &strahlkorper, const FastFlow::IterInfo &info) const
 Evaluates the apparent horizon criteria by selecting the appropriate derived class and forwarding its argument_tags from the ObservationBox (along with the GlobalCache) to the call operator of the derived class. More...
 

Detailed Description

Base class for criteria that determine how the resolution of an apparent horizon should be changed.

Details

Each class derived from this class should

  • Be option-creatable
  • Be serializable
  • Define the type aliases argument_tags and compute_tags_for_observation_box that are type lists of tags used in the call operator
  • Define a call operator that returns a size_t that is the recommended resolution \(L\) for the Strahlkorper representing the apparent horizon

The call operator should take the following arguments, in order:

  • An argument for each tag in argument_tags
  • The Parallel::GlobalCache
  • The Strahlkorper representing the apparent horizon
  • A FastFlow::IterInfo corresponding to the horizon find that found the Strahlkorper

Member Function Documentation

◆ evaluate()

template<typename ComputeTagsList , typename DataBoxType , typename Metavariables , typename Frame >
auto ah::Criterion::evaluate ( const ObservationBox< ComputeTagsList, DataBoxType > &  box,
Parallel::GlobalCache< Metavariables > &  cache,
const ylm::Strahlkorper< Frame > &  strahlkorper,
const FastFlow::IterInfo info 
) const
inline

Evaluates the apparent horizon criteria by selecting the appropriate derived class and forwarding its argument_tags from the ObservationBox (along with the GlobalCache) to the call operator of the derived class.

Note
In order to be available, a derived Criterion must be listed in the entry for Criterion in Metavarialbes::factory_creation::factory_classes
The ComputeTagsList of the ObservationBox should contain the union of the tags listed in compute_tags_for_observation_box for each derived Criterion listed in the factory_classes.

The documentation for this class was generated from the following file: