Class AngularQuadrature

Nested Relationships

Nested Types

Inheritance Relationships

Derived Types

Class Documentation

class AngularQuadrature

Subclassed by opensn::ProductQuadrature, opensn::SimplifiedLDFESQ::Quadrature

Public Functions

virtual ~AngularQuadrature() = default
void BuildDiscreteToMomentOperator()

Computes the discrete to moment operator.

void BuildMomentToDiscreteOperator()

Computes the moment to discrete operator.

std::vector<std::vector<double>> const &GetDiscreteToMomentOperator() const

Returns a reference to the precomputed d2m operator. The operator is accessed as [m][d], where m is the moment index and d is the direction index.

std::vector<std::vector<double>> const &GetMomentToDiscreteOperator() const

Returns a reference to the precomputed m2d operator. where m is the moment index and d is the direction index.

const std::vector<HarmonicIndices> &GetMomentToHarmonicsIndexMap() const

Returns a reference to the precomputed harmonic index map.

inline unsigned int GetDimension() const
inline unsigned int GetScatteringOrder() const
inline size_t GetNumMoments() const
inline AngularQuadratureType GetType() const

Public Members

std::vector<QuadraturePointPhiTheta> abscissae
std::vector<double> weights
std::vector<Vector3> omegas

Protected Functions

inline explicit AngularQuadrature(AngularQuadratureType type, unsigned int dimension, unsigned int scattering_order)
void MakeHarmonicIndices()

Populates a map of moment m to the Spherical Harmonic indices required.

Protected Attributes

std::vector<std::vector<double>> d2m_op_
std::vector<std::vector<double>> m2d_op_
std::vector<HarmonicIndices> m_to_ell_em_map_
AngularQuadratureType type_
unsigned int dimension_
unsigned int scattering_order_
struct HarmonicIndices

Public Functions

HarmonicIndices() = default
inline HarmonicIndices(unsigned int ell, int m)
inline bool operator==(const HarmonicIndices &other) const

Public Members

unsigned int ell = 0
int m = 0