Namespaces | |
| namespace | dense_matrix |
| namespace | dense_matrix_product |
| namespace | interpolation_checkpoint |
| namespace | interpolation_stream |
| namespace | wannier90_format |
| namespace | wannier_payload |
Functions | |
| WannierInputs | build_wannier_interface_record (const InterpolationSpecification &specification, PlanewavePseudopotentialKohnShamSCFIterator &iterator, int number_of_bands) |
| The Wannier method's record: interface matrices on the full k-grid. | |
| template<typename ValueType > | |
| std::vector< ValueType > | read_array (std::istream &stream) |
| template<typename ValueType > | |
| ValueType | read_scalar (std::istream &stream) |
| Vector3D | read_vector3d (std::istream &stream) |
| void | record_lattice (const Crystal &crystal_structure, InterpolationRecord &record) |
| The crystal's lattice in the record's units: Cartesian bohr, and inverse bohr with the 2 pi. | |
| template<typename ValueType > | |
| void | write_array (std::ostream &stream, const std::vector< ValueType > &values) |
| Length-prefixed array of trivially copyable values. | |
| template<typename ValueType > | |
| void | write_scalar (std::ostream &stream, const ValueType &value) |
| void | write_vector3d (std::ostream &stream, const Vector3D &vector) |
Variables | |
| constexpr uint32_t | mean_field_record_magic = 0x464D3351 |
| constexpr uint32_t | mean_field_record_version = 1 |
|
inline |
The Wannier method's record: interface matrices on the full k-grid.
Without a range the model is built from the lowest bands, which is what an isolated valence manifold needs. With one, the range says where the manifold starts – semicore states from the pseudopotential sit below it – and how many bands it holds.
The augmentation tables and the electronic state are in two different objects, and the snapshot is the one to ask. iterator.quantum_system() returns a by-value member declared as the base PlanewaveKohnShamQuantumSystem, so its dynamic type is always exactly that and a cast of it can never succeed, for any dataset. The ultrasoft ITERATOR's snapshot is the augmentation-aware quantum system.
The snapshot carries the pseudopotential data but only the electronic state of its last refresh, and the builder reads wavefunctions, eigenvalues and the Fermi energy out of the same object it reads ultrasoft_basis() from, so refresh it first.
Definition at line 75 of file capture.hpp.
References q3::InterpolationSpecification::bands, q3::PlanewaveWannierCapture::build(), q3::PlanewaveWannierCapture::build_ultrasoft(), q3::create_planewave_local_orbital_set(), q3::KohnShamSCFIterator::crystal_structure(), q3::PlanewaveKohnShamSCFIterator::execution_policy(), q3::InterpolationSpecification::first_band_index(), q3::PlanewaveKohnShamSCFIterator::g_vector_indices(), q3::InterpolationSpecification::grid, q3::PseudopotentialSet::has_augmentation_charges(), q3::InterpolationSpecification::has_band_selection(), q3::log::info(), q3::PlanewaveKohnShamSCFIterator::kpoint_grid(), q3::PlanewavePseudopotentialKohnShamSCFIterator::norm_conserving_quantum_system(), q3::KPointsGrid::number_of_kpoints(), q3::InterpolationSpecification::number_of_selected_bands(), q3::PlanewaveKohnShamSCFIterator::planewave_basis(), q3::InterpolationSpecification::projection_centers, q3::InterpolationSpecification::projection_decay_bohr, q3::PlanewavePseudopotentialKohnShamSCFIterator::pseudopotential_set(), q3::PlanewaveKohnShamSCFIterator::quantum_system(), q3::PlanewavePseudopotentialKohnShamSCFIterator::refresh_quantum_system_snapshot(), and q3::InterpolationSpecification::trial_shells.
Referenced by q3::capture_interpolation_record().
| std::vector< ValueType > q3::internal::read_array | ( | std::istream & | stream | ) |
Definition at line 83 of file checkpoint.hpp.
| ValueType q3::internal::read_scalar | ( | std::istream & | stream | ) |
Definition at line 53 of file checkpoint.hpp.
|
inline |
Definition at line 65 of file checkpoint.hpp.
References q3::Vector3D::x, q3::Vector3D::y, and q3::Vector3D::z.
|
inline |
The crystal's lattice in the record's units: Cartesian bohr, and inverse bohr with the 2 pi.
Definition at line 62 of file capture.hpp.
References q3::Crystal::lattice_parameter(), q3::Crystal::lattice_vectors(), q3::InterpolationRecord::real_lattice_bohr, q3::InterpolationRecord::reciprocal_lattice_inverse_bohr, q3::Crystal::reciprocal_lattice_vectors(), and q3::constants::two_pi.
Referenced by q3::capture_interpolation_record().
| void q3::internal::write_array | ( | std::ostream & | stream, |
| const std::vector< ValueType > & | values | ||
| ) |
Length-prefixed array of trivially copyable values.
Definition at line 75 of file checkpoint.hpp.
| void q3::internal::write_scalar | ( | std::ostream & | stream, |
| const ValueType & | value | ||
| ) |
Definition at line 49 of file checkpoint.hpp.
|
inline |
Definition at line 59 of file checkpoint.hpp.
References q3::Vector3D::x, q3::Vector3D::y, and q3::Vector3D::z.
|
constexpr |
Definition at line 46 of file checkpoint.hpp.
|
constexpr |
Definition at line 47 of file checkpoint.hpp.