Class TriangularQuadrature
Defined in File triangular_quadrature.h
Inheritance Relationships
Base Type
public opensn::AngularQuadrature(Class AngularQuadrature)
Derived Types
public opensn::GLCTriangularQuadrature2DXY(Class GLCTriangularQuadrature2DXY)public opensn::GLCTriangularQuadrature3DXYZ(Class GLCTriangularQuadrature3DXYZ)
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 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
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
Polar angles for each polar level.
-
inline const std::vector<std::vector<double>> &GetAzimuthalAnglesPerPolarLevel() const
Azimuthal angles for each polar level.
-
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 TriangularQuadrature(unsigned int dimension, unsigned int scattering_order, OperatorConstructionMethod method = OperatorConstructionMethod::STANDARD)
Protected Attributes
-
double weight_sum_
Sum of all quadrature weights.
-
std::vector<double> polar_ang_
Polar angles for each polar level.
-
std::vector<std::vector<double>> azimuthal_per_polar_
Azimuthal angles for each polar level.
The number of azimuthal angles decreases as the polar angle moves away from the equator, in contrast to product quadratures which have a fixed count at every level.
-
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 triangular quadrature.
-
unsigned int n_azimuthal_ = 0
Maximum number of azimuthal angles specified for this triangular quadrature.
-
~TriangularQuadrature() override = default