SpECTRE  v2024.05.11
Punctures::AnalyticData::MultiplePunctures Class Reference

Superposition of multiple punctures. More...

#include <MultiplePunctures.hpp>

Classes

struct  Punctures
 

Public Types

using options = tmpl::list< Punctures >
 

Public Member Functions

 MultiplePunctures (const MultiplePunctures &)=default
 
MultiplePuncturesoperator= (const MultiplePunctures &)=default
 
 MultiplePunctures (MultiplePunctures &&)=default
 
MultiplePuncturesoperator= (MultiplePunctures &&)=default
 
 MultiplePunctures (std::vector< Puncture > punctures)
 
 MultiplePunctures (CkMigrateMessage *m)
 
 WRAPPED_PUPable_decl_template (MultiplePunctures)
 
template<typename... RequestedTags>
tuples::TaggedTuple< RequestedTags... > variables (const tnsr::I< DataVector, 3, Frame::Inertial > &x, tmpl::list< RequestedTags... >) const
 
template<typename... RequestedTags>
tuples::TaggedTuple< RequestedTags... > variables (const tnsr::I< DataVector, 3, Frame::Inertial > &x, const Mesh< 3 > &, const InverseJacobian< DataVector, 3, Frame::ElementLogical, Frame::Inertial > &, tmpl::list< RequestedTags... >) const
 
void pup (PUP::er &p) override
 
const std::vector< Puncture > & punctures () const
 

Static Public Attributes

static constexpr Options::String help = "Any number of black holes"
 

Detailed Description

Superposition of multiple punctures.

This class provides the source fields \(\alpha\) and \(\beta\) for the puncture equation (see Punctures) representing any number of black holes. Each black hole is characterized by its "puncture mass" (or "bare mass") \(M_I\), position \(\mathbf{C}_I\), linear momentum \(\mathbf{P}_I\), and angular momentum \(\mathbf{S}_I\). The corresponding Bowen-York solution to the momentum constraint for the conformal traceless extrinsic curvature is:

\begin{equation} \bar{A}^{ij} = \frac{3}{2} \sum_I \frac{1}{r_I^2} \left( 2 P_I^{(i} n_I^{j)} - (\delta^{ij} - n_I^i n_I^j) P_I^k n_I^k + \frac{4}{r_I} n_I^{(i} \epsilon^{j)kl} S_I^k n_I^l\right) \end{equation}

From it, we compute \(\alpha\) and \(\beta\) as:

\begin{align} \frac{1}{\alpha} &= \sum_I \frac{M_I}{2 r_I} \\ \beta &= \frac{1}{8} \alpha^7 \bar{A}_{ij} \bar{A}^{ij} \end{align}

See also
Punctures

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