PSCF v1.4.0
Pscf::Prdc::Basis< D >::Wave Class Reference

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

#include <Basis.h>

Public Member Functions

 Wave ()
 Constructor.

Public Attributes

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

Detailed Description

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

Wavevector used to construct a basis function.

Definition at line 391 of file Basis.h.

Constructor & Destructor Documentation

◆ Wave()

template<int D>
Pscf::Prdc::Basis< D >::Wave::Wave ( )
inline

Constructor.

Definition at line 453 of file Basis.h.

References coeff, implicit, indicesMin, indicesStd, inverseId, and starId.

Member Data Documentation

◆ coeff

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

Coefficient of wave within the associated star basis function.

Definition at line 399 of file Basis.h.

Referenced by Pscf::Prdc::readBasisData(), and Wave().

◆ indicesStd

template<int D>
IntVec<D> Pscf::Prdc::Basis< D >::Wave::indicesStd

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

Components of this vector are non-negative. Component i lies in the range [0, meshDimension(i) - 1], where meshDimension(i) is the number of grid points.

Definition at line 408 of file Basis.h.

Referenced by Wave().

◆ indicesMin

template<int D>
IntVec<D> Pscf::Prdc::Basis< D >::Wave::indicesMin

Integer indices of wave, in first Brillouin zone.

Components of this IntVec<D> may be negative or positive, and differ from corresponding components of indicesStd by integer multiples of a corresponding mesh dimension, so that indicesMin and indicesStd correspond to equivalent aliased wavevectors for functions evaluated on nodes of the discretization mesh. The shifts relative to indicesStd 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 indicesMin.

Definition at line 423 of file Basis.h.

Referenced by Wave().

◆ starId

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

Index of the star that contains this wavevector.

Definition at line 428 of file Basis.h.

Referenced by Pscf::Prdc::readBasisData(), and Wave().

◆ inverseId

template<int D>
int Pscf::Prdc::Basis< D >::Wave::inverseId

Index of the wave that is the inverse of this wavevector.

Definition at line 433 of file Basis.h.

Referenced by Wave().

◆ implicit

template<int D>
bool Pscf::Prdc::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 448 of file Basis.h.

Referenced by Wave().


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