SpECTRE  v2025.08.19
ah::Criteria::Shape Class Reference

Recommend an updated resolution \(L_{\rm new}\) based on how well the shape of the apparent horizon is resolved in terms of its truncation error and pile up modes. More...

#include <Shape.hpp>

Classes

struct  MaxPileUpModes
 
struct  MaxTruncationError
 
struct  MinResolutionL
 
struct  MinTruncationError
 

Public Types

using options = tmpl::list< MinTruncationError, MaxTruncationError, MaxPileUpModes, MinResolutionL >
 
using argument_tags = tmpl::list<>
 
using compute_tags_for_observation_box = tmpl::list<>
 

Public Member Functions

 Shape (double min_truncation_error, double max_truncation_error, size_t max_pile_up_modes, size_t min_resolution_l, const Options::Context &context={})
 
std::string observation_name () override
 
template<typename Metavariables , typename Frame >
size_t operator() (const Parallel::GlobalCache< Metavariables > &cache, const ylm::Strahlkorper< Frame > &strahlkorper, const FastFlow::IterInfo &) const
 
void pup (PUP::er &p) override
 
bool is_equal (const Criterion &other) const override
 
- Public Member Functions inherited from ah::Criterion
 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...
 

Static Public Attributes

static constexpr Options::String help
 

Detailed Description

Recommend an updated resolution \(L_{\rm new}\) based on how well the shape of the apparent horizon is resolved in terms of its truncation error and pile up modes.

Details

The returned recommended resolution \(L_{\rm new}\) depends on the following options:

The maximum resolution \(L_{\rm max}\) is supplied by the global cache entry ah::Tags::LMax. The value returned for \(L_{\rm new}\) is then determined as follows: The value returned for \(L_{\rm new}\) is then determined as follows:

Member Function Documentation

◆ is_equal()

bool ah::Criteria::Shape::is_equal ( const Criterion other) const
overridevirtual

Implements ah::Criterion.

◆ observation_name()

std::string ah::Criteria::Shape::observation_name ( )
inlineoverridevirtual

Implements ah::Criterion.

Member Data Documentation

◆ help

constexpr Options::String ah::Criteria::Shape::help
staticconstexpr
Initial value:
= {
"Use Strahlkorper truncation error, number of pile up modes, and "
"resolution to suggest a new resolution."}

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