SpECTRE
v2024.05.11
|
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 | |
WedgeSectionTorus & | operator= (const WedgeSectionTorus &)=delete |
WedgeSectionTorus (WedgeSectionTorus &&)=default | |
WedgeSectionTorus & | operator= (WedgeSectionTorus &&)=default |
void | pup (PUP::er &p) |
Static Public Attributes | |
static constexpr Options::String | help |
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.
Frame::Inertial
|
staticconstexpr |