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

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

Detailed Description

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.

Constructor & Destructor Documentation

◆ Elastic_interface_distribution()

alma::Elastic_interface_distribution::Elastic_interface_distribution ( const Gamma_grid gridA,
const Gamma_grid gridB,
double  scalebroad,
randutils::mt19937_rng &  _rng 
)

Constructor.

Parameters
[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

Member Function Documentation

◆ reemit()

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.

Parameters
[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.
Returns
'A' or 'B', depending on the direction of emission

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