Chi-Tech
cylindrical_angular_quadrature.h
Go to the documentation of this file.
1#ifndef CYLINDRICAL_ANGULAR_QUADRATURE_H
2#define CYLINDRICAL_ANGULAR_QUADRATURE_H
3
5
7
8namespace chi_math
9{
10 class CylindricalAngularQuadrature;
11}
12
13/** Cylindrical product angular quadrature. */
15{
16// Methods
17public:
18 /** Effective constructor. Initialize with one-dimensional quadratures:
19 * the azimuthal quadrature is applied at each polar level.
20 * If not already present in the azimuthal quadrature, the method inserts
21 * the azimuthal starting directions. */
23 const chi_math::Quadrature& quad_polar,
24 const chi_math::Quadrature& quad_azimu,
25 const bool verbose=false);
26 /** Effective constructor. Initialize with one-dimensional quadratures:
27 * a possibly diverse azimuthal quadrature is applied at each polar level.
28 * If not already present in the azimuthal quadrature, the method inserts
29 * the azimuthal starting directions. */
31 const chi_math::Quadrature& quad_polar,
32 const std::vector<chi_math::Quadrature>& quad_azimu_vec,
33 const bool verbose=false);
34 /** Default destructor. */
35 virtual ~CylindricalAngularQuadrature() = default;
36
37 void MakeHarmonicIndices(unsigned int scattering_order, int dimension) override;
38private:
39 /** Initialize with one-dimensional quadratures: a polar quadrature and
40 * a possibly unique azimuthal quadrature for each polar level. */
41 void Initialize(const chi_math::Quadrature& quad_polar,
42 const std::vector<chi_math::Quadrature>& quad_azimu_vec,
43 const bool verbose=false);
44 /** Initialize parametrizing factors of the cylindrical angular quadrature,
45 * starting from a fully initialized underlying product quadrature. */
47};
48
49#endif // CYLINDRICAL_ANGULAR_QUADRATURE_H
CylindricalAngularQuadrature(const chi_math::Quadrature &quad_polar, const chi_math::Quadrature &quad_azimu, const bool verbose=false)
void MakeHarmonicIndices(unsigned int scattering_order, int dimension) override
void Initialize(const chi_math::Quadrature &quad_polar, const std::vector< chi_math::Quadrature > &quad_azimu_vec, const bool verbose=false)
virtual ~CylindricalAngularQuadrature()=default