![]() |
AlmaBTE
1.3
A solver of the space- and time-dependent Boltzmann transport equation for phonons
|
Class for computing the exact analytical RTA solution for mean square thermal energy displacement. More...
#include <analytic1d.hpp>
Public Member Functions | |
MSD_calculator_Laplace (const alma::Crystal_structure *poscar, const alma::Gamma_grid *grid, const Eigen::ArrayXXd *w, double T) | |
Constructor: initialise internal variables. | |
void | setDirection (const Eigen::Vector3d unitvector) |
Function setting the thermal transport axis. | |
void | setLinGrid (double fmin, double fmax, int Nf) |
Construct a linear temporal frequency grid from fmin to fmax with Nf elements. | |
void | setLogGrid (double fmin, double fmax, int Nf) |
Construct a logarithmic temporal frequency grid from fmin to fmax with Nf elements. | |
void | setLaplaceGrid (const Eigen::Ref< const Eigen::VectorXcd > sgrid) |
Manually set a Laplace grid. | |
Eigen::VectorXd | getGrid () |
Retrieve the temporal frequency grid. | |
Eigen::VectorXcd | getLaplaceGrid () |
Eigen::VectorXcd | getMSD () |
Compute MSD and retrieve it. | |
Class for computing the exact analytical RTA solution for mean square thermal energy displacement.
By definition, the MSD is the variance of the macroscopic energy density: MSD = Integral(x^2*P(x,s),x=-infinity..infinity). Results are valid across all regimes (from fully ballistic to fully diffusive transport). Calculations are performed fully analytically by using the moment generating properties of the energy density in spatial frequency domain: MSD = minus second derivative of P(xi,s) at xi = 0.