AlmaBTE  1.3
A solver of the space- and time-dependent Boltzmann transport equation for phonons
alma::Grid_distribution Class Reference

Base class for discrete distributions over a q-point grid. More...

#include <sampling.hpp>

Inheritance diagram for alma::Grid_distribution:

Public Member Functions

 Grid_distribution (const Gamma_grid &grid, randutils::mt19937_rng &_rng)
 Constructor. More...
 
virtual ~Grid_distribution ()
 Trivial virtual destructor.
 
void fill_cumulative (const std::vector< double > &p)
 Fill the 'cumulative' vector. More...
 
std::array< std::size_t, 2 > sample ()
 Draw a sample from the distribution. More...
 

Public Attributes

const std::size_t nqpoints
 Number of q points.
 
const std::size_t nmodes
 Number of phonon modes at each q point.
 

Detailed Description

Base class for discrete distributions over a q-point grid.

Constructor & Destructor Documentation

◆ Grid_distribution()

alma::Grid_distribution::Grid_distribution ( const Gamma_grid grid,
randutils::mt19937_rng &  _rng 
)
inline

Constructor.

Parameters
[in]grid- phonon spectrum on a regular grid
[in]_rng- a random number generator

Member Function Documentation

◆ fill_cumulative()

void alma::Grid_distribution::fill_cumulative ( const std::vector< double > &  p)

Fill the 'cumulative' vector.

Parameters
[in]p- vector with the unnormalized probabilities of each q point

◆ sample()

std::array<std::size_t, 2> alma::Grid_distribution::sample ( )
inline

Draw a sample from the distribution.

Returns
an array containing the mode number and the q-point number.

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