Wonton::SphericalRadialCoordinates Struct Reference

#include <CoordinateSystem.h>

Static Public Member Functions

static std::string to_string ()
 Name as a string. More...
 
template<int D>
static constexpr void verify_coordinate_system ()
 Verify coordinate system / dimensionality combination. More...
 
template<int D>
static constexpr void modify_gradient (Vector< D > &gradient, Point< D > const &reference_point)
 Modify gradient to account for the coordinate system. More...
 
template<int D>
static constexpr void modify_line_element (Vector< D > &line_element, Point< D > const &reference_point)
 Modify line element to account for the coordinate system. More...
 
template<int D>
static constexpr void modify_volume (double &volume, Point< D > const &plo, Point< D > const &phi)
 
template<int D>
static constexpr void modify_first_moments (Point< D > &moments, Point< D > const &plo, Point< D > const &phi)
 
template<int D>
static void shift_moments_list (std::vector< double > &moments)
 

Static Public Attributes

static constexpr double geometry_factor = 1
 
static constexpr double inv_geo_fac = 1.0 / geometry_factor
 Inverse geometry factor. More...
 
static constexpr int moment_shift = 2
 
static constexpr double moment_coefficient = CoordinateSystem::fourpi
 

Detailed Description

Spherical (Radial) Coordinates Only valid in 1D. The coordinate is the distance from the origin.

Member Function Documentation

◆ modify_first_moments()

template<int D>
static constexpr void Wonton::SphericalRadialCoordinates::modify_first_moments ( Point< D > &  moments,
Point< D > const &  plo,
Point< D > const &  phi 
)
inlinestatic

Modify moments to account for the coordinate system Only works for axis-aligned boxes.

◆ modify_gradient()

template<int D>
static constexpr void Wonton::SphericalRadialCoordinates::modify_gradient ( Vector< D > &  gradient,
Point< D > const &  reference_point 
)
inlinestatic

Modify gradient to account for the coordinate system.

◆ modify_line_element()

template<int D>
static constexpr void Wonton::SphericalRadialCoordinates::modify_line_element ( Vector< D > &  line_element,
Point< D > const &  reference_point 
)
inlinestatic

Modify line element to account for the coordinate system.

◆ modify_volume()

template<int D>
static constexpr void Wonton::SphericalRadialCoordinates::modify_volume ( double &  volume,
Point< D > const &  plo,
Point< D > const &  phi 
)
inlinestatic

Modify volume to account for the coordinate system Only works for axis-aligned boxes.

◆ shift_moments_list()

template<int D>
static void Wonton::SphericalRadialCoordinates::shift_moments_list ( std::vector< double > &  moments)
inlinestatic

Modify moments to account for the coordinate system Handles any shape cell, but may reduce order of moments available.

◆ to_string()

static std::string Wonton::SphericalRadialCoordinates::to_string ( )
inlinestatic

Name as a string.

◆ verify_coordinate_system()

template<int D>
static constexpr void Wonton::SphericalRadialCoordinates::verify_coordinate_system ( )
inlinestatic

Verify coordinate system / dimensionality combination.

Member Data Documentation

◆ geometry_factor

constexpr double Wonton::SphericalRadialCoordinates::geometry_factor = 1
static

Geometry factor A very common choice is 4 pi: a one-steradian wedge of a sphere. Portage uses 1: a full sphere.

◆ inv_geo_fac

constexpr double Wonton::SphericalRadialCoordinates::inv_geo_fac = 1.0 / geometry_factor
static

Inverse geometry factor.

◆ moment_coefficient

constexpr double Wonton::SphericalRadialCoordinates::moment_coefficient = CoordinateSystem::fourpi
static

How many orders of moments the moment-shift algorithm loses Calculations are already done assuming Cartesian, so no shift is needed.

◆ moment_shift

constexpr int Wonton::SphericalRadialCoordinates::moment_shift = 2
static

How many orders of moments the moment-shift algorithm loses Spherical coordinates include an extra factor of r^2, which reduces the order of available moments by two.


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