![]() |
AlmaBTE
1.3
A solver of the space- and time-dependent Boltzmann transport equation for phonons
|
Definitions corresponding to processes.hpp. More...
#include <cmath>
#include <complex>
#include <constants.hpp>
#include <periodic_table.hpp>
#include <utilities.hpp>
#include <processes.hpp>
Functions | |
std::vector< Threeph_process > | alma::find_allowed_threeph (const Gamma_grid &grid, const boost::mpi::communicator &communicator, double scalebroad=1.0) |
Look for allowed three-phonon processes in a regular grid. More... | |
Eigen::ArrayXXd | alma::calc_w0_threeph (const alma::Gamma_grid &grid, std::vector< alma::Threeph_process > &processes, double T, const boost::mpi::communicator &comm) |
Compute and store the three-phonon contribution to the RTA scattering rates for all vibrational modes on a grid. More... | |
Eigen::ArrayXXd | alma::calc_w0_threeph (const alma::Gamma_grid &grid, std::vector< alma::Threeph_process > &processes, double T, std::function< bool(const Threeph_process &)> filter, const boost::mpi::communicator &comm) |
Compute and store the three-phonon contribution to the RTA scattering rates for all vibrational modes on a grid. More... | |
Definitions corresponding to processes.hpp.
Eigen::ArrayXXd alma::calc_w0_threeph | ( | const alma::Gamma_grid & | grid, |
std::vector< alma::Threeph_process > & | processes, | ||
double | T, | ||
const boost::mpi::communicator & | comm | ||
) |
Compute and store the three-phonon contribution to the RTA scattering rates for all vibrational modes on a grid.
[in] | grid | - phonon spectrum on a regular grid |
[in] | processes | - a vector of allowed three-phonon processes |
[in] | T | - the temperature in K |
[in] | comm | - an mpi communicator |
Eigen::ArrayXXd alma::calc_w0_threeph | ( | const alma::Gamma_grid & | grid, |
std::vector< alma::Threeph_process > & | processes, | ||
double | T, | ||
std::function< bool(const Threeph_process &)> | filter, | ||
const boost::mpi::communicator & | comm | ||
) |
Compute and store the three-phonon contribution to the RTA scattering rates for all vibrational modes on a grid.
Take into account only those processes fullfilling a criterion.
[in] | grid | - phonon spectrum on a regular grid |
[in] | processes | - a vector of allowed three-phonon processes |
[in] | T | - the temperature in K |
[in] | filter | - boolean function returning true if a process must be taken into account |
[in] | comm | - an mpi communicator |
std::vector< Threeph_process > alma::find_allowed_threeph | ( | const Gamma_grid & | grid, |
const boost::mpi::communicator & | communicator, | ||
double | scalebroad = 1.0 |
||
) |
Look for allowed three-phonon processes in a regular grid.
Iterate over part of the irreducible q points in the grid (trying to evenly split the equivalence classes over processes) and look for allowed three-phonon processes involving one phonon from that part and two other phonons from anywhere in the grid.
[in] | grid | - a regular grid containing Gamma |
[in] | communicator | - MPI communicator to use |
[in] | scalebroad | - factor modulating all the broadenings |