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

POD class containing the information about a binary superlattice. More...

#include <superlattices.hpp>

Collaboration diagram for alma::Superlattice_structure:

Public Member Functions

 Superlattice_structure (const Crystal_structure &struct1, const Crystal_structure &struct2, const Eigen::Ref< const Eigen::Vector3i > &_normal, const Eigen::Ref< const Eigen::ArrayXd > &_profile)
 Basic constructor. More...
 
Eigen::ArrayXXd calc_w0_medium (const alma::Gamma_grid &grid, const boost::mpi::communicator &comm, double scalebroad=1.0) const
 Compute the contribution to scattering from disorder in the effective medium. More...
 
Eigen::ArrayXXd calc_w0_barriers (const alma::Gamma_grid &grid, const Dynamical_matrix_builder &factory, randutils::mt19937_rng &rng, const boost::mpi::communicator &comm, std::size_t nqline) const
 Compute the contribution to scattering from the supercell barriers. More...
 

Public Attributes

const Eigen::Vector3i normal
 Direction normal to the superlattice layers in the crystal structure. More...
 
const Eigen::ArrayXd profile
 Fraction of the second component in each layer.
 
const std::size_t nlayers
 Number of layers.
 
const double average
 Average fraction of the second component in the superlattice. More...
 
const std::unique_ptr< Crystal_structurevc_struct
 Structural description of the average virtual crystal.
 

Detailed Description

POD class containing the information about a binary superlattice.

Constructor & Destructor Documentation

◆ Superlattice_structure()

alma::Superlattice_structure::Superlattice_structure ( const Crystal_structure struct1,
const Crystal_structure struct2,
const Eigen::Ref< const Eigen::Vector3i > &  _normal,
const Eigen::Ref< const Eigen::ArrayXd > &  _profile 
)
inline

Basic constructor.

Parameters
[in]struct1- structural description of the first component of the superlattice
[in]struct2- structural description of the second component of the superlattice
[in]_normal- direction normal to the superlattice layers in the crystal structure
[in]_profile- fraction of the second component in each layer

Member Function Documentation

◆ calc_w0_barriers()

Eigen::ArrayXXd alma::Superlattice_structure::calc_w0_barriers ( const alma::Gamma_grid grid,
const Dynamical_matrix_builder factory,
randutils::mt19937_rng &  rng,
const boost::mpi::communicator &  comm,
std::size_t  nqline 
) const

Compute the contribution to scattering from the supercell barriers.

Parameters
[in]grid- a regular grid containing Gamma
[in]factory- object able to build D(q)
[in]rng- random number generator to use
[in]communicator- MPI communicator to use
[in]nqline- number of q points in the 1D Brillouin zone used to build the Green's function.
Returns
a set of scattering rates in 1 / ps

◆ calc_w0_medium()

Eigen::ArrayXXd alma::Superlattice_structure::calc_w0_medium ( const alma::Gamma_grid grid,
const boost::mpi::communicator &  comm,
double  scalebroad = 1.0 
) const

Compute the contribution to scattering from disorder in the effective medium.

Parameters
[in]grid- a regular grid containing Gamma
[in]communicator- MPI communicator to use
[in]scalebroad- factor modulating all the broadenings
Returns
a set of scattering rates in 1 / ps

Member Data Documentation

◆ average

const double alma::Superlattice_structure::average

Average fraction of the second component in the superlattice.

◆ normal

const Eigen::Vector3i alma::Superlattice_structure::normal

Direction normal to the superlattice layers in the crystal structure.


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