Class TriangularQuadrature

Inheritance Relationships

Base Type

Derived Types

Class Documentation

class TriangularQuadrature : public opensn::AngularQuadrature

Base class for triangular quadratures.

Unlike product quadratures which have a fixed number of azimuthal angles per polar level, triangular quadratures have a varying number of azimuthal angles that decreases as the polar angle moves away from the equatorial plane.

Subclassed by opensn::GLCTriangularQuadrature2DXY, opensn::GLCTriangularQuadrature3DXYZ

Public Functions

~TriangularQuadrature() override = default
inline unsigned int GetAngleNum(const unsigned int polar_angle_index, const unsigned int azimu_angle_index) const

Obtain the abscissae index given the polar angle index and the azimuthal angle index.

inline const std::map<unsigned int, std::vector<unsigned int>> &GetDirectionMap() const

Return constant reference to map_directions.

Public Members

std::vector<double> polar_ang

Polar angles for each polar level.

Protected Functions

inline TriangularQuadrature(unsigned int dimension, unsigned int scattering_order)

Protected Attributes

double weight_sum_

Sum of all quadrature weights.

std::vector<std::vector<double>> azimuthal_per_polar_

Azimuthal angles for each polar level.

Unlike product quadratures which have a fixed number of azimuthal angles per polar level, triangular quadratures have a varying number that decreases as the polar angle moves from the equator.

std::map<unsigned int, std::vector<unsigned int>> map_directions_

Linear indices of ordered directions mapped to polar level.