|
SpECTRE
v2025.08.19
|
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 | |
| Angular & | operator= (const Angular &)=default |
| Angular (Angular &&)=default | |
| Angular & | operator= (Angular &&)=default |
| Angular (int m_mode_number) | |
| int | m_mode_number () const |
| std::unique_ptr< domain::BoundaryConditions::BoundaryCondition > | get_clone () const override |
| std::vector< elliptic::BoundaryConditionType > | boundary_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 | |
| BoundaryCondition & | operator= (const BoundaryCondition &)=default |
| BoundaryCondition & | operator= (BoundaryCondition &&)=default |
| virtual std::vector< elliptic::BoundaryConditionType > | boundary_condition_types () const=0 |
Public Member Functions inherited from domain::BoundaryConditions::BoundaryCondition | |
| BoundaryCondition (BoundaryCondition &&)=default | |
| BoundaryCondition & | operator= (BoundaryCondition &&)=default |
| BoundaryCondition (const BoundaryCondition &)=default | |
| BoundaryCondition & | operator= (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) |
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\}\).
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Implements domain::BoundaryConditions::BoundaryCondition.