SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
GrSelfForce::BoundaryConditions::Sommerfeld Class Reference

Radial Sommerfeld boundary conditions for the m-mode metric perturbations. More...

#include <Sommerfeld.hpp>

Classes

struct  BlackHoleMass
struct  BlackHoleSpin
struct  MModeNumber
struct  OrbitalRadius

Public Types

using options
using argument_tags = tmpl::list<>
using volume_tags = tmpl::list<>
using argument_tags_linearized = tmpl::list<>
using volume_tags_linearized = tmpl::list<>

Public Member Functions

 Sommerfeld (const Sommerfeld &)=default
Sommerfeldoperator= (const Sommerfeld &)=default
 Sommerfeld (Sommerfeld &&)=default
Sommerfeldoperator= (Sommerfeld &&)=default
 Sommerfeld (double black_hole_mass, double black_hole_spin, double orbital_radius, int m_mode_number)
double black_hole_mass () const
double black_hole_spin () const
double orbital_radius () const
int m_mode_number () const
std::unique_ptr< domain::BoundaryConditions::BoundaryConditionget_clone () const override
std::vector< elliptic::BoundaryConditionTypeboundary_condition_types () const override
void apply (gsl::not_null< tnsr::aa< ComplexDataVector, 3 > * > field, gsl::not_null< tnsr::aa< ComplexDataVector, 3 > * > n_dot_field_gradient, const GradTensorType &deriv_field) const
void apply_linearized (gsl::not_null< tnsr::aa< ComplexDataVector, 3 > * > field_correction, gsl::not_null< tnsr::aa< ComplexDataVector, 3 > * > n_dot_field_correction_gradient, const GradTensorType &deriv_field_correction) const
void pup (PUP::er &p) override
Public Member Functions inherited from elliptic::BoundaryConditions::BoundaryCondition< 2 >
 BoundaryCondition (const BoundaryCondition &)=default
 BoundaryCondition (BoundaryCondition &&)=default
BoundaryConditionoperator= (const BoundaryCondition &)=default
BoundaryConditionoperator= (BoundaryCondition &&)=default
Public Member Functions inherited from domain::BoundaryConditions::BoundaryCondition
 BoundaryCondition (BoundaryCondition &&)=default
BoundaryConditionoperator= (BoundaryCondition &&)=default
 BoundaryCondition (const BoundaryCondition &)=default
BoundaryConditionoperator= (const BoundaryCondition &)=default
 BoundaryCondition (CkMigrateMessage *const msg)
 WRAPPED_PUPable_abstract (BoundaryCondition)

Static Public Attributes

static constexpr Options::String help
Static Public Attributes inherited from elliptic::BoundaryConditions::BoundaryCondition< 2 >
static constexpr size_t volume_dim

Friends

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

Detailed Description

Radial Sommerfeld boundary conditions for the m-mode metric perturbations.

These radial boundary conditions enforce an outgoing direction of radiation propagation. They apply both near the Kerr horizon (inner radial boundary) and at large distance (outer radial boundary):

\begin{equation}n_i F^i = i m \Omega \Psi_m \end{equation}

These boundary conditions currently assume a circular equatorial orbit.

Member Typedef Documentation

◆ options

using GrSelfForce::BoundaryConditions::Sommerfeld::options
Initial value:
tmpl::list<BlackHoleMass, BlackHoleSpin, OrbitalRadius, MModeNumber>

Member Function Documentation

◆ boundary_condition_types()

std::vector< elliptic::BoundaryConditionType > GrSelfForce::BoundaryConditions::Sommerfeld::boundary_condition_types ( ) const
inlineoverridevirtual

◆ get_clone()

std::unique_ptr< domain::BoundaryConditions::BoundaryCondition > GrSelfForce::BoundaryConditions::Sommerfeld::get_clone ( ) const
overridevirtual

Member Data Documentation

◆ help

Options::String GrSelfForce::BoundaryConditions::Sommerfeld::help
staticconstexpr
Initial value:
=
"Radial Sommerfeld boundary condition"

The documentation for this class was generated from the following file:
  • src/Elliptic/Systems/SelfForce/GeneralRelativity/BoundaryConditions/Sommerfeld.hpp