Chi-Tech
chi_math::CylindricalAngularQuadrature Class Reference

#include <cylindrical_angular_quadrature.h>

Inheritance diagram for chi_math::CylindricalAngularQuadrature:
chi_math::CurvilinearAngularQuadrature chi_math::ProductQuadrature chi_math::AngularQuadrature

Public Member Functions

 CylindricalAngularQuadrature (const chi_math::Quadrature &quad_polar, const chi_math::Quadrature &quad_azimu, const bool verbose=false)
 
 CylindricalAngularQuadrature (const chi_math::Quadrature &quad_polar, const std::vector< chi_math::Quadrature > &quad_azimu_vec, const bool verbose=false)
 
virtual ~CylindricalAngularQuadrature ()=default
 
void MakeHarmonicIndices (unsigned int scattering_order, int dimension) override
 
- Public Member Functions inherited from chi_math::CurvilinearAngularQuadrature
const std::vector< double > & GetDiamondDifferenceFactor () const
 
const std::vector< double > & GetStreamingOperatorFactor () const
 
- Public Member Functions inherited from chi_math::ProductQuadrature
 ~ProductQuadrature () override=default
 
void AssembleCosines (const std::vector< double > &azimuthal, const std::vector< double > &polar, const std::vector< double > &in_weights, bool verbose)
 
void OptimizeForPolarSymmetry (double normalization) override
 
unsigned int GetAngleNum (const unsigned int polar_angle_index, const unsigned int azimu_angle_index) const
 
const std::map< unsigned int, std::vector< unsigned int > > & GetDirectionMap () const
 
- Public Member Functions inherited from chi_math::AngularQuadrature
 AngularQuadrature ()
 
 AngularQuadrature (chi_math::AngularQuadratureType in_type)
 
virtual ~AngularQuadrature ()=default
 
virtual void OptimizeForPolarSymmetry (double normalization)
 
virtual void BuildDiscreteToMomentOperator (unsigned int scattering_order, int dimension)
 
virtual void BuildMomentToDiscreteOperator (unsigned int scattering_order, int dimension)
 
std::vector< std::vector< double > > const & GetDiscreteToMomentOperator () const
 
std::vector< std::vector< double > > const & GetMomentToDiscreteOperator () const
 
const std::vector< HarmonicIndices > & GetMomentToHarmonicsIndexMap () const
 

Private Member Functions

void Initialize (const chi_math::Quadrature &quad_polar, const std::vector< chi_math::Quadrature > &quad_azimu_vec, const bool verbose=false)
 
void InitializeParameters ()
 

Additional Inherited Members

- Data Fields inherited from chi_math::ProductQuadrature
std::vector< double > polar_ang_
 
std::vector< double > azimu_ang_
 
- Data Fields inherited from chi_math::AngularQuadrature
const chi_math::AngularQuadratureType type_
 
std::vector< chi_math::QuadraturePointPhiThetaabscissae_
 
std::vector< double > weights_
 
std::vector< chi_mesh::Vector3omegas_
 
- Protected Member Functions inherited from chi_math::CurvilinearAngularQuadrature
 CurvilinearAngularQuadrature ()=default
 
virtual ~CurvilinearAngularQuadrature ()=default
 
- Protected Member Functions inherited from chi_math::ProductQuadrature
 ProductQuadrature ()
 
virtual void MakeHarmonicIndices (unsigned int scattering_order, int dimension)
 
- Protected Attributes inherited from chi_math::CurvilinearAngularQuadrature
std::vector< double > fac_diamond_difference_
 
std::vector< double > fac_streaming_operator_
 
- Protected Attributes inherited from chi_math::ProductQuadrature
std::map< unsigned int, std::vector< unsigned int > > map_directions_
 
- Protected Attributes inherited from chi_math::AngularQuadrature
std::vector< std::vector< double > > d2m_op_
 
std::vector< std::vector< double > > m2d_op_
 
std::vector< HarmonicIndicesm_to_ell_em_map_
 
bool d2m_op_built_ = false
 
bool m2d_op_built_ = false
 

Detailed Description

Cylindrical product angular quadrature.

Definition at line 14 of file cylindrical_angular_quadrature.h.

Constructor & Destructor Documentation

◆ CylindricalAngularQuadrature() [1/2]

chi_math::CylindricalAngularQuadrature::CylindricalAngularQuadrature ( const chi_math::Quadrature quad_polar,
const chi_math::Quadrature quad_azimu,
const bool  verbose = false 
)

Effective constructor. Initialize with one-dimensional quadratures: the azimuthal quadrature is applied at each polar level. If not already present in the azimuthal quadrature, the method inserts the azimuthal starting directions.

Definition at line 11 of file cylindrical_angular_quadrature.cc.

◆ CylindricalAngularQuadrature() [2/2]

chi_math::CylindricalAngularQuadrature::CylindricalAngularQuadrature ( const chi_math::Quadrature quad_polar,
const std::vector< chi_math::Quadrature > &  quad_azimu_vec,
const bool  verbose = false 
)

Effective constructor. Initialize with one-dimensional quadratures: a possibly diverse azimuthal quadrature is applied at each polar level. If not already present in the azimuthal quadrature, the method inserts the azimuthal starting directions.

Definition at line 24 of file cylindrical_angular_quadrature.cc.

◆ ~CylindricalAngularQuadrature()

virtual chi_math::CylindricalAngularQuadrature::~CylindricalAngularQuadrature ( )
virtualdefault

Default destructor.

Member Function Documentation

◆ Initialize()

void chi_math::CylindricalAngularQuadrature::Initialize ( const chi_math::Quadrature quad_polar,
const std::vector< chi_math::Quadrature > &  quad_azimu_vec,
const bool  verbose = false 
)
private

Initialize with one-dimensional quadratures: a polar quadrature and a possibly unique azimuthal quadrature for each polar level.

Definition at line 36 of file cylindrical_angular_quadrature.cc.

◆ InitializeParameters()

void chi_math::CylindricalAngularQuadrature::InitializeParameters ( )
private

Initialize parametrizing factors of the cylindrical angular quadrature, starting from a fully initialized underlying product quadrature.

Definition at line 228 of file cylindrical_angular_quadrature.cc.

◆ MakeHarmonicIndices()

void chi_math::CylindricalAngularQuadrature::MakeHarmonicIndices ( unsigned int  scattering_order,
int  dimension 
)
overridevirtual

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

Reimplemented from chi_math::AngularQuadrature.

Definition at line 269 of file cylindrical_angular_quadrature.cc.


The documentation for this class was generated from the following files: