Class ProductQuadrature

Inheritance Relationships

Base Type

Derived Types

Class Documentation

class ProductQuadrature : public opensn::AngularQuadrature

Class for product quadratures.

Subclassed by opensn::CurvilinearProductQuadrature, opensn::GLCProductQuadrature2DXY, opensn::GLCProductQuadrature3DXYZ, opensn::GLProductQuadrature1DSlab

Public Functions

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

Return the abscissae index for the given polar and azimuthal angle indices.

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

Return constant reference to map_directions.

inline const std::vector<double> &GetPolarAngles() const
inline const std::vector<double> &GetAzimuthalAngles() const
inline virtual unsigned int GetNumPolarAngles() const override

Number of polar angles used by harmonic-selection rules.

inline virtual unsigned int GetNumAzimuthalAngles() const override

Number of azimuthal angles used by harmonic-selection rules.

Protected Functions

inline ProductQuadrature(unsigned int dimension, unsigned int scattering_order, OperatorConstructionMethod method)
void AssembleCosines(const std::vector<double> &azimuthal, const std::vector<double> &polar, const std::vector<double> &wts, bool verbose)

Initializes the quadrature with custom angles and weights.

Protected Attributes

std::vector<double> polar_ang_
std::vector<double> azimu_ang_
double weight_sum_
std::map<unsigned int, std::vector<unsigned int>> map_directions_

Linear indices of ordered directions mapped to polar level.

unsigned int n_polar_ = 0

Number of polar angles specified for this product quadrature.

unsigned int n_azimuthal_ = 0

Number of azimuthal angles specified for this product quadrature.