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

Class for computing the approximate analytical RTA single pulse energy density response in real space at a given time. More...

#include <analytic1d.hpp>

Public Member Functions

 SPR_calculator_RealSpace (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 xmin, double xmax, int Nx)
 Construct a linear space grid from xmin to xmax with Nx elements.
 
void setLogGrid (double xmin, double xmax, int Nx)
 Construct a logarithmic space grid from xmin to xmax with Nx elements.
 
void declareGridNormalised (bool norm)
 Declare whether the space grid is normalised. More...
 
void normaliseOutput (bool norm)
 
void setTime (double t)
 Set time value to be used for calculations.
 
void setLogMFPbins (double MFPmin, double MFPmax, int Nbins)
 Set MFP bins to be used for resolveSPRbyMFP()
 
Eigen::VectorXd getGrid ()
 Retrieve the spatial grid.
 
Eigen::VectorXd getNormalisedGrid ()
 
double getTime ()
 Retrieve time value.
 
Eigen::VectorXd getMFPbins ()
 Retrieve MFP bins.
 
double getDiffusivity ()
 Retrieve Fourier diffusivity along thermal transport axis.
 
Eigen::VectorXd getSourceTransient (const Eigen::Ref< Eigen::VectorXd > timegrid)
 Compute source transient P(x=0) at the provided times.
 
Eigen::VectorXd getSPR ()
 Compute SPR and retrieve it.
 
Eigen::MatrixXd resolveSPRbyMFP ()
 Compute SPR of individual modes resolved by MFP.
 

Detailed Description

Class for computing the approximate analytical RTA single pulse energy density response in real space at a given time.

The approach is only valid in weakly quasiballistic regime (time scales exceeding phonon relaxation times) so that P(xi,t) exp[-psi(xi)*t].

Calculations are performed by evaluating the Fourier inversion (1/pi)*Integral(exp[-psi(xi)*t]*cos(xi*x),xi=0..infinity) semi-analytically with 2nd order Filon-type quadrature.

Member Function Documentation

◆ declareGridNormalised()

void alma::analytic1D::SPR_calculator_RealSpace::declareGridNormalised ( bool  norm)

Declare whether the space grid is normalised.

If yes, space grid values are counted in Fourier diffusion lengths, i.e. x_actual = x_grid*sqrt(2*Dbulk*t)


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