SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
CurvedScalarWave::Worldtube::PunctureField Class Reference

Dispatcher to compute the puncture/singular field for a scalar charge on a generic orbit in Schwarzschild or Kerr spacetime. The Kerr puncture reduces to Schwarzsschild for zero spin but is faster to evaluate. More...

#include <PunctureField.hpp>

Classes

struct  Kerr
 Use the Kerr puncture field model. This option is currently parsed but not yet implemented at runtime. More...
struct  Schwarzschild
 Use the Schwarzschild puncture field model. More...

Public Types

enum class  Type { Schwarzschild , Kerr }
using options

Public Member Functions

 PunctureField (const Schwarzschild &schwarzschild, const Options::Context &context={})
 PunctureField (const Kerr &kerr, const Options::Context &context={})
void pup (PUP::er &p)
Type type () const
size_t expansion_order () const
double black_hole_mass () const
double spin_along_z_axis () const
void apply_puncture (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 > &centered_coords, const tnsr::I< double, 3 > &particle_position, const tnsr::I< double, 3 > &particle_velocity, const tnsr::I< double, 3 > &particle_acceleration) const
 Compute and write the puncture field and its derivatives for the configured puncture model and expansion order.
void apply_acceleration_terms (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 > &centered_coords, const tnsr::I< double, 3 > &particle_position, const tnsr::I< double, 3 > &particle_velocity, const tnsr::I< double, 3 > &particle_acceleration, double ft, double fx, double fy, double dt_ft, double dt_fx, double dt_fy, double Du_ft, double Du_fx, double Du_fy, double dt_Du_ft, double dt_Du_fx, double dt_Du_fy) const
 Compute and write the corrections to the puncture field for the configured puncture model and expansion order. These terms arise at non-geodesic accelerations such as the self-force.

Static Public Attributes

static constexpr Options::String help

Detailed Description

Dispatcher to compute the puncture/singular field for a scalar charge on a generic orbit in Schwarzschild or Kerr spacetime. The Kerr puncture reduces to Schwarzsschild for zero spin but is faster to evaluate.

Member Typedef Documentation

◆ options

using CurvedScalarWave::Worldtube::PunctureField::options
Initial value:
tmpl::list<
Provide multiple ways to construct a class.
Definition Options.hpp:93

Member Data Documentation

◆ help

Options::String CurvedScalarWave::Worldtube::PunctureField::help
staticconstexpr
Initial value:
= {
"Configuration and dispatcher for puncture-field expressions. Choose "
"either Schwarzschild or Kerr."}

The documentation for this class was generated from the following file:
  • src/Evolution/Systems/CurvedScalarWave/Worldtube/PunctureField.hpp