Wonton::CylindricalAxisymmetricCoordinates 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 = 1
 
static constexpr double moment_coefficient = CoordinateSystem::twopi
 

Detailed Description

Cylindrical (Axisymmetric) Coordinates Only valid in 2D. The coordinates are the distance from the z axis and the height.

Member Function Documentation

◆ modify_first_moments()

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

Name as a string.

◆ verify_coordinate_system()

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

Verify coordinate system / dimensionality combination.

Member Data Documentation

◆ geometry_factor

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

Geometry factor A very common choice is 2 pi: a one-radian wedge of a cylinder. Portage uses 1: a full cylinder.

◆ inv_geo_fac

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

Inverse geometry factor.

◆ moment_coefficient

constexpr double Wonton::CylindricalAxisymmetricCoordinates::moment_coefficient = CoordinateSystem::twopi
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::CylindricalAxisymmetricCoordinates::moment_shift = 1
static

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


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