PSCF v1.1
|
Classes that describe crystallographic information. More...
Classes | |
class | Pscf::Basis< D > |
Symmetry-adapted Fourier basis for pseudo-spectral scft. More... | |
class | Pscf::BFieldComparison |
Comparator for fields in symmetry-adapted basis format. More... | |
class | Pscf::SpaceGroup< D > |
Crystallographic space group. More... | |
class | Pscf::SpaceSymmetry< D > |
A SpaceSymmetry represents a crystallographic space group symmetry. More... | |
struct | Pscf::TWave< D > |
Simple wave struct for use within Basis construction. More... | |
struct | Pscf::TWaveNormComp< D > |
Comparator for TWave objects, based on TWave::sqNorm. More... | |
struct | Pscf::TWaveDftComp< D > |
Comparator for TWave objects, based on TWave::indicesDft. More... | |
struct | Pscf::TWaveBzComp< D > |
Comparator for TWave objects, based on TWave::indicesBz. More... | |
class | Pscf::UnitCell< D > |
Base template for UnitCell<D> classes, D=1, 2 or 3. More... | |
class | Pscf::UnitCell< 1 > |
1D crystal unit cell. More... | |
class | Pscf::UnitCell< 2 > |
2D crystal unit cell. More... | |
class | Pscf::UnitCell< 3 > |
3D crystal unit cell. More... | |
class | Pscf::UnitCellBase< D > |
Base class template for a crystallographic unit cell. More... | |
Functions | |
std::string | Pscf::makeGroupFileName (int D, std::string groupName) |
Generates the file name from a group name. More... | |
template<int D> | |
IntVec< D > | Pscf::shiftToMinimum (IntVec< D > &v, IntVec< D > d, UnitCell< D > const &cell) |
Returns minimum magnitude image of DFT wavevector. More... | |
template<int D> | |
std::ostream & | Pscf::operator<< (std::ostream &out, SpaceGroup< D > const &g) |
Output stream inserter operator for a SpaceGroup<D>. More... | |
template<int D> | |
std::istream & | Pscf::operator>> (std::istream &in, SpaceGroup< D > &g) |
Input stream extractor operator for a SpaceGroup<D>. More... | |
template<int D> | |
void | Pscf::readGroup (std::string groupName, SpaceGroup< D > &group) |
Open and read a group file. More... | |
template<int D> | |
void | Pscf::writeGroup (std::string filename, SpaceGroup< D > const &group) |
Open and write a group file. More... | |
template<int D> | |
bool | Pscf::operator== (const SpaceSymmetry< D > &A, const SpaceSymmetry< D > &B) |
Are two SpaceSymmetry objects equivalent? More... | |
template<int D> | |
bool | Pscf::operator!= (const SpaceSymmetry< D > &A, const SpaceSymmetry< D > &B) |
Are two SpaceSymmetry objects not equivalent? More... | |
template<int D> | |
SpaceSymmetry< D > | Pscf::operator* (const SpaceSymmetry< D > &A, const SpaceSymmetry< D > &B) |
Return the product A*B of two symmetry objects. More... | |
template<int D> | |
IntVec< D > | Pscf::operator* (const SpaceSymmetry< D > &S, const IntVec< D > &V) |
Return the IntVec<D> product S*V of a rotation matrix and an IntVec<D>. More... | |
template<int D> | |
IntVec< D > | Pscf::operator* (const IntVec< D > &V, const SpaceSymmetry< D > &S) |
Return the IntVec<D> product V*S of an IntVec<D> and a rotation matrix. More... | |
template<int D> | |
std::ostream & | Pscf::operator<< (std::ostream &out, const SpaceSymmetry< D > &A) |
Output stream inserter for a SpaceSymmetry<D> More... | |
template<int D> | |
std::istream & | Pscf::operator>> (std::istream &in, SpaceSymmetry< D > &A) |
Input stream extractor for a SpaceSymmetry<D> More... | |
template<int D> | |
std::istream & | Pscf::operator>> (std::istream &in, UnitCell< D > &cell) |
istream input extractor for a UnitCell<D>. More... | |
template<int D> | |
std::ostream & | Pscf::operator<< (std::ostream &out, UnitCell< D > const &cell) |
ostream output inserter for a UnitCell<D>. More... | |
template<class Archive , int D> | |
void | Pscf::serialize (Archive &ar, UnitCell< D > &cell, const unsigned int version) |
Serialize to/from an archive. More... | |
template<int D> | |
void | Pscf::readUnitCellHeader (std::istream &in, UnitCell< D > &cell) |
Read UnitCell<D> from a field file header (fortran PSCF format). More... | |
template<int D> | |
void | Pscf::writeUnitCellHeader (std::ostream &out, UnitCell< D > const &cell) |
Write UnitCell<D> to a field file header (fortran PSCF format). More... | |
std::istream & | Pscf::operator>> (std::istream &in, UnitCell< 1 >::LatticeSystem &lattice) |
istream extractor for a 1D UnitCell<1>::LatticeSystem. More... | |
std::ostream & | Pscf::operator<< (std::ostream &out, UnitCell< 1 >::LatticeSystem lattice) |
ostream inserter for a 1D UnitCell<1>::LatticeSystem. More... | |
std::istream & | Pscf::operator>> (std::istream &in, UnitCell< 2 >::LatticeSystem &lattice) |
istream extractor for a 2D UnitCell<2>::LatticeSystem. More... | |
std::istream & | Pscf::operator>> (std::istream &in, UnitCell< 3 >::LatticeSystem &lattice) |
istream extractor for a 3D UnitCell<3>::LatticeSystem. More... | |
std::ostream & | Pscf::operator<< (std::ostream &out, UnitCell< 3 >::LatticeSystem lattice) |
ostream inserter for an 3D UnitCell<3>::LatticeSystem. More... | |
Classes that describe crystallographic information.
std::string Pscf::makeGroupFileName | ( | int | D, |
std::string | groupName | ||
) |
Generates the file name from a group name.
D | dimensionality of space (D=1,2 or 3) |
groupName | standard name of space group |
Definition at line 25 of file groupFile.cpp.
References UTIL_THROW.
Referenced by Pscf::Pspc::FilmIteratorBase< D, IteratorType >::checkSpaceGroup(), and Pscf::readGroup().
IntVec< D > Pscf::shiftToMinimum | ( | IntVec< D > & | v, |
IntVec< D > | d, | ||
UnitCell< D > const & | cell | ||
) |
Returns minimum magnitude image of DFT wavevector.
v | IntVec<D> containing integer indices of wavevector. |
d | dimensions of the discrete Fourier transform grid. |
cell | UnitCell |
std::ostream & Pscf::operator<< | ( | std::ostream & | out, |
SpaceGroup< D > const & | g | ||
) |
Output stream inserter operator for a SpaceGroup<D>.
out | output stream |
g | space group |
Definition at line 108 of file SpaceGroup.h.
References Pscf::SymmetryGroup< Symmetry >::size().
std::istream & Pscf::operator>> | ( | std::istream & | in, |
SpaceGroup< D > & | g | ||
) |
Input stream extractor operator for a SpaceGroup<D>.
in | input stream |
g | space group |
Definition at line 129 of file SpaceGroup.h.
References Pscf::SymmetryGroup< Symmetry >::add(), Pscf::SymmetryGroup< Symmetry >::clear(), and UTIL_CHECK.
void Pscf::readGroup | ( | std::string | groupName, |
SpaceGroup< D > & | group | ||
) |
Open and read a group file.
groupName | name of group, or group file (input) |
group | space group (output) |
Definition at line 162 of file SpaceGroup.tpp.
References Util::Log::file(), Pscf::SymmetryGroup< Symmetry >::makeCompleteGroup(), Pscf::makeGroupFileName(), UTIL_CHECK, and UTIL_THROW.
void Pscf::writeGroup | ( | std::string | filename, |
SpaceGroup< D > const & | group | ||
) |
Open and write a group file.
filename | output file name |
group | space group |
Definition at line 201 of file SpaceGroup.tpp.
bool Pscf::operator== | ( | const SpaceSymmetry< D > & | A, |
const SpaceSymmetry< D > & | B | ||
) |
Are two SpaceSymmetry objects equivalent?
A | first symmetry |
B | second symmetry |
Definition at line 370 of file SpaceSymmetry.h.
|
inline |
Are two SpaceSymmetry objects not equivalent?
A | first symmetry |
B | second symmetry |
Definition at line 318 of file SpaceSymmetry.h.
SpaceSymmetry< D > Pscf::operator* | ( | const SpaceSymmetry< D > & | A, |
const SpaceSymmetry< D > & | B | ||
) |
Return the product A*B of two symmetry objects.
A | first symmetry |
B | second symmetry |
Definition at line 391 of file SpaceSymmetry.h.
IntVec< D > Pscf::operator* | ( | const SpaceSymmetry< D > & | S, |
const IntVec< D > & | V | ||
) |
Return the IntVec<D> product S*V of a rotation matrix and an IntVec<D>.
The product is defined to be the matrix product of the rotation matrix and the integer vector S.R * V.
S | symmetry operation |
V | integer vector |
Definition at line 424 of file SpaceSymmetry.h.
IntVec< D > Pscf::operator* | ( | const IntVec< D > & | V, |
const SpaceSymmetry< D > & | S | ||
) |
Return the IntVec<D> product V*S of an IntVec<D> and a rotation matrix.
The product is defined to be the matrix product of the integer vector and the space group rotation matrix S.R * V.
V | integer vector |
S | symmetry operation |
Definition at line 441 of file SpaceSymmetry.h.
std::ostream & Pscf::operator<< | ( | std::ostream & | out, |
const SpaceSymmetry< D > & | A | ||
) |
Output stream inserter for a SpaceSymmetry<D>
out | output stream |
A | SpaceSymmetry<D> object to be output |
Definition at line 458 of file SpaceSymmetry.h.
std::istream & Pscf::operator>> | ( | std::istream & | in, |
SpaceSymmetry< D > & | A | ||
) |
Input stream extractor for a SpaceSymmetry<D>
in | input stream |
A | SpaceSymmetry<D> object to be input |
Definition at line 478 of file SpaceSymmetry.h.
std::istream & Pscf::operator>> | ( | std::istream & | in, |
UnitCell< D > & | cell | ||
) |
istream input extractor for a UnitCell<D>.
in | input stream |
cell | UnitCell<D> to be read |
Definition at line 22 of file UnitCell.tpp.
std::ostream & Pscf::operator<< | ( | std::ostream & | out, |
UnitCell< D > const & | cell | ||
) |
ostream output inserter for a UnitCell<D>.
out | output stream |
cell | UnitCell<D> to be written |
Definition at line 36 of file UnitCell.tpp.
void Pscf::serialize | ( | Archive & | ar, |
UnitCell< D > & | cell, | ||
const unsigned int | version | ||
) |
Serialize to/from an archive.
ar | input or output archive |
cell | UnitCell<D> object to be serialized |
version | archive version id |
Definition at line 50 of file UnitCell.tpp.
void Pscf::readUnitCellHeader | ( | std::istream & | in, |
UnitCell< D > & | cell | ||
) |
Read UnitCell<D> from a field file header (fortran PSCF format).
If the unit cell has a non-null lattice system on entry, the value read from file must match this existing value, or this function throws an exception. If the lattice system is null on entry, the lattice system value is read from file. In either case, unit cell parameters (dimensions and angles) are updated using values read from file.
in | input stream |
cell | UnitCell<D> to be read |
Definition at line 61 of file UnitCell.tpp.
void Pscf::writeUnitCellHeader | ( | std::ostream & | out, |
UnitCell< D > const & | cell | ||
) |
Write UnitCell<D> to a field file header (fortran PSCF format).
out | output stream |
cell | UnitCell<D> to be written |
Definition at line 91 of file UnitCell.tpp.
Referenced by Pscf::Pspg::FieldIo< D >::writeFieldHeader().
std::istream & Pscf::operator>> | ( | std::istream & | in, |
UnitCell< 1 >::LatticeSystem & | lattice | ||
) |
istream extractor for a 1D UnitCell<1>::LatticeSystem.
in | input stream |
lattice | UnitCell<1>::LatticeSystem to be read |
Definition at line 52 of file UnitCell1.cpp.
References UTIL_THROW.
std::ostream & Pscf::operator<< | ( | std::ostream & | out, |
UnitCell< 1 >::LatticeSystem | lattice | ||
) |
ostream inserter for a 1D UnitCell<1>::LatticeSystem.
out | output stream |
lattice | UnitCell<1>::LatticeSystem to be written |
Definition at line 69 of file UnitCell1.cpp.
References UTIL_THROW.
std::istream & Pscf::operator>> | ( | std::istream & | in, |
UnitCell< 2 >::LatticeSystem & | lattice | ||
) |
istream extractor for a 2D UnitCell<2>::LatticeSystem.
in | input stream |
lattice | UnitCell<2>::LatticeSystem to be read |
Definition at line 157 of file UnitCell2.cpp.
References UTIL_THROW.
std::istream & Pscf::operator>> | ( | std::istream & | in, |
UnitCell< 3 >::LatticeSystem & | lattice | ||
) |
istream extractor for a 3D UnitCell<3>::LatticeSystem.
in | input stream |
lattice | UnitCell<3>::LatticeSystem to be read |
Definition at line 326 of file UnitCell3.cpp.
References UTIL_THROW.
std::ostream & Pscf::operator<< | ( | std::ostream & | out, |
UnitCell< 3 >::LatticeSystem | lattice | ||
) |
ostream inserter for an 3D UnitCell<3>::LatticeSystem.
out | output stream |
lattice | UnitCell<3>::LatticeSystem to be written |
Definition at line 361 of file UnitCell3.cpp.
References UTIL_THROW.