![]() |
AlmaBTE
1.3
A solver of the space- and time-dependent Boltzmann transport equation for phonons
|
Objects of this class allow us to simulate completely diffusive interfaces between two media. More...
#include <sampling.hpp>
Public Member Functions | |
Elastic_interface_distribution (const Gamma_grid &gridA, const Gamma_grid &gridB, double scalebroad, randutils::mt19937_rng &_rng) | |
Constructor. More... | |
char | reemit (char incidence, const Eigen::Ref< const Eigen::Vector3d > &normal, D_particle &particle) |
Draw a final state for a particle incident from A or B or viceversa. More... | |
Objects of this class allow us to simulate completely diffusive interfaces between two media.
An incident phonon undergoes elastic diffusion and exits the interface in a mode chosen at random.
In contrast with Diffuse_mismatch_distribution, in this case the normal vector is not fixed at construction time.
alma::Elastic_interface_distribution::Elastic_interface_distribution | ( | const Gamma_grid & | gridA, |
const Gamma_grid & | gridB, | ||
double | scalebroad, | ||
randutils::mt19937_rng & | _rng | ||
) |
Constructor.
[in] | gridA | - phonon spectrum of material A |
[in] | gridB | - phonon spectrum of material B |
[in] | scalebroad | - factor modulating all the broadenings |
[in,out] | _rng | - a random number generator |
char alma::Elastic_interface_distribution::reemit | ( | char | incidence, |
const Eigen::Ref< const Eigen::Vector3d > & | normal, | ||
D_particle & | particle | ||
) |
Draw a final state for a particle incident from A or B or viceversa.
[in] | incidence | - 'A' or 'B' |
[in] | normal | - normal to the interface, pointing from A to B. |
[in,out] | particle | - information about the particle, before and after the interaction. |