SpECTRE
v2023.03.09

Control error in the Shape coordinate map. More...
#include <Shape.hpp>
Public Types  
using  object_centers = domain::object_list<> 
using  options = tmpl::list<> 
Public Member Functions  
void  pup (PUP::er &) 
template<typename Metavariables , typename... TupleTags>  
DataVector  operator() (const Parallel::GlobalCache< Metavariables > &cache, const double time, const std::string &function_of_time_name, const tuples::TaggedTuple< TupleTags... > &measurements) 
Static Public Attributes  
static constexpr size_t  expected_number_of_excisions = 1 
static constexpr Options::String  help 
Control error in the Shape coordinate map.
Computes the error for each \( l,m \) mode of the shape map except for \( l=0 \) and \( l=1 \). This is because the \( l=0 \) mode is controlled by characteristic speed control, and the \( l=1 \) mode is redundant with the Translation map. The equation for the control error is Eq. (77) from [74] which is
\begin{align} Q_{lm} &= \frac{\sqrt{\frac{\pi}{2}} r_\mathrm{EB}  Y_{00}\lambda_{00}(t)}{Y_{00}S_{00}} S_{lm}  \lambda_{lm}(t), \quad l>1 \label{eq:shape_control_error} \end{align}
where \( r_\mathrm{EB} \) is the radius of the excision boundary in the grid frame, \( \lambda_{00}(t) \) is the size map parameter, \( \lambda_{lm}(t) \) for \( l>1 \) are the shape map parameters, and \( S_{lm}\) are the coefficients of the harmonic expansion of the apparent horizon. The coefficients \( \lambda_{lm}(t) \) (including \( l=0 \)) and \( S_{lm}\) are stored as the realvalued coefficients \( a_{lm} \) and \( b_{lm} \) of the SPHEREPACK sphericalharmonic expansion (in YlmSpherepack) as opposed to complex coefficients \( A_{lm} \) of the standard \( Y_{lm} \) decomposition. The representation does not matter here except for the term involving \( r_\mathrm{EB} \). Because \( a_{00} = \sqrt{\frac{2}{\pi}}A_{00} \), there is an extra factor of \( \sqrt{\frac{2}{\pi}} \) in the above formula.
Requirements:

staticconstexpr 