PSCF v1.1
Public Attributes | List of all members
Pscf::Basis< D >::Wave Class Reference

Wavevector used to construct a basis function. More...

#include <Basis.h>

Public Attributes

std::complex< double > coeff
 Coefficient of wave within the associated star basis function. More...
 
IntVec< D > indicesDft
 Integer indices of wave, on a discrete Fourier transform mesh. More...
 
IntVec< D > indicesBz
 Integer indices of wave, in first Brillouin zone. More...
 
int starId
 Index of the star that contains this wavevector. More...
 
bool implicit
 Is this wave represented implicitly in DFT of real field? More...
 

Detailed Description

template<int D>
class Pscf::Basis< D >::Wave

Wavevector used to construct a basis function.

Definition at line 353 of file Basis.h.

Member Data Documentation

◆ coeff

template<int D>
std::complex<double> Pscf::Basis< D >::Wave::coeff

◆ indicesDft

template<int D>
IntVec<D> Pscf::Basis< D >::Wave::indicesDft

Integer indices of wave, on a discrete Fourier transform mesh.

Components of this IntVec<D> are non-negative. Component i lies within the range [0, meshDimension(i)], where meshDimension(i) is the number of grid points.

Definition at line 370 of file Basis.h.

Referenced by Pscf::Pspg::FieldIo< D >::convertBasisToKGrid(), Pscf::Pspc::FieldIo< D >::convertBasisToKGrid(), Pscf::Pspg::FieldIo< D >::convertKGridToBasis(), Pscf::Pspc::FieldIo< D >::convertKGridToBasis(), and Pscf::Pspc::FieldIo< D >::hasSymmetry().

◆ indicesBz

template<int D>
IntVec<D> Pscf::Basis< D >::Wave::indicesBz

Integer indices of wave, in first Brillouin zone.

Components of this IntVec<D> may be negative or positive, and differ from corresponding components of indicesDft by integer multiples of a corresponding mesh dimension, so that indicesBz and indicesDft correspond to equivalent aliased wavevectors for functions evaluated on the chosen discretization mesh. The shifts relative to indicesDft are chosen so as to minimize the norm of the Cartesian wavevector constructed by taking a linear combination of Bravais lattice basis vectors multiplied by components of indicesBz.

Definition at line 385 of file Basis.h.

◆ starId

template<int D>
int Pscf::Basis< D >::Wave::starId

Index of the star that contains this wavevector.

Definition at line 390 of file Basis.h.

Referenced by Pscf::Pspg::FieldIo< D >::convertKGridToBasis(), and Pscf::Pspc::FieldIo< D >::convertKGridToBasis().

◆ implicit

template<int D>
bool Pscf::Basis< D >::Wave::implicit

Is this wave represented implicitly in DFT of real field?

In the discrete Fourier transform (DFT) of a real function, the coefficients of nonzero wavevector G and -G must be complex conjugates. As a result, only one of these two coefficients is stored in the container RFieldDft used to store the DFT of a real function. For each such pair, the member variable Basis::Wave::implicit is set false for the the wavevector whose coefficient is represented explicitly, and is set true for the wavevector whose coefficient is left implicit.

Definition at line 405 of file Basis.h.

Referenced by Pscf::Pspg::FieldIo< D >::convertBasisToKGrid(), Pscf::Pspc::FieldIo< D >::convertBasisToKGrid(), Pscf::Pspg::FieldIo< D >::convertKGridToBasis(), Pscf::Pspc::FieldIo< D >::convertKGridToBasis(), and Pscf::Pspc::FieldIo< D >::hasSymmetry().


The documentation for this class was generated from the following file: