SpECTRE
v2023.09.07

The set of utilities for performing CurvedScalarWave evolution with a worldtube excision scheme. More...
Namespaces  
namespace  OptionTags 
Option tags for the worldtube.  
namespace  Tags 
Tags related to the worldtube.  
Classes  
struct  Registration 
struct  TimeDerivativeMutator 
Calculates the time derivative of Psi0 , the constant coefficient of the expansion of Psi . More...  
struct  WorldtubeSingleton 
The singleton component that represents the worldtube. More...  
Functions  
void  puncture_field (const gsl::not_null< Variables< tmpl::list< CurvedScalarWave::Tags::Psi, ::Tags::dt< CurvedScalarWave::Tags::Psi >, ::Tags::deriv< CurvedScalarWave::Tags::Psi, tmpl::size_t< 3 >, Frame::Inertial > > > * > result, const tnsr::I< DataVector, 3, Frame::Inertial > &coords, const double time, const double orbital_radius, const double bh_mass, size_t order) 
Computes the puncture/singular field \(\Psi^\mathcal{P}\) of a scalar charge in circular orbit around a Schwarzschild black hole as described in [51]. More...  
void  puncture_field_0 (const gsl::not_null< Variables< tmpl::list< CurvedScalarWave::Tags::Psi, ::Tags::dt< CurvedScalarWave::Tags::Psi >, ::Tags::deriv< CurvedScalarWave::Tags::Psi, tmpl::size_t< 3 >, Frame::Inertial > > > * > result, const tnsr::I< DataVector, 3, Frame::Inertial > &coords, const double time, const double orbital_radius, const double bh_mass) 
Computes the puncture/singular field \(\Psi^\mathcal{P}\) of a scalar charge in circular orbit around a Schwarzschild black hole as described in [51] expanded to order 0 in geodesic distance.  
void  puncture_field_1 (const gsl::not_null< Variables< tmpl::list< CurvedScalarWave::Tags::Psi, ::Tags::dt< CurvedScalarWave::Tags::Psi >, ::Tags::deriv< CurvedScalarWave::Tags::Psi, tmpl::size_t< 3 >, Frame::Inertial > > > * > result, const tnsr::I< DataVector, 3, Frame::Inertial > &coords, const double time, const double orbital_radius, const double bh_mass) 
Computes the puncture/singular field \(\Psi^\mathcal{P}\) of a scalar charge in circular orbit around a Schwarzschild black hole as described in [51] expanded to order 1 in geodesic distance.  
void  puncture_field_2 (const gsl::not_null< Variables< tmpl::list< CurvedScalarWave::Tags::Psi, ::Tags::dt< CurvedScalarWave::Tags::Psi >, ::Tags::deriv< CurvedScalarWave::Tags::Psi, tmpl::size_t< 3 >, Frame::Inertial > > > * > result, const tnsr::I< DataVector, 3, Frame::Inertial > &coords, const double time, const double orbital_radius, const double bh_mass) 
Computes the puncture/singular field \(\Psi^\mathcal{P}\) of a scalar charge in circular orbit around a Schwarzschild black hole as described in [51] expanded to order 2 in geodesic distance.  
The set of utilities for performing CurvedScalarWave evolution with a worldtube excision scheme.
The worldtube excision scheme is a method that aims to enable NR evolutions of intermediate mass ratio binary black hole simulations. In standard BBH simulations two excision spheres are cut out from the domain within the apparent horizons of the respective black holes. For larger mass ratios, this introduces a scale disparity in the evolution system because the small grid spacing in the elements near the smaller black hole constrain the time step to be orders of magnitude smaller than near the larger black hole due to the CFL condition. The worldtube excision scheme avoids this by excising a much larger region (the worldtube) around the smaller black hole. Since the excision boundary no longer lies within the apparent horizon, boundary conditions are required. These are derived by approximating the solution inside the worldtube using a perturbative solution  a black hole perturbed by another black hole. The solution is calibrated by the evolved metric on the worldtube boundary and in turn provides boundary conditions to the evolution system.
Here, we test this scheme using a toy problem of a scalar charge in circular orbit around a Schwarzschild black hole.
void CurvedScalarWave::Worldtube::puncture_field  (  const gsl::not_null< Variables< tmpl::list< CurvedScalarWave::Tags::Psi, ::Tags::dt< CurvedScalarWave::Tags::Psi >, ::Tags::deriv< CurvedScalarWave::Tags::Psi, tmpl::size_t< 3 >, Frame::Inertial > > > * >  result, 
const tnsr::I< DataVector, 3, Frame::Inertial > &  coords,  
const double  time,  
const double  orbital_radius,  
const double  bh_mass,  
size_t  order  
) 
Computes the puncture/singular field \(\Psi^\mathcal{P}\) of a scalar charge in circular orbit around a Schwarzschild black hole as described in [51].
The field is computed using a DetweilerWhiting singular Green's function and perturbatively expanded in the geodesic distance from the particle. It solves the inhomogeneous wave equation
\begin{align*} \Box \Psi^\mathcal{P} = 4 \pi q \int \sqrt{g} \delta^4(x^i, z(\tau)) d \tau \end{align*}
where \(q\) is the scalar charge and \(z(\tau)\) is the worldline of the particle. The expression is expanded up to a certain order in geodesic distance and transformed to KerrSchild coordinates.
The function given here assumes that the particle has scalar charge \(q=1\) and is on a fixed geodesic orbit with \(z(t) = (R \cos{\omega t}, R \sin{\omega t}, 0)\) around a Schwarzschild black hole, where \(R\) is the orbital radius and \( \omega = R^{3/2} \). It returns the singular field at the requested coordinates as well as its time and spatial derivative.