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

Radial Sommerfeld boundary conditions for the m-mode field. More...

#include <Sommerfeld.hpp>

Classes

struct  BlackHoleMass
struct  BlackHoleSpin
struct  HyperboloidalSlicing
struct  MModeNumber
struct  OrbitalRadius
struct  Order

Public Types

using options
using argument_tags
using volume_tags = tmpl::list<>
using argument_tags_linearized
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, bool hyperboloidal_slicing, int order)
double black_hole_mass () const
double black_hole_spin () const
double orbital_radius () const
int m_mode_number () const
bool hyperboloidal_slicing () const
int order () const
std::unique_ptr< domain::BoundaryConditions::BoundaryConditionget_clone () const override
std::vector< elliptic::BoundaryConditionTypeboundary_condition_types () const override
void apply (gsl::not_null< Scalar< ComplexDataVector > * > field, gsl::not_null< Scalar< ComplexDataVector > * > n_dot_field_gradient, const tnsr::i< ComplexDataVector, 2 > &deriv_field, const Scalar< ComplexDataVector > &beta, const tnsr::i< ComplexDataVector, 2 > &gamma) const
void apply_linearized (gsl::not_null< Scalar< ComplexDataVector > * > field_correction, gsl::not_null< Scalar< ComplexDataVector > * > n_dot_field_gradient_correction, const tnsr::i< ComplexDataVector, 2 > &deriv_field_correction, const Scalar< ComplexDataVector > &beta, const tnsr::i< ComplexDataVector, 2 > &gamma) 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 field.

The radial boundary conditions are given in Eq. (4.10-4.11) in [160] . 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

◆ argument_tags

using ScalarSelfForce::BoundaryConditions::Sommerfeld::argument_tags
Initial value:
tmpl::list<Tags::Beta, Tags::Gamma>

◆ argument_tags_linearized

using ScalarSelfForce::BoundaryConditions::Sommerfeld::argument_tags_linearized
Initial value:
tmpl::list<Tags::Beta, Tags::Gamma>

◆ options

using ScalarSelfForce::BoundaryConditions::Sommerfeld::options

Member Function Documentation

◆ boundary_condition_types()

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

◆ get_clone()

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

Member Data Documentation

◆ help

Options::String ScalarSelfForce::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/Scalar/BoundaryConditions/Sommerfeld.hpp