![]() |
AlmaBTE
1.3
A solver of the space- and time-dependent Boltzmann transport equation for phonons
|
Class for computing basic thermal properties (kappa, Cv, diffusivity) and cumulative functions (resolved for MFP, energy, etc.) along a given transport direction. More...
#include <analytic1d.hpp>
Public Member Functions | |
BasicProperties_calculator (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 | setLogMFPbins (double MFPmin, double MFPmax, int Nbins) |
Construct a logarithmic grid of MFP bins from MFPmin to MFPmax with Nbins elements. | |
void | setAutoMFPbins (int Nbins) |
Construct a logarithmic grid of MFP bins witn Nbins elements. More... | |
void | setAutoProjMFPbins (int Nbins) |
Construct a logarithmic grid of MFP bins witn Nbins elements. More... | |
void | setLogRTbins (double taumin, double taumax, int Nbins) |
Construct a logarithmic grid of tau bins from taumin to taumax with Nbins elements. | |
void | setAutoRTbins (int Nbins) |
Construct a logarithmic grid of tau bins witn Nbins elements. More... | |
void | setLinOmegabins (double omegamin, double omegamax, int Nbins) |
Construct a linear grid of omega bins from omegamin to omegamax with Nbins elements. | |
void | setAutoOmegabins (int Nbins) |
Construct a linear grid of omega bins witn Nbins elements. More... | |
Eigen::VectorXd | getMFPbins () |
Retrieve the MFP bins. | |
Eigen::VectorXd | getRTbins () |
Retrieve the relaxation time bins. | |
Eigen::VectorXd | getOmegabins () |
Retrieve the relaxation time bins. | |
void | setBulk () |
Specify that the medium should be treated as infinite bulk (default option) | |
void | setInPlaneFilm (double filmthickness, const Eigen::Vector3d normal, double specularity=0.0) |
Specify that the medium should be treated as a thin film with provided thickness. More... | |
void | setCrossPlaneFilm (double filmthickness) |
double | getConductivity () |
Retrieve thermal conductivity. | |
double | getSpectralConductivity () |
Obtain spectrally computed thermal conductivity. | |
double | getCapacity () |
Compute the heat capacity and retrieve it. | |
double | getDiffusivity () |
Compute the Fourier diffusivity and retrieve it. | |
double | getDominantProjMFP () |
Retrieve the dominant projected MFP as defined below. | |
double | getDominantRT () |
Retrieve the dominant phonon relaxation time. | |
double | getAnisotropyIndex () |
Compute the anisotropy index kappa_max/kappa_min and retrieve it. | |
void | resolveByMFP () |
Choose resolving cumulative curves by MFP. | |
void | resolveByProjMFP () |
Choose resolving cumulative curves by projected MFP. | |
void | resolveByRT () |
Choose resolving cumulative curves by relaxation time. | |
void | resolveByOmega () |
Choose resolving cumulative curves by angular frequency. | |
Eigen::VectorXd | getCumulativeConductivity () |
Compute the cumulative thermal conductivity curve with respect to the MFP bins and retrieve it. | |
Eigen::VectorXd | getCumulativeCapacity () |
Compute the cumulative heat capacity curve with respect to the MFP bins and retrieve it. | |
void | setDOSgridsize (int nbins) |
Set the number of bins to be used in DOS evaluation. | |
Eigen::VectorXd | getDOSgrid () |
Obtain the DOS energy grid (in meV) | |
Eigen::VectorXd | getDOS () |
Calculate and obtain the DOS. | |
Class for computing basic thermal properties (kappa, Cv, diffusivity) and cumulative functions (resolved for MFP, energy, etc.) along a given transport direction.
Calculations involve appropriate thin film corrections for both cross-plane and in-plane transport.
void alma::analytic1D::BasicProperties_calculator::setAutoMFPbins | ( | int | Nbins | ) |
Construct a logarithmic grid of MFP bins witn Nbins elements.
MFPmax is assigned automatically to twice the largest MFP. MFPmin is assigned to 1e-6*largest MFP.
void alma::analytic1D::BasicProperties_calculator::setAutoOmegabins | ( | int | Nbins | ) |
Construct a linear grid of omega bins witn Nbins elements.
omegamax is assigned automatically to 1.1*largest angular frequency. omegamin is automatically set to 0.
void alma::analytic1D::BasicProperties_calculator::setAutoProjMFPbins | ( | int | Nbins | ) |
Construct a logarithmic grid of MFP bins witn Nbins elements.
MFPmax is assigned automatically to the twice the largest projected MFP. MFPmin is assigned to 1e-6*largest projected MFP.
void alma::analytic1D::BasicProperties_calculator::setAutoRTbins | ( | int | Nbins | ) |
Construct a logarithmic grid of tau bins witn Nbins elements.
taumax is assigned automatically to the twice the largest relaxation time. taumin is assigned to 1e-6*largest relaxation time.
void alma::analytic1D::BasicProperties_calculator::setInPlaneFilm | ( | double | filmthickness, |
const Eigen::Vector3d | normal, | ||
double | specularity = 0.0 |
||
) |
Specify that the medium should be treated as a thin film with provided thickness.
This option corrects MFPs and relaxation times in conductivity calculations.