![]() |
AlmaBTE
1.3
A solver of the space- and time-dependent Boltzmann transport equation for phonons
|
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>
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... | |
![]() | |
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 | |
![]() | |
const std::size_t | nqpoints |
Number of q points. | |
const std::size_t | nmodes |
Number of phonon modes at each q point. | |
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.
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.
[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 |