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

Objects of this class enable the calling code to compute 1d Green's functions along particular directions in a bulk material. More...

#include <green1d.hpp>

Public Member Functions

 Green1d_factory (const Crystal_structure &structure, const Eigen::Ref< const Eigen::VectorXd > &q0, const Eigen::Ref< const Eigen::VectorXi > &normal, const std::size_t nqpoints_, const Dynamical_matrix_builder &builder)
 Basic constructor. More...
 
Eigen::MatrixXcd build (double omega, std::size_t ncells) const
 Obtain the Green's function for a particular angular frequency. More...
 
double calc_w0_dmass (double q, double omega, const Eigen::Ref< const Eigen::VectorXcd > &wfin, const Eigen::Ref< const Eigen::VectorXd > &factors) const
 Obtain the scattering rate caused by a diagonal perturbation proportional to the frequency squared. More...
 

Public Attributes

const std::size_t nqpoints
 Number of q points in the grid.
 
const std::size_t ndof
 Number of degrees of freedom in the unit cell.
 

Detailed Description

Objects of this class enable the calling code to compute 1d Green's functions along particular directions in a bulk material.

Constructor & Destructor Documentation

◆ Green1d_factory()

alma::Green1d_factory::Green1d_factory ( const Crystal_structure structure,
const Eigen::Ref< const Eigen::VectorXd > &  q0,
const Eigen::Ref< const Eigen::VectorXi > &  normal,
const std::size_t  nqpoints_,
const Dynamical_matrix_builder builder 
)

Basic constructor.

Parameters
[in]structure- description of the crystal lattice
[in]q0- starting point in reciprocal space, in Cartesian coordinates
[in]normal- direction of the path in reciprocal space, expressed in direct coordinates (only integers are allowed)
[in]nqpoints_- number of divisions of the segment
[in]builder- factory of dynamical matrices

Member Function Documentation

◆ build()

Eigen::MatrixXcd alma::Green1d_factory::build ( double  omega,
std::size_t  ncells 
) const

Obtain the Green's function for a particular angular frequency.

Parameters
[in]omega- angular frequency [rad / ps]
[in]ncells- number of unit cells to include in the supercell
Returns
the Green's function matrix

◆ calc_w0_dmass()

double alma::Green1d_factory::calc_w0_dmass ( double  q,
double  omega,
const Eigen::Ref< const Eigen::VectorXcd > &  wfin,
const Eigen::Ref< const Eigen::VectorXd > &  factors 
) const

Obtain the scattering rate caused by a diagonal perturbation proportional to the frequency squared.

Parameters
[in]q- wave number of the incident phonon, as a number between 0 and 2 * pi
[in]omega- frequency of the incident phonon [rad / ps]
[in]wfin- wave function of the incident phonon over a single unit cell
[in]factors- coefficient of omega ** 2 for each atom
Returns
a scattering rate in ps^{-1}

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