25 #include <boost/filesystem.hpp> 51 const Eigen::Ref<const Eigen::VectorXd>& q0,
52 const Eigen::Ref<const Eigen::VectorXi>& normal,
53 const std::size_t nqpoints_,
61 Eigen::MatrixXcd
build(
double omega, std::size_t ncells)
const;
76 const Eigen::Ref<const Eigen::VectorXcd>& wfin,
77 const Eigen::Ref<const Eigen::VectorXd>& factors)
const;
89 Eigen::ArrayXXd Egrid;
94 Eigen::ArrayXXd dEgrid;
98 std::vector<Eigen::MatrixXcd> wfgrid;
105 inline Eigen::MatrixXcd get_superwfs(std::size_t iq,
106 std::size_t ncells)
const;
113 Eigen::MatrixXcd compute_weights(
double omega2)
const;
const std::size_t nqpoints
Number of q points in the grid.
Definition: green1d.hpp:37
Definition: analytic1d.hpp:26
Eigen::MatrixXcd build(double omega, std::size_t ncells) const
Obtain the Green's function for a particular angular frequency.
Definition: green1d.cpp:57
Objects of this class enable the calling code to compute 1d Green's functions along particular direct...
Definition: green1d.hpp:34
Code related to the dynamical matrix.
Classes and functions used to manipulate grids in reciprocal space.
const std::size_t ndof
Number of degrees of freedom in the unit cell.
Definition: green1d.hpp:39
Factory of Dynamical_matrix objects.
Definition: dynamical_matrix.hpp:108
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.
Definition: green1d.cpp:30
Routines to load files coming from the VASP + Phonopy ecosystem.
Hold information about a crystal structure.
Definition: structures.hpp:51
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...
Definition: green1d.cpp:76