PSCF v1.3
|
Classes that describe crystallographic information. More...
Classes | |
class | Pscf::Prdc::Basis< D > |
Symmetry-adapted Fourier basis for pseudo-spectral SCFT. More... | |
class | Pscf::Prdc::BFieldComparison |
Comparator for fields in symmetry-adapted basis format. More... | |
class | Pscf::Prdc::SpaceGroup< D > |
Crystallographic space group. More... | |
class | Pscf::Prdc::SpaceSymmetry< D > |
A SpaceSymmetry represents a crystallographic space group symmetry. More... | |
class | Pscf::Prdc::SymmetryGroup< Symmetry > |
Class template for a group of elements. More... | |
struct | Pscf::Prdc::TWave< D > |
Simple wave struct for use within Basis construction. More... | |
struct | Pscf::Prdc::TWaveNormComp< D > |
Comparator for TWave objects, based on TWave::sqNorm. More... | |
struct | Pscf::Prdc::TWaveDftComp< D > |
Comparator for TWave objects, based on TWave::indicesDft. More... | |
struct | Pscf::Prdc::TWaveBzComp< D > |
Comparator for TWave objects, based on TWave::indicesBz. More... | |
class | Pscf::Prdc::UnitCell< D > |
Base template for UnitCell<D> classes, D=1, 2 or 3. More... | |
class | Pscf::Prdc::UnitCell< 1 > |
1D crystal unit cell. More... | |
class | Pscf::Prdc::UnitCell< 2 > |
2D crystal unit cell. More... | |
class | Pscf::Prdc::UnitCell< 3 > |
3D crystal unit cell. More... | |
class | Pscf::Prdc::UnitCellBase< D > |
Base class template for a crystallographic unit cell. More... |
Functions | |
std::string | Pscf::Prdc::makeGroupFileName (int D, std::string groupName) |
Generates the file name from a group name. | |
template<int D> | |
int | Pscf::Prdc::convertFullParamIdToReduced (const int fullId, const typename UnitCell< D >::LatticeSystem lattice) |
Convert full lattice parameter index to a reduced index. | |
template<int D> | |
int | Pscf::Prdc::convertReducedParamIdToFull (const int reducedId, const typename UnitCell< D >::LatticeSystem lattice) |
Convert reduced lattice parameter index to a full index. | |
template<int D> | |
void | Pscf::Prdc::replicateUnitCell (IntVec< D > const &replicas, UnitCell< D > const &cellIn, UnitCell< D > &cellOut) |
Create a replicated UnitCell<D> (base template). | |
template<> | |
void | Pscf::Prdc::replicateUnitCell (IntVec< 1 > const &replicas, UnitCell< 1 > const &cellIn, UnitCell< 1 > &cellOut) |
Create a replicated UnitCell<1>. | |
template<> | |
void | Pscf::Prdc::replicateUnitCell (IntVec< 2 > const &replicas, UnitCell< 2 > const &cellIn, UnitCell< 2 > &cellOut) |
Create a replicated UnitCell<2>. | |
template<> | |
void | Pscf::Prdc::replicateUnitCell (IntVec< 3 > const &replicas, UnitCell< 3 > const &cellIn, UnitCell< 3 > &cellOut) |
Create a replicated UnitCell<3>. | |
template<int D> | |
IntVec< D > | Pscf::Prdc::shiftToMinimum (IntVec< D > const &v, IntVec< D > const &d, UnitCell< D > const &cell) |
Returns minimum magnitude image of DFT wavevector. | |
template<int D> | |
std::ostream & | Pscf::Prdc::operator<< (std::ostream &out, SpaceGroup< D > const &g) |
Output stream inserter operator for a SpaceGroup<D>. | |
template<int D> | |
std::istream & | Pscf::Prdc::operator>> (std::istream &in, SpaceGroup< D > &g) |
Input stream extractor operator for a SpaceGroup<D>. | |
template<int D> | |
void | Pscf::Prdc::readGroup (std::string groupName, SpaceGroup< D > &group) |
Open and read a group file. | |
template<int D> | |
void | Pscf::Prdc::writeGroup (std::string filename, SpaceGroup< D > const &group) |
Open and write a group file. | |
template<int D> | |
bool | Pscf::Prdc::operator== (const SpaceSymmetry< D > &A, const SpaceSymmetry< D > &B) |
Are two SpaceSymmetry objects equivalent? | |
template<int D> | |
bool | Pscf::Prdc::operator!= (const SpaceSymmetry< D > &A, const SpaceSymmetry< D > &B) |
Are two SpaceSymmetry objects not equivalent? | |
template<int D> | |
SpaceSymmetry< D > | Pscf::Prdc::operator* (const SpaceSymmetry< D > &A, const SpaceSymmetry< D > &B) |
Return the product A*B of two symmetry objects. | |
template<int D> | |
IntVec< D > | Pscf::Prdc::operator* (const SpaceSymmetry< D > &S, const IntVec< D > &V) |
Return the IntVec<D> product S*V of a rotation matrix and an IntVec<D>. | |
template<int D> | |
IntVec< D > | Pscf::Prdc::operator* (const IntVec< D > &V, const SpaceSymmetry< D > &S) |
Return the IntVec<D> product V*S of an IntVec<D> and a rotation matrix. | |
template<int D> | |
std::ostream & | Pscf::Prdc::operator<< (std::ostream &out, const SpaceSymmetry< D > &A) |
Output stream inserter for a SpaceSymmetry<D> | |
template<int D> | |
std::istream & | Pscf::Prdc::operator>> (std::istream &in, SpaceSymmetry< D > &A) |
Input stream extractor for a SpaceSymmetry<D> | |
template<int D> | |
std::istream & | Pscf::Prdc::operator>> (std::istream &in, UnitCell< D > &cell) |
istream input extractor for a UnitCell<D>. | |
template<int D> | |
std::ostream & | Pscf::Prdc::operator<< (std::ostream &out, UnitCell< D > const &cell) |
ostream output inserter for a UnitCell<D>. | |
template<class Archive, int D> | |
void | Pscf::Prdc::serialize (Archive &ar, UnitCell< D > &cell, const unsigned int version) |
Serialize to/from an archive. | |
std::istream & | Pscf::Prdc::operator>> (std::istream &in, UnitCell< 1 >::LatticeSystem &lattice) |
istream extractor for a 1D UnitCell<1>::LatticeSystem. | |
std::ostream & | Pscf::Prdc::operator<< (std::ostream &out, UnitCell< 1 >::LatticeSystem lattice) |
ostream inserter for a 1D UnitCell<1>::LatticeSystem. | |
std::istream & | Pscf::Prdc::operator>> (std::istream &in, UnitCell< 2 >::LatticeSystem &lattice) |
istream extractor for a 2D UnitCell<2>::LatticeSystem. | |
std::istream & | Pscf::Prdc::operator>> (std::istream &in, UnitCell< 3 >::LatticeSystem &lattice) |
istream extractor for a 3D UnitCell<3>::LatticeSystem. | |
std::ostream & | Pscf::Prdc::operator<< (std::ostream &out, UnitCell< 3 >::LatticeSystem lattice) |
ostream inserter for an 3D UnitCell<3>::LatticeSystem. | |
template<int D> | |
void | Pscf::Prdc::readUnitCellHeader (std::istream &in, UnitCell< D > &cell) |
Read UnitCell<D> from a field file header (fortran PSCF format). | |
template<int D> | |
void | Pscf::Prdc::writeUnitCellHeader (std::ostream &out, UnitCell< D > const &cell) |
Write UnitCell<D> to a field file header (fortran PSCF format). | |
template<int D> | |
void | Pscf::Prdc::readFieldHeader (std::istream &in, int &ver1, int &ver2, UnitCell< D > &cell, std::string &groupName, int &nMonomer) |
Read common part of field header (fortran PSCF format). | |
template<int D> | |
void | Pscf::Prdc::writeFieldHeader (std::ostream &out, int ver1, int ver2, UnitCell< D > const &cell, std::string const &groupName, int nMonomer) |
Write common part of field header (fortran PSCF format). |
Classes that describe crystallographic information.
std::string Pscf::Prdc::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 26 of file groupFile.cpp.
References UTIL_THROW.
Referenced by readGroup().
int Pscf::Prdc::convertFullParamIdToReduced | ( | const int | fullId, |
const typename UnitCell< D >::LatticeSystem | lattice ) |
Convert full lattice parameter index to a reduced index.
Here, we define the "full" list of lattice parameters to be {a, b, c, alpha, beta, gamma}, and we define the "reduced" list of lattice parameters to be the list of independent parameters as defined by a particular lattice system (e.g., {a, c} for a tetragonal lattice). This function converts an index of a parameter in the full list, fullId, into the corresponding index in the reduced list, reducedId.
If fullId denotes a parameter that is able to vary but is not independent, then the index of the corresponding independent parameter in the reduced list is returned. For example, in a tetragonal lattice a == b, so a fullId of 1 would correspond to a reducedId of 0.
If fullId denotes a parameter that is rigid in a given lattice, then reducedId is set to -1. For example, all three angles are fixed at 90° in a tetragonal lattice, so a fullId value of 3, 4, or 5 would result in a reducedId of -1.
fullId | the value of fullId to convert |
lattice | the lattice system |
Referenced by Pscf::Rpc::FilmFieldGenMask< D >::compute(), Pscf::Rpg::FilmFieldGenMask< D >::compute(), convertReducedParamIdToFull(), Pscf::Rpc::FilmFieldGenMask< D >::modifyStress(), Pscf::Rpg::FilmFieldGenMask< D >::modifyStress(), Pscf::Rpc::FilmFieldGenExt< D >::stress(), Pscf::Rpc::FilmFieldGenMask< D >::stress(), Pscf::Rpg::FilmFieldGenExt< D >::stress(), and Pscf::Rpg::FilmFieldGenMask< D >::stress().
int Pscf::Prdc::convertReducedParamIdToFull | ( | const int | reducedId, |
const typename UnitCell< D >::LatticeSystem | lattice ) |
Convert reduced lattice parameter index to a full index.
Here, we define the "full" list of lattice parameters to be {a, b, c, alpha, beta, gamma}, and we define the "reduced" list of lattice parameters to be the list of independent parameters as defined by a particular lattice system (e.g., {a, c} for a tetragonal lattice). This function converts an index of a parameter in the reduced list, reducedId, into the corresponding index in the full list, fullId.
reducedId | the value of reducedId to convert |
lattice | the lattice system |
References convertFullParamIdToReduced(), and convertReducedParamIdToFull().
Referenced by convertReducedParamIdToFull().
void Pscf::Prdc::replicateUnitCell | ( | IntVec< D > const & | replicas, |
UnitCell< D > const & | cellIn, | ||
UnitCell< D > & | cellOut ) |
Create a replicated UnitCell<D> (base template).
Element i of the IntVec<D> parameter "replicas" contains the number of unit cell replicas along direction i, for i=0, ..., D-1.
Upon return, parameter "cellOut" is a UnitCell<D> with a lattice type and lattice parameters appropriate to represent a unit cell created by replicating "cellIn" the specified number of times in each direction. This function attempts to identify symmetries that are preserved by the choice of values in the "replicas" vector, and will generally try to use the highest symmetry unit cell type that is appropriate if more than one choice is possible. Thus, if a 3D cubic unit cell cellIn is replicated using a "replicas" vector with three equal elements, cellOut will be a cubic cell, whereas if a cubic cell replicated using a "replicas" vector in which all three elements are unequal, "cellOut" will be orthorhombic.
Some types of conversion of unit cells with high symmetry lattice types that would result in lower-symmetry lattice type have been prohibited if the appropriate conversion of lattice parameters has not yet been worked out. For example, for now, users may not create a triclinic unit cell by replicating a rhombohedral lattice using a replicas vector with unequal values for different elements. An Exception is thrown and an appropriate error message is written to standard output if a user attempts any such prohibited type of replication.
This base template is declared but not defined. Explicit specializations are defined for D=1, 2, and 3.
Explicit specializations of this function template are called within the replicateUnitCell function template defined in file src/prdc/fields/fieldIoUtil.tpp. This function takes an array of fields as an input and writes a replicated version of those fields to an r-grid field file. The header of the resulting file contains a description of the unit cell obtained here. That field replication function is used to implement the REPLICATE_UNIT_CELL command of the pscf_pc and pscf_pg programs.
replicas | number of replicas in each direction (in) |
cellIn | original unit cell (in) |
cellOut | replicated unit cell (out) |
void Pscf::Prdc::replicateUnitCell | ( | IntVec< 1 > const & | replicas, |
UnitCell< 1 > const & | cellIn, | ||
UnitCell< 1 > & | cellOut ) |
Create a replicated UnitCell<1>.
replicas | number of replicas in each direction (in) |
cellIn | original unit cell (in) |
cellOut | replicated unit cell (out) |
Definition at line 23 of file replicateUnitCell.cpp.
References Util::FSArray< Data, Capacity >::append(), Pscf::Prdc::UnitCellBase< D >::nParameter(), Pscf::Prdc::UnitCellBase< D >::parameters(), UTIL_CHECK, and UTIL_THROW.
Referenced by Pscf::Prdc::FieldIoReal< D, RFT, KFT, FFT >::replicateUnitCell(), Pscf::Prdc::FieldIoReal< D, RFT, KFT, FFT >::replicateUnitCell(), Pscf::Rpc::FieldIo< D >::replicateUnitCell(), and Pscf::Rpg::FieldIo< D >::replicateUnitCell().
void Pscf::Prdc::replicateUnitCell | ( | IntVec< 2 > const & | replicas, |
UnitCell< 2 > const & | cellIn, | ||
UnitCell< 2 > & | cellOut ) |
Create a replicated UnitCell<2>.
replicas | number of replicas in each direction (in) |
cellIn | original unit cell (in) |
cellOut | replicated unit cell (out) |
Definition at line 52 of file replicateUnitCell.cpp.
References Util::FSArray< Data, Capacity >::append(), Pscf::Prdc::UnitCellBase< D >::nParameter(), Pscf::Prdc::UnitCellBase< D >::parameters(), UTIL_CHECK, and UTIL_THROW.
void Pscf::Prdc::replicateUnitCell | ( | IntVec< 3 > const & | replicas, |
UnitCell< 3 > const & | cellIn, | ||
UnitCell< 3 > & | cellOut ) |
Create a replicated UnitCell<3>.
replicas | number of replicas in each direction (in) |
cellIn | original unit cell (in) |
cellOut | replicated unit cell (out) |
Definition at line 133 of file replicateUnitCell.cpp.
References Util::FSArray< Data, Capacity >::append(), Pscf::Prdc::UnitCellBase< D >::nParameter(), Pscf::Prdc::UnitCellBase< D >::parameters(), UTIL_CHECK, and UTIL_THROW.
std::ostream & Pscf::Prdc::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 110 of file SpaceGroup.h.
References Pscf::Prdc::SymmetryGroup< Symmetry >::size().
std::istream & Pscf::Prdc::operator>> | ( | std::istream & | in, |
SpaceGroup< D > & | g ) |
Input stream extractor operator for a SpaceGroup<D>.
in | input stream |
g | space group |
Definition at line 131 of file SpaceGroup.h.
References Pscf::Prdc::SymmetryGroup< Symmetry >::add(), Pscf::Prdc::SymmetryGroup< Symmetry >::clear(), and UTIL_CHECK.
void Pscf::Prdc::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::Prdc::SymmetryGroup< Symmetry >::makeCompleteGroup(), makeGroupFileName(), UTIL_CHECK, and UTIL_THROW.
void Pscf::Prdc::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::Prdc::operator== | ( | const SpaceSymmetry< D > & | A, |
const SpaceSymmetry< D > & | B ) |
Are two SpaceSymmetry objects equivalent?
A | first symmetry |
B | second symmetry |
Definition at line 372 of file SpaceSymmetry.h.
|
inline |
Are two SpaceSymmetry objects not equivalent?
A | first symmetry |
B | second symmetry |
Definition at line 320 of file SpaceSymmetry.h.
SpaceSymmetry< D > Pscf::Prdc::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 393 of file SpaceSymmetry.h.
IntVec< D > Pscf::Prdc::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 426 of file SpaceSymmetry.h.
IntVec< D > Pscf::Prdc::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 443 of file SpaceSymmetry.h.
std::ostream & Pscf::Prdc::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 460 of file SpaceSymmetry.h.
std::istream & Pscf::Prdc::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 480 of file SpaceSymmetry.h.
std::istream & Pscf::Prdc::operator>> | ( | std::istream & | in, |
UnitCell< D > & | cell ) |
istream input extractor for a UnitCell<D>.
If cell.lattice() is not Null, the lattice type read from stream must match the existing lattice type, or an Exception is thrown.
in | input stream |
cell | UnitCell<D> to be read |
Definition at line 546 of file UnitCell.h.
std::ostream & Pscf::Prdc::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 560 of file UnitCell.h.
void Pscf::Prdc::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 519 of file UnitCell.h.
std::istream & Pscf::Prdc::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 111 of file UnitCell1.cpp.
References UTIL_THROW.
std::ostream & Pscf::Prdc::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 128 of file UnitCell1.cpp.
References UTIL_THROW.
std::istream & Pscf::Prdc::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 219 of file UnitCell2.cpp.
References UTIL_THROW.
std::istream & Pscf::Prdc::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 392 of file UnitCell3.cpp.
References UTIL_THROW.
std::ostream & Pscf::Prdc::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 427 of file UnitCell3.cpp.
References UTIL_THROW.
void Pscf::Prdc::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 51 of file unitCellHeader.h.
Referenced by readFieldHeader().
void Pscf::Prdc::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 81 of file unitCellHeader.h.
Referenced by writeFieldHeader().
void Pscf::Prdc::readFieldHeader | ( | std::istream & | in, |
int & | ver1, | ||
int & | ver2, | ||
UnitCell< D > & | cell, | ||
std::string & | groupName, | ||
int & | nMonomer ) |
Read common part of field header (fortran PSCF format).
If the group_name label and value are absent, then this function returns an empty groupName string, groupName == "".
in | input stream |
ver1 | major file format version number (output) |
ver2 | major file format version number (output) |
cell | UnitCell<D> object (output) |
groupName | string identifier for space group (output) |
nMonomer | number of monomers (output) |
Definition at line 144 of file fieldIoUtil.tpp.
References readUnitCellHeader(), and UTIL_CHECK.
Referenced by Pscf::Prdc::FieldIoReal< D, RFT, KFT, FFT >::checkAllocateBasis(), Pscf::Prdc::FieldIoReal< D, RFT, KFT, FFT >::estimateWBasis(), Pscf::Prdc::FieldIoReal< D, RFT, KFT, FFT >::readFieldHeader(), Pscf::Rpc::FieldIo< D >::readFieldRGrid(), Pscf::Rpg::FieldIo< D >::readFieldRGrid(), Pscf::Prdc::FieldIoReal< D, RFT, KFT, FFT >::readFieldsBasis(), Pscf::Rpc::FieldIo< D >::readFieldsKGrid(), Pscf::Rpg::FieldIo< D >::readFieldsKGrid(), Pscf::Rpc::FieldIo< D >::readFieldsRGrid(), Pscf::Rpg::FieldIo< D >::readFieldsRGrid(), and Pscf::Prdc::DomainReal< D, FFT, WLT, FIT >::readRGridFieldHeader().
void Pscf::Prdc::writeFieldHeader | ( | std::ostream & | out, |
int | ver1, | ||
int | ver2, | ||
UnitCell< D > const & | cell, | ||
std::string const & | groupName, | ||
int | nMonomer ) |
Write common part of field header (fortran PSCF format).
If the groupName parameter is an empty string (groupName == ""), then this function does not write the group_name label or value.
If nMonomer == 0, then this function does not write the N_monomer label or value.
out | output stream |
ver1 | major file format version number (input) |
ver2 | major file format version number (input) |
cell | UnitCell<D> object (input) |
groupName | string identifier for space group (input) |
nMonomer | number of monomers (input) |
Definition at line 187 of file fieldIoUtil.tpp.
References UTIL_CHECK, and writeUnitCellHeader().
Referenced by Pscf::Prdc::FieldIoReal< D, RFT, KFT, FFT >::writeFieldHeader(), Pscf::Rpc::FieldIo< D >::writeFieldRGrid(), Pscf::Rpg::FieldIo< D >::writeFieldRGrid(), Pscf::Prdc::FieldIoReal< D, RFT, KFT, FFT >::writeFieldsBasis(), Pscf::Rpc::FieldIo< D >::writeFieldsKGrid(), Pscf::Rpg::FieldIo< D >::writeFieldsKGrid(), Pscf::Rpc::FieldIo< D >::writeFieldsRGrid(), and Pscf::Rpg::FieldIo< D >::writeFieldsRGrid().