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

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...

#include <sampling.hpp>

Inheritance diagram for alma::Isothermal_wall_distribution:
Collaboration diagram for alma::Isothermal_wall_distribution:

Public Member Functions

 Isothermal_wall_distribution (const Gamma_grid &grid, double Twall, double Teq, const Eigen::Ref< const Eigen::Vector3d > &normal, randutils::mt19937_rng &_rng)
 Constructor. More...
 
- Public Member Functions inherited from alma::Grid_distribution
 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...
 

Additional Inherited Members

- Public Attributes inherited from alma::Grid_distribution
const std::size_t nqpoints
 Number of q points.
 
const std::size_t nmodes
 Number of phonon modes at each q point.
 

Detailed Description

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.

They are also useful for simple periodic systems if Teq is set accordingly.

Constructor & Destructor Documentation

◆ Isothermal_wall_distribution()

alma::Isothermal_wall_distribution::Isothermal_wall_distribution ( const Gamma_grid grid,
double  Twall,
double  Teq,
const Eigen::Ref< const Eigen::Vector3d > &  normal,
randutils::mt19937_rng &  _rng 
)

Constructor.

Parameters
[in]grid- phonon spectrum on a regular grid
[in]Twall- the temperature of the wall in K
[in]Teq- the simulation temperature in K
[in]normal- a normal vector pointing out of the wall
[in,out]_rng- a random number generator

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