#include <hydrogenic_orbital_set.hpp>
Inheritance diagram for q3::PlanewaveHydrogenicOrbitalSet:Public Member Functions | |
| PlanewaveHydrogenicOrbitalSet (std::vector< HydrogenicOrbital > orbitals) | |
| void | build (int kpoint_index, int number_of_plane_waves, const std::vector< int > &g_vector_indices, const Crystal &crystal_structure, const KPointsGrid &kpoint_grid, const PlanewaveBasis &planewave_basis, std::vector< std::vector< Complex > > &orbitals) const override |
| std::vector< Vector3D > | centers_crystal () const override |
| Exactly the centres the manifest named, in the order it named them. | |
| std::string | description () const override |
| One line for logs, naming the source and the count. | |
| int | number_of_orbitals () const override |
| const std::vector< HydrogenicOrbital > & | orbitals () const |
Public Member Functions inherited from q3::PlanewaveLocalOrbitalSet | |
| virtual | ~PlanewaveLocalOrbitalSet ()=default |
Definition at line 64 of file hydrogenic_orbital_set.hpp.
|
inlineexplicit |
Definition at line 66 of file hydrogenic_orbital_set.hpp.
|
inlineoverridevirtual |
Follows the same conventions as build_atomic_orbitals_g_space: the structure factor is e^{-i 2*pi (k+G).tau} with both the k-point and the centre in alat-relative Cartesian units, and |k+G| carries the 2*pi/alat factor to become a physical wavevector.
The centre arrives in crystal coordinates; carry it to the alat-relative Cartesian frame the structure factor below uses, exactly as Crystal::convert_from_crystal_to_cartesian does for an atom.
g(q) = 8 sqrt(pi a^3) / (1 + a^2 q^2)^2 is the transform of the unit-normalized 1s orbital; the 1/sqrt(Omega) carries it to the plane-wave coefficient convention the Kleinman-Bylander projectors and the pseudo-atomic orbitals use.
Implements q3::PlanewaveLocalOrbitalSet.
Definition at line 91 of file hydrogenic_orbital_set.hpp.
References q3::Crystal::cell_volume(), q3::HydrogenicOrbital::center_crystal, q3::compute_phase_factor(), q3::HydrogenicOrbital::decay_length_bohr, q3::GVector::g_cart, q3::PlanewaveBasis::g_vectors(), q3::Crystal::lattice_vectors(), orbitals(), q3::constants::pi, q3::Crystal::reciprocal_lattice_vectors(), q3::constants::two_pi, q3::Crystal::two_pi_over_lattice_parameter(), q3::Vector3D::x, q3::Vector3D::y, and q3::Vector3D::z.
|
inlineoverridevirtual |
Exactly the centres the manifest named, in the order it named them.
Implements q3::PlanewaveLocalOrbitalSet.
Definition at line 171 of file hydrogenic_orbital_set.hpp.
|
inlineoverridevirtual |
One line for logs, naming the source and the count.
Implements q3::PlanewaveLocalOrbitalSet.
Definition at line 180 of file hydrogenic_orbital_set.hpp.
References number_of_orbitals().
|
inlineoverridevirtual |
Implements q3::PlanewaveLocalOrbitalSet.
Definition at line 77 of file hydrogenic_orbital_set.hpp.
Referenced by description().
|
inline |
Definition at line 81 of file hydrogenic_orbital_set.hpp.
Referenced by build().