SpECTRE  v2025.03.17
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
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 = implementation defined
 

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 ϕ=0) is a wedge-like shape bounded by rminrrmax and θminθθmax.

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

By default, the points follow a Legendre Gauss-Lobatto distribution in the r and θ directions, and a uniform distribution in the ϕ direction. The distribution in the r (and/or θ) 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 θ, and finally ϕ 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: