#include <header.hpp>
Public Member Functions | |
| BerkeleyGWCommonHeader (const MeanFieldRecord &&, std::string, bool)=delete | |
| See the writers' own deleted rvalue constructors: this holds a reference. | |
| BerkeleyGWCommonHeader (const MeanFieldRecord &&, std::string, const std::array< int32_t, 3 > &)=delete | |
| BerkeleyGWCommonHeader (const MeanFieldRecord &record, std::string stitle, bool include_kpoint_fields) | |
| BerkeleyGWCommonHeader (const MeanFieldRecord &record, std::string stitle, const std::array< int32_t, 3 > &projector_dimensions) | |
| void | write (std::ofstream &output_file) const |
Write records 1 through 8 to output_file. | |
Static Public Member Functions | |
| static std::pair< std::array< int32_t, 3 >, std::array< double, 3 > > | complete_kpoint_grid (const std::vector< Vector3D > &kpoint_coordinates) |
| static std::pair< std::array< int32_t, 3 >, std::array< double, 3 > > | kpoint_grid_from_list (const std::vector< Vector3D > &kpoint_coordinates, const std::vector< Real > &kpoint_weights, const std::vector< SymmetryOperation > &symmetry_operations) |
Definition at line 97 of file header.hpp.
|
inline |
| stitle | 32-byte title, e.g. "WFN-Complex" or "RHO-Complex" (space-padded/truncated to 32 bytes; pw2bgw.x's write_wfng and write_rhog always pad with spaces, never a NUL terminator). |
| include_kpoint_fields | true for WFN (record 2 carries nk/nbands/ngkmax/ecutwfc and record 3 carries kgrid/kshift), false for RHO (the BerkeleyGW specification's wavefunction-only fields; write_rhog records 2-3). |
Definition at line 112 of file header.hpp.
|
inline |
The VKB header: the WFN header with record 2's nbands replaced by projector_dimensions = {nsp, nkb, nhm} – the number of species, of projector channels over all atoms, and the most channels any one atom has.
Definition at line 125 of file header.hpp.
|
delete |
See the writers' own deleted rvalue constructors: this holds a reference.
|
delete |
|
inlinestatic |
The smallest grid holding every point of kpoint_coordinates, if the points fill it exactly (every grid point present); 0 0 0 / 0 0 0 otherwise. Per axis, the smallest n at which every n * k sits the same distance from an integer, that common offset being the shift (in units of the grid step, wrapped to (-0.5, 0.5]); an axis no grid of up to maximum_grid_dimension divisions fits – a band-structure path, say – leaves the whole result unset.
Definition at line 208 of file header.hpp.
References q3::math::tolerances::kpoint_grid_offset_tolerance.
Referenced by kpoint_grid_from_list().
|
inlinestatic |
kgrid and kshift for an explicit k-point list (crystal coordinates) – the numbers pw2bgw.x takes as its wfng_nk and wfng_dk inputs for the same points.
Only a grid the list pins down is returned:
Weights are compared exactly: a full list is written with one weight repeated, and the same scaling of equal numbers stays equal.
Definition at line 164 of file header.hpp.
References complete_kpoint_grid().
|
inline |
Write records 1 through 8 to output_file.
Definition at line 256 of file header.hpp.
References q3::MeanFieldRecord::symmetry_operations.
Referenced by q3::BerkeleyGWFieldFile::write(), q3::BerkeleyGWKleinmanBylanderProjectorFile::write_to_file(), and q3::BerkeleyGWWavefunctionFile::write_to_file().