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

A list of wavevectors that are related by space-group symmetries. More...

#include <Basis.h>

Public Attributes

int size
 Number of wavevectors in this star. More...
 
int beginId
 Wave index of first wavevector in star. More...
 
int endId
 Wave index of last wavevector in star. More...
 
int invertFlag
 Index for inversion symmetry of star. More...
 
IntVec< D > waveBz
 Integer indices indexBz of a characteristic wave of this star. More...
 
int starId
 Index of this star in ordered array of all stars. More...
 
int basisId
 Index of basis function associated with this star. More...
 
bool cancel
 Is this star cancelled, i.e., associated with a zero function? More...
 

Detailed Description

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

A list of wavevectors that are related by space-group symmetries.

The wavevectors in a star form a continuous block within the array waves defined by the Basis classes. Within this block, waves are listed in descending lexigraphical order of their integer (ijk) indices as given by Basis::Wave::indexBz.

Definition at line 438 of file Basis.h.

Member Data Documentation

◆ size

template<int D>
int Pscf::Basis< D >::Star::size

◆ beginId

template<int D>
int Pscf::Basis< D >::Star::beginId

◆ endId

template<int D>
int Pscf::Basis< D >::Star::endId

◆ invertFlag

template<int D>
int Pscf::Basis< D >::Star::invertFlag

Index for inversion symmetry of star.

A star is said to be closed under inversion iff, for each vector G in the star, -G is also in the star. If a star S is not closed under inversion, then there is another star S' that is related to S by inversion, i.e., such that for each G in S, -G is in S'. Stars that are related by inversion are listed consecutively within the waves array of the Basis class.

If a star is closed under inversion, then invertFlag = 0.

If a star is not closed under inversion, then invertFlag = +1 or -1, with inverFlag = +1 for the first star in the pair of stars related by inversion and invertFlag = -1 for the second.

In a centro-symmetric group (i.e., a group that includes the inversion operation, with an inversion center at the origin of the coordinate system), all stars are closed under inversion. In this case, all stars in the basis must thus have starInvert = 0.

In a non-centro-symmetric group, a stars may either be closed closed under inversion (starInvert = 0) or belong to a pair of consecutive stars that are related by inversion (starInver = +1 or -1).

Definition at line 485 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(), Pscf::Pspc::FieldIo< D >::readFieldsBasis(), and Pscf::Pspg::FieldIo< D >::readFieldsBasis().

◆ waveBz

template<int D>
IntVec<D> Pscf::Basis< D >::Star::waveBz

Integer indices indexBz of a characteristic wave of this star.

Wave given here is the value of indexBz for a characteristic wave for the star. For invertFlag = 0 or 1, the characteristic wave is the first wave in the star. For invertFlag = -1, this is the negation of the waveBz of the partner star for which invertFlag = 1.

The coefficient of wave waveBz is always real and positive.

Definition at line 498 of file Basis.h.

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

◆ starId

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

Index of this star in ordered array of all stars.

This is the index of this star within array stars_.

Definition at line 505 of file Basis.h.

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

◆ basisId

template<int D>
int Pscf::Basis< D >::Star::basisId

Index of basis function associated with this star.

If this star is not cancelled (cancel == false), then basisId is set equal to the index of the associated basis function in in a list of nonzero basis functions or (equivalently) in a list of non-cancelled stars.

If this star is cancelled (cancel == true), then basisId = -1.

Definition at line 517 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(), Pscf::Pspc::FieldIo< D >::readFieldsBasis(), and Pscf::Pspg::FieldIo< D >::readFieldsBasis().

◆ cancel

template<int D>
bool Pscf::Basis< D >::Star::cancel

Is this star cancelled, i.e., associated with a zero function?

The cancel flag is true iff no nonzero basis function can be constructed from the waves of this star that is invariant under all elements of the space group. Basis functions are thus associated only with stars for which cancel == false.

Each cancelled star contains a set of waves that are related by symmetry for which the X-ray or neutron scattering intensity would exhibit a systematic cancellation required by the space group symmetry.

Definition at line 532 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(), Pscf::Pspc::FieldIo< D >::hasSymmetry(), Pscf::Pspc::FieldIo< D >::readFieldsBasis(), and Pscf::Pspg::FieldIo< D >::readFieldsBasis().


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