SpECTRE  v2024.04.12
intrp::OptionHolders::WedgeSectionTorus Struct Reference

A solid torus of points, useful, e.g., when measuring data from an accretion disc. More...

#include <WedgeSectionTorus.hpp>

Classes

struct  MaxRadius
 
struct  MaxTheta
 
struct  MinRadius
 
struct  MinTheta
 
struct  NumberPhiPoints
 
struct  NumberRadialPoints
 
struct  NumberThetaPoints
 
struct  UniformRadialGrid
 
struct  UniformThetaGrid
 

Public Types

using options = tmpl::list< MinRadius, MaxRadius, MinTheta, MaxTheta, NumberRadialPoints, NumberThetaPoints, NumberPhiPoints, UniformRadialGrid, UniformThetaGrid >
 

Public Member Functions

 WedgeSectionTorus (double min_radius_in, double max_radius_in, double min_theta_in, double max_theta_in, size_t number_of_radial_points_in, size_t number_of_theta_points_in, size_t number_of_phi_points_in, bool use_uniform_radial_grid_in, bool use_uniform_theta_grid_in, const Options::Context &context={})
 
 WedgeSectionTorus (const WedgeSectionTorus &)=default
 
WedgeSectionTorusoperator= (const WedgeSectionTorus &)=delete
 
 WedgeSectionTorus (WedgeSectionTorus &&)=default
 
WedgeSectionTorusoperator= (WedgeSectionTorus &&)=default
 
void pup (PUP::er &p)
 

Public Attributes

double min_radius
 
double max_radius
 
double min_theta
 
double max_theta
 
size_t number_of_radial_points
 
size_t number_of_theta_points
 
size_t number_of_phi_points
 
bool use_uniform_radial_grid
 
bool use_uniform_theta_grid
 

Static Public Attributes

static constexpr Options::String help
 

Detailed Description

A solid torus of points, useful, e.g., when measuring data from an accretion disc.

The torus's cross section (e.g., a cut at \(\phi=0\)) is a wedge-like shape bounded by \(r_{\text{min}} \le r \le r_{\text{max}}\) and \(\theta_{\text{min}} \le \theta \le \theta_{\text{max}}\).

The grid points are located on surfaces of constant \(r\), \(\theta\), and \(\phi\). There are NumberRadialPoints points in the radial direction between MinRadius and MaxRadius (including these endpoints); NumberThetaPoints points in the \(\theta\) direction between MinTheta and MaxTheta (including these endpoints); NumberPhiPoints points in the \(\phi\) direction (with one point always at \(\phi=0\)).

By default, the points follow a Legendre Gauss-Lobatto distribution in the \(r\) and \(\theta\) directions, and a uniform distribution in the \(\phi\) direction. The distribution in the \(r\) (and/or \(\theta\)) direction can be made uniform using the UniformRadialGrid (and/or UniformThetaGrid) option.

The target_points form a 3D mesh ordered with \(r\) varying fastest, then \(\theta\), and finally \(\phi\) varying slowest.

Note
Input coordinates (radii, angles) are interpreted in the Frame::Inertial

Member Data Documentation

◆ help

constexpr Options::String intrp::OptionHolders::WedgeSectionTorus::help
staticconstexpr
Initial value:
= {
"A torus extending from MinRadius to MaxRadius in r, MinTheta to MaxTheta"
" in theta, and 2pi in phi."}

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