Loading...
Searching...
No Matches
g_vector.hpp
Go to the documentation of this file.
1#pragma once
2
3/**
4 * G-vector.
5 *
6 * A reciprocal lattice vector characterized by integer Miller indices.
7 * Extends ReciprocalSpaceVector with the integer representation,
8 * Cartesian coordinates in 2π/alat units, precomputed |G|², and FFT index.
9 */
10
13
14namespace q3 {
15
16/// A reciprocal lattice vector with Miller indices, used in plane-wave calculations.
17struct [[nodiscard]] GVector : public ReciprocalSpaceVector {
18 /// Integer Miller indices (h, k, l).
20
21 /// Cartesian coordinates in units of 2π/alat.
23
24 /**
25 * Squared magnitude |G|² in units of (2π/alat)² (so real |G|² = magnitude_squared *
26 * (2π/alat)²).
27 */
28 Real magnitude_squared = 0.0;
29};
30
31} // namespace q3
double Real
A reciprocal lattice vector with Miller indices, used in plane-wave calculations.
Definition g_vector.hpp:17
IntegerVector3D miller
Integer Miller indices (h, k, l).
Definition g_vector.hpp:19
Vector3D g_cart
Cartesian coordinates in units of 2π/alat.
Definition g_vector.hpp:22
Integer 3-vector for Miller indices / FFT grid indices.
A vector in reciprocal space (Cartesian, units of 2π/alat).