SpECTRE  v2025.08.19
GrSelfForce::BoundaryConditions::Angular Class Reference

Angular boundary conditions for the m-mode metric perturbations. More...

#include <Angular.hpp>

Classes

struct  MModeNumber
 

Public Types

using options = tmpl::list< MModeNumber >
 
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

 Angular (const Angular &)=default
 
Angularoperator= (const Angular &)=default
 
 Angular (Angular &&)=default
 
Angularoperator= (Angular &&)=default
 
 Angular (int m_mode_number)
 
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
 
virtual std::vector< elliptic::BoundaryConditionTypeboundary_condition_types () const=0
 
- 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)
 
virtual auto get_clone () const -> std::unique_ptr< BoundaryCondition >=0
 

Static Public Attributes

static constexpr Options::String help = "Angular boundary condition"
 
- Static Public Attributes inherited from elliptic::BoundaryConditions::BoundaryCondition< 2 >
static constexpr size_t volume_dim
 

Friends

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

Detailed Description

Angular boundary conditions for the m-mode metric perturbations.

The angular boundary conditions are determined by enforcing regularity of the metric perturbation at the poles \(\theta=0,\pi\):

\begin{align} &\Psi_{m=1}^{0,1,4,7,8,9} = 0 \\ &\partial_\theta \Psi_{m=1}^{2,3,5,6} = 0 \\ &\Psi_{m=2}^{0,1,2,3,4,5,6} = 0 \\ &\partial_\theta \Psi_{m=2}^{7,8,9} = 0 \\ &\Psi_{m>2} = 0 \\ \end{align}

The ordering of components in \(\Psi\) here is: \(\{tt,tr,t\theta,t\phi,rr,r\theta,r\phi,\theta\theta,\theta\phi,\phi\phi\}\).

Member Function Documentation

◆ boundary_condition_types()

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

◆ get_clone()

std::unique_ptr< domain::BoundaryConditions::BoundaryCondition > GrSelfForce::BoundaryConditions::Angular::get_clone ( ) const
inlineoverridevirtual

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