![]() |
AlmaBTE
1.3
A solver of the space- and time-dependent Boltzmann transport equation for phonons
|
Class representing the anharmonic (third-order) interaction between two atoms atoms. More...
#include <structures.hpp>
Public Member Functions | |
double & | ifc (std::size_t alpha, std::size_t beta, std::size_t gamma) |
Access a particular ifc using three indexes. More... | |
const double & | ifc (std::size_t alpha, std::size_t beta, std::size_t gamma) const |
Access a particular ifc using three indexes. More... | |
Thirdorder_ifcs (const Eigen::VectorXd &_rj, const Eigen::VectorXd &_rk, std::size_t _i, std::size_t _j, std::size_t _k) | |
Basic constructor. More... | |
Public Attributes | |
const Eigen::VectorXd | rj |
Cartesian coordinates of the second unit cell. | |
const Eigen::VectorXd | rk |
Cartesian coordinates of the third unit cell. | |
const std::size_t | i |
Index of the first atom. | |
const std::size_t | j |
Index of the second atom. | |
const std::size_t | k |
Index of the third atom. | |
Class representing the anharmonic (third-order) interaction between two atoms atoms.
Note that, since third-order IFCs tend to be expressed in sparse formats, it is more natural to store each tensor individually. There is no third-order equivalent to the Harmonic_ifcs class. Vectors of Thirdorder_ifcs can be used instead. The first atom, i, is always assumed to be part of the first unit cell, that is, R_i = {0., 0., 0.}.
|
inline |
Basic constructor.
It does not initialize the ifcs member variable.
|
inline |
Access a particular ifc using three indexes.
Note that all indices must be positive and lower than 3, but that this condition is not checked.
[in] | alpha | - first axis index |
[in] | beta | - second axis index |
[in] | gamma | - third axis index |
|
inline |
Access a particular ifc using three indexes.
Note that all indices must be positive and lower than 3, but that this condition is not checked.
[in] | alpha | - first axis index |
[in] | beta | - second axis index |
[in] | gamma | - third axis index |