Wonton::Spherical3DCoordinates 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
 Geometry factor. More...
 
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 = 1
 

Detailed Description

Spherical (3D) Coordinates Only valid in 3D. The coordinates are the distance from the origin, the angle of inclination, and the azimuthal angle.

Member Function Documentation

◆ modify_first_moments()

template<int D>
static constexpr void Wonton::Spherical3DCoordinates::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::Spherical3DCoordinates::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::Spherical3DCoordinates::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::Spherical3DCoordinates::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::Spherical3DCoordinates::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::Spherical3DCoordinates::to_string ( )
inlinestatic

Name as a string.

◆ verify_coordinate_system()

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

Verify coordinate system / dimensionality combination.

Member Data Documentation

◆ geometry_factor

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

Geometry factor.

◆ inv_geo_fac

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

Inverse geometry factor.

◆ moment_coefficient

constexpr double Wonton::Spherical3DCoordinates::moment_coefficient = 1
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::Spherical3DCoordinates::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: