|
| | ElectronH0Fourier (Crystal &crystal_, const Points &coarsePoints_, const FullBandStructure &coarseBandStructure_, double cutoff) |
| | Constructor of the Fourier interpolation This class stores a copy of the electronic band structure on the coarse grid. More...
|
| |
|
Particle | getParticle () override |
| | Method to return that the underlying is that of an electronic Fermion.
|
| |
|
int | getNumBands () override |
| | Get the total number of bands available at ech wavevector.
|
| |
| std::tuple< Eigen::VectorXd, Eigen::MatrixXcd > | diagonalize (Point &point) override |
| | get the electronic energies (in Ry) at a single k-point. More...
|
| |
| std::tuple< Eigen::VectorXd, Eigen::MatrixXcd > | diagonalizeFromCoordinates (Eigen::Vector3d &wavevector) override |
| | Diagonalize the Harmonic Hamiltonian at an arbitrary wavevector. More...
|
| |
| Eigen::Tensor< std::complex< double >, 3 > | diagonalizeVelocity (Point &point) override |
| | get the electron velocities (in atomic units) at a single k-point. More...
|
| |
|
Eigen::Tensor< std::complex< double >, 3 > | diagonalizeVelocityFromCoordinates (Eigen::Vector3d &coordinates) override |
| |
| FullBandStructure | populate (Points &fullPoints, const bool &withVelocities, const bool &withEigenvectors, const bool isDistributed=false) override |
| | This method constructs an electron band structure. More...
|
| |
|
void | trimBands (Context &context, const double &minEn, const double &maxEn) |
| |
|
virtual StridedComplexView3D | kokkosBatchedBuildBlochHamiltonian (const DoubleView2D &cartesianCoordinates) override |
| |
|
virtual std::tuple< DoubleView2D, StridedComplexView3D, ComplexView4D > | kokkosBatchedDiagonalizeWithVelocities (const DoubleView2D &cartesianCoordinates) override |
| |
|
std::tuple< DoubleView2D, StridedComplexView3D > | kokkosBatchedDiagonalizeFromCoordinates (const DoubleView2D &cartesianCoordinates, const bool withMassScaling=true) override |
| |
| void | kokkosBatchedTreatDegenerateVelocities (const DoubleView2D &cartesianCoordinates, const DoubleView2D &resultEnergies, ComplexView4D &resultVelocities, const double &threshold) |
| |
| virtual int | estimateBatchSize (const bool &withVelocity) |
| | Estimate how many k-points we can compute on the GPU in one batch. More...
|
| |
|
|
void | setPositionVectors () |
| |
|
Eigen::VectorXcd | getLagrangeMultipliers (Eigen::VectorXd energies) |
| |
|
Eigen::VectorXcd | getCoefficients (Eigen::VectorXd energies) |
| |
|
std::complex< double > | getStarFunction (Eigen::Vector3d &wavevector, int &iR) |
| |
|
Eigen::Vector3cd | getDerivativeStarFunction (Eigen::Vector3d &wavevector, int &iR) |
| |
|
double | getRoughnessFunction (const Eigen::Vector3d &position) const |
| |
|
double | getEnergyFromCoordinates (Eigen::Vector3d &wavevector, int &bandIndex) |
| |
|
Eigen::Vector3d | getGroupVelocityFromCoordinates (Eigen::Vector3d &wavevector, int &bandIndex) |
| |
Takes the information on the band structure computed on a uniform coarse grid of k-points, and interpolates it to finer grids with a plane wave based method.