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>
|
| 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...
|
|
|
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.
|
|
Objects of this class enable the calling code to compute 1d Green's functions along particular directions in a bulk material.
◆ 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 |
◆ 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: