SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
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

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 Typedef Documentation

◆ options

using intrp::OptionHolders::WedgeSectionTorus::options
Initial value:
Maximum radius for the SphericalCompression map.
Definition SphericalCompression.hpp:85
Minimum radius for the SphericalCompression map.
Definition SphericalCompression.hpp:79
Definition WedgeSectionTorus.hpp:86
Definition WedgeSectionTorus.hpp:80

Member Data Documentation

◆ help

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:
  • src/ParallelAlgorithms/Interpolation/Targets/WedgeSectionTorus.hpp