SpECTRE  v2024.04.12
grmhd::AnalyticData::SphericalTorus Class Reference

Torus made by removing two polar cones from a spherical shell. More...

#include <SphericalTorus.hpp>

Classes

struct  FractionOfTorus
 
struct  MinPolarAngle
 
struct  RadialRange
 

Public Types

using options = tmpl::list< RadialRange, MinPolarAngle, FractionOfTorus >
 

Public Member Functions

 SphericalTorus (const std::array< double, 2 > &radial_range, const double min_polar_angle, const double fraction_of_torus, const Options::Context &context={})
 
 SphericalTorus (double r_min, double r_max, double min_polar_angle, double fraction_of_torus=1.0, const Options::Context &context={})
 
template<typename T >
tnsr::I< T, 3 > operator() (const tnsr::I< T, 3 > &source_coords) const
 
tnsr::I< double, 3 > inverse (const tnsr::I< double, 3 > &target_coords) const
 
template<typename T >
Jacobian< T, 3, Frame::BlockLogical, Frame::Inertialjacobian (const tnsr::I< T, 3 > &source_coords) const
 
template<typename T >
InverseJacobian< T, 3, Frame::BlockLogical, Frame::Inertialinv_jacobian (const tnsr::I< T, 3 > &source_coords) const
 
template<typename T >
tnsr::Ijj< T, 3, Frame::NoFramehessian (const tnsr::I< T, 3 > &source_coords) const
 
template<typename T >
tnsr::Ijk< T, 3, Frame::NoFramederivative_of_inv_jacobian (const tnsr::I< T, 3 > &source_coords) const
 
void pup (PUP::er &p)
 
bool is_identity () const
 

Static Public Attributes

static constexpr size_t dim = 3
 
static constexpr Options::String help
 

Friends

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

Detailed Description

Torus made by removing two polar cones from a spherical shell.

Maps source coordinates \((\xi, \eta, \zeta)\) to

\begin{align} \vec{x}(\xi, \eta, \zeta) = \begin{bmatrix} r \sin\theta\cos\phi \\ r \sin\theta\sin\phi \\ r \cos\theta \end{bmatrix} \end{align}

where

\begin{align} r & = r_\mathrm{min}\frac{1-\xi}{2} + r_\mathrm{max}\frac{1+\xi}{2}, \\ \theta & = \pi/2 - (\pi/2 - \theta_\mathrm{min}) \eta, \\ \phi & = f_\mathrm{torus} \pi \zeta. \end{align}

  • \(r_\mathrm{min}\) and \(r_\mathrm{max}\) are inner and outer radius of torus.
  • \(\theta_\mathrm{min}\in(0,\pi/2)\) is the minimum polar angle (measured from +z axis) of torus, which is equal to the half of the apex angle of the removed polar cones.
  • \(f_\mathrm{torus}\in(0, 1)\) is azimuthal fraction that the torus covers.

Member Data Documentation

◆ help

constexpr Options::String grmhd::AnalyticData::SphericalTorus::help
staticconstexpr
Initial value:
=
"Torus made by removing polar cones from a spherical shell"

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