AlmaBTE  1.3
A solver of the space- and time-dependent Boltzmann transport equation for phonons
sampling.hpp File Reference

Classes and functions used for sampling from several distributions used in the MC scheme. More...

#include <vector>
#include <utility>
#include <tuple>
#include <map>
#include <Eigen/Dense>
#include <randutils.hpp>
#include <structures.hpp>
#include <qpoint_grid.hpp>
#include <dos.hpp>
#include <processes.hpp>
#include <deviational_particle.hpp>
Include dependency graph for sampling.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  alma::Grid_distribution
 Base class for discrete distributions over a q-point grid. More...
 
class  alma::BE_derivative_distribution
 Objects of this class allow us to sample from a discrete distribution over a q-point grid with a PMF proportional to cv / tau, where cv is the contribution to the specific heat and tau is the relaxation time. More...
 
class  alma::Nabla_T_distribution
 Objects of this class allow us to sample from a discrete distribution over a q-point grid with a PMF proportional to one component of the group velocity and to each mode's contribution to the specific heat. More...
 
class  alma::Isothermal_wall_distribution
 Objects of this class allow us to sample from a discrete distribution over a q-point grid with a PMF corresponding to an isothermal wall of given orientation and equilibrium temperature. More...
 
class  alma::planar_source_distribution
 planar_source_distribution Emission probability for outgoing modes is proportional to heat capacity * normal velocity. More...
 
class  alma::Diffuse_mismatch_distribution
 Diffuse mismatch distribution. More...
 
class  alma::Elastic_interface_distribution
 Objects of this class allow us to simulate completely diffusive interfaces between two media. More...
 
class  alma::Elastic_distribution
 

Functions

double alma::random_dt (double w, randutils::mt19937_rng &rng)
 Generate a random time delta from an exponential distribution. More...
 

Detailed Description

Classes and functions used for sampling from several distributions used in the MC scheme.

Function Documentation

◆ random_dt()

double alma::random_dt ( double  w,
randutils::mt19937_rng &  rng 
)
inline

Generate a random time delta from an exponential distribution.

Parameters
[in]w- a scattering rate
[in]rng- a random number generator
Returns
an exponential deviate