SpECTRE  v2024.03.19
intrp::callbacks::ObserveSurfaceData< TagsToObserve, InterpolationTargetTag, HorizonFrame > Struct Template Reference

post_interpolation_callback that outputs 2D "volume" data on a surface and the surface's spherical harmonic data More...

#include <ObserveSurfaceData.hpp>

Public Types

using const_global_cache_tags = tmpl::list< observers::Tags::SurfaceFileName >
 

Static Public Member Functions

template<typename DbTags , typename Metavariables , typename TemporalId >
static void apply (const db::DataBox< DbTags > &box, Parallel::GlobalCache< Metavariables > &cache, const TemporalId &temporal_id)
 

Static Public Attributes

static constexpr double fill_invalid_points_with
 

Detailed Description

template<typename TagsToObserve, typename InterpolationTargetTag, typename HorizonFrame>
struct intrp::callbacks::ObserveSurfaceData< TagsToObserve, InterpolationTargetTag, HorizonFrame >

post_interpolation_callback that outputs 2D "volume" data on a surface and the surface's spherical harmonic data

Details

Uses:

  • Metavariables
    • temporal_id
  • DataBox:
    • TagsToObserve (each tag must be a Scalar<DataVector>)

Conforms to the intrp::protocols::PostInterpolationCallback protocol

For requirements on InterpolationTargetTag, see intrp::protocols::InterpolationTargetTag

The columns of spherical harmonic data written take the form

[Time, {Frame}ExpansionCenter_x, {Frame}ExpansionCenter_y,
{Frame}ExpansionCenter_z, Lmax, coef(0,0), ... coef(Lmax,Lmax)]
The time in a simulation. Times can be safely compared for exact equality as long as they do not belo...
Definition: Time.hpp:29
Indicates the Frame that a TensorIndexType is in.
Definition: IndexType.hpp:36

where coef(l,m) refers to the strahlkorper coefficients stored and defined by ylm::Strahlkorper::coefficients() const. It is assumed that \(l_{max} = m_{max}\).

Note
Currently, \(l_{max}\) for a given surface does not change over the course of the simulation, which means that the total number of columns of coefficients that we need to write is also constant. The current implementation of writing the coefficients at one time assumes \(l_{max}\) of a surface remains constant. If and when in the future functionality for an adaptive \(l_{max}\) is added, the implementation for writing the coefficients will need to be updated to account for this. One possible way to address this is to have a known maximum \(l_{max}\) for a given surface and write all coefficients up to that maximum \(l_{max}\).

Member Data Documentation

◆ fill_invalid_points_with

template<typename TagsToObserve , typename InterpolationTargetTag , typename HorizonFrame >
constexpr double intrp::callbacks::ObserveSurfaceData< TagsToObserve, InterpolationTargetTag, HorizonFrame >::fill_invalid_points_with
staticconstexpr

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