SpECTRE  v2025.08.19
GrSelfForce::AnalyticData::CircularOrbit Class Reference

Gravitational self-force of a point mass on a circular equatorial orbit in Kerr. More...

#include <CircularOrbit.hpp>

Classes

struct  BlackHoleMass
 
struct  BlackHoleSpin
 
struct  MModeNumber
 
struct  OrbitalRadius
 

Public Types

using options = tmpl::list< BlackHoleMass, BlackHoleSpin, OrbitalRadius, MModeNumber >
 
using background_tags = tmpl::list< Tags::Alpha, Tags::Beta, Tags::GammaRstar, Tags::GammaTheta >
 
using source_tags = tmpl::list< ::Tags::FixedSource< Tags::MMode >, Tags::SingularField, ::Tags::deriv< Tags::SingularField, tmpl::size_t< 2 >, Frame::Inertial >, Tags::BoyerLindquistRadius >
 

Public Member Functions

 CircularOrbit (const CircularOrbit &)=default
 
CircularOrbitoperator= (const CircularOrbit &)=default
 
 CircularOrbit (CircularOrbit &&)=default
 
CircularOrbitoperator= (CircularOrbit &&)=default
 
 CircularOrbit (double black_hole_mass, double black_hole_spin, double orbital_radius, int m_mode_number)
 
 CircularOrbit (CkMigrateMessage *m)
 
 WRAPPED_PUPable_decl_template (CircularOrbit)
 
tnsr::I< double, 2 > puncture_position () const
 
double black_hole_mass () const
 
double black_hole_spin () const
 
double orbital_radius () const
 
int m_mode_number () const
 
tuples::tagged_tuple_from_typelist< background_tags > variables (const tnsr::I< DataVector, 2 > &x, background_tags) const
 
tuples::tagged_tuple_from_typelist< source_tags > variables (const tnsr::I< DataVector, 2 > &x, source_tags) const
 
template<typename... RequestedTags>
tuples::TaggedTuple< RequestedTags... > variables (const tnsr::I< DataVector, 2 > &x, const Mesh< 2 > &, const InverseJacobian< DataVector, 2, Frame::ElementLogical, Frame::Inertial > &, tmpl::list< RequestedTags... >) const
 
void pup (PUP::er &p) override
 

Static Public Member Functions

static tuples::TaggedTuple< Tags::MModevariables (const tnsr::I< DataVector, 2 > &x, tmpl::list< Tags::MMode >)
 

Static Public Attributes

static constexpr Options::String help
 

Friends

bool operator== (const CircularOrbit &lhs, const CircularOrbit &rhs)
 

Detailed Description

Gravitational self-force of a point mass on a circular equatorial orbit in Kerr.

This class defines the gravitational self-force equations for a circular orbit by setting the coefficients \(\alpha\), \(\beta\), and \(\gamma\) (see GrSelfForce::FirstOrderSystem). It also sets the effective source \(S_m^\mathrm{eff}\) and the singular field \(\Psi_m^P\) in the regularized region. The coefficients are computed using Mathematica-generated functions (see CircularOrbitCoeffs.hpp) and the effective source is computed using the GravitationalEffectiveSource code by Wardell et. al. (https://github.com/barrywardell/GravitationalEffectiveSource) and then transformed to our form of the equations with more Mathematica-generated functions (see CircularOrbitConvertEffsource.hpp). The derivation of these equations will be presented in a future publication. A very strong test of the validity of these equations is evaluating them on the singular field and the corresponding effective source provided by the external GravitationalEffectiveSource code (see Test_CircularOrbit.cpp).

Member Data Documentation

◆ help

constexpr Options::String GrSelfForce::AnalyticData::CircularOrbit::help
staticconstexpr
Initial value:
=
"Quasicircular orbit of a point mass in Kerr spacetime"

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