PSCF v1.1
|
C++ namespace for polymer self-consistent field theory (PSCF). More...
Namespaces | |
namespace | Fd1d |
Finite-different one-dimensional SCFT. | |
namespace | Homogeneous |
Properties of spatially homogeneous mixtures (Flory-Huggins theory). | |
namespace | Pspc |
Pseudo-spectral SCFT for periodic boundary conditions. | |
namespace | Pspg |
Classes for pseudo-spectral algorithm for periodic boundary conditions. | |
Classes | |
class | AmbdInteraction |
Modified interaction to compute residual defn. More... | |
class | AmIteratorTmpl |
Template for Anderson mixing iterator algorithm. More... | |
class | Basis |
Symmetry-adapted Fourier basis for pseudo-spectral scft. More... | |
class | BFieldComparison |
Comparator for fields in symmetry-adapted basis format. More... | |
class | BlockDescriptor |
Description of a linear homopolymer block within a block polymer. More... | |
class | BlockTmpl |
Class template for a block in a block copolymer. More... | |
class | Field |
Base class template for a field defined on a spatial grid. More... | |
class | FieldComparison |
Comparison of element-by-element differences between field arrays. More... | |
class | Interaction |
Flory-Huggins excess free energy model. More... | |
class | IntVec |
An IntVec<D, T> is a D-component vector of elements of integer type T. More... | |
class | LuSolver |
Solve Ax=b by LU decomposition of A. More... | |
class | Mesh |
Description of a regular grid of points in a periodic domain. More... | |
class | MeshIterator |
Iterator over points in a Mesh<D>. More... | |
class | MixtureTmpl |
A mixture of polymer and solvent species. More... | |
class | Monomer |
Descriptor for a monomer or particle type. More... | |
class | NanException |
Exception thrown when not-a-number (NaN) is encountered. More... | |
class | PolymerTmpl |
Descriptor and MDE solver for an acyclic block polymer. More... | |
struct | PolymerType |
Struct containing an enumeration of polymer structure types. More... | |
class | PropagatorTmpl |
Template for propagator classes. More... | |
class | RealVec |
A RealVec<D, T> is D-component vector with elements of floating type T. More... | |
class | SolventDescriptor |
Descriptor for a solvent species. More... | |
class | SpaceGroup |
Crystallographic space group. More... | |
class | SpaceSymmetry |
A SpaceSymmetry represents a crystallographic space group symmetry. More... | |
class | Species |
Base class for a molecular species (polymer or solvent). More... | |
class | SweepTmpl |
Solve a sequence of problems along a path through parameter space. More... | |
class | SymmetryGroup |
Class template for a group of elements. More... | |
class | TridiagonalSolver |
Solver for Ax=b with tridiagonal matrix A. More... | |
struct | TWave |
Simple wave struct for use within Basis construction. More... | |
struct | TWaveBzComp |
Comparator for TWave objects, based on TWave::indicesBz. More... | |
struct | TWaveDftComp |
Comparator for TWave objects, based on TWave::indicesDft. More... | |
struct | TWaveNormComp |
Comparator for TWave objects, based on TWave::sqNorm. More... | |
class | UnitCell |
Base template for UnitCell<D> classes, D=1, 2 or 3. More... | |
class | UnitCell< 1 > |
1D crystal unit cell. More... | |
class | UnitCell< 2 > |
2D crystal unit cell. More... | |
class | UnitCell< 3 > |
3D crystal unit cell. More... | |
class | UnitCellBase |
Base class template for a crystallographic unit cell. More... | |
class | Vec |
A Vec<D, T><D,T> is a D-component vector with elements of type T. More... | |
class | Vertex |
A junction or chain end in a block polymer. More... | |
Functions | |
std::istream & | operator>> (std::istream &in, BlockDescriptor &block) |
istream extractor for a BlockDescriptor. More... | |
std::ostream & | operator<< (std::ostream &out, const BlockDescriptor &block) |
ostream inserter for a BlockDescriptor. More... | |
std::istream & | operator>> (std::istream &in, Monomer &monomer) |
istream extractor for a Monomer. More... | |
std::ostream & | operator<< (std::ostream &out, const Monomer &monomer) |
ostream inserter for a Monomer. More... | |
std::istream & | operator>> (std::istream &in, PolymerType::Enum &type) |
Input stream extractor for a PolymerType::Enum enumeration. More... | |
std::ostream & | operator<< (std::ostream &out, PolymerType::Enum &type) |
Input stream extractor for a PolymerType::Enum enumeration. More... | |
template<class Archive > | |
void | serialize (Archive &ar, PolymerType::Enum &data, const unsigned int version) |
Serialize a PolymerType::Enum enumeration. More... | |
std::istream & | operator>> (std::istream &in, Species::Ensemble &policy) |
istream extractor for a Species::Ensemble. More... | |
std::ostream & | operator<< (std::ostream &out, Species::Ensemble policy) |
ostream inserter for an Species::Ensemble. More... | |
template<class Archive > | |
void | serialize (Archive &ar, Species::Ensemble &policy, const unsigned int version) |
Serialize a Species::Ensemble. More... | |
std::string | makeGroupFileName (int D, std::string groupName) |
Generates the file name from a group name. More... | |
template<int D> | |
IntVec< D > | shiftToMinimum (IntVec< D > &v, IntVec< D > d, UnitCell< D > const &cell) |
Returns minimum magnitude image of DFT wavevector. More... | |
template<int D> | |
std::ostream & | operator<< (std::ostream &out, SpaceGroup< D > const &g) |
Output stream inserter operator for a SpaceGroup<D>. More... | |
template<int D> | |
std::istream & | operator>> (std::istream &in, SpaceGroup< D > &g) |
Input stream extractor operator for a SpaceGroup<D>. More... | |
template<int D> | |
void | readGroup (std::string groupName, SpaceGroup< D > &group) |
Open and read a group file. More... | |
template<int D> | |
void | writeGroup (std::string filename, SpaceGroup< D > const &group) |
Open and write a group file. More... | |
template<int D> | |
bool | operator== (const SpaceSymmetry< D > &A, const SpaceSymmetry< D > &B) |
Are two SpaceSymmetry objects equivalent? More... | |
template<int D> | |
bool | operator!= (const SpaceSymmetry< D > &A, const SpaceSymmetry< D > &B) |
Are two SpaceSymmetry objects not equivalent? More... | |
template<int D> | |
SpaceSymmetry< D > | operator* (const SpaceSymmetry< D > &A, const SpaceSymmetry< D > &B) |
Return the product A*B of two symmetry objects. More... | |
template<int D> | |
IntVec< D > | 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 > | 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 & | operator<< (std::ostream &out, const SpaceSymmetry< D > &A) |
Output stream inserter for a SpaceSymmetry<D> More... | |
template<int D> | |
std::istream & | operator>> (std::istream &in, SpaceSymmetry< D > &A) |
Input stream extractor for a SpaceSymmetry<D> More... | |
template<int D> | |
std::istream & | operator>> (std::istream &in, UnitCell< D > &cell) |
istream input extractor for a UnitCell<D>. More... | |
template<int D> | |
std::ostream & | operator<< (std::ostream &out, UnitCell< D > const &cell) |
ostream output inserter for a UnitCell<D>. More... | |
template<class Archive , int D> | |
void | serialize (Archive &ar, UnitCell< D > &cell, const unsigned int version) |
Serialize to/from an archive. More... | |
template<int D> | |
void | readUnitCellHeader (std::istream &in, UnitCell< D > &cell) |
Read UnitCell<D> from a field file header (fortran PSCF format). More... | |
template<int D> | |
void | writeUnitCellHeader (std::ostream &out, UnitCell< D > const &cell) |
Write UnitCell<D> to a field file header (fortran PSCF format). More... | |
std::istream & | operator>> (std::istream &in, UnitCell< 1 >::LatticeSystem &lattice) |
istream extractor for a 1D UnitCell<1>::LatticeSystem. More... | |
std::ostream & | operator<< (std::ostream &out, UnitCell< 1 >::LatticeSystem lattice) |
ostream inserter for a 1D UnitCell<1>::LatticeSystem. More... | |
template<class Archive > | |
void | serialize (Archive &ar, UnitCell< 1 >::LatticeSystem &lattice, const unsigned int version) |
Serialize a UnitCell<1>::LatticeSystem enumeration value. More... | |
std::istream & | operator>> (std::istream &in, UnitCell< 2 >::LatticeSystem &lattice) |
istream extractor for a 2D UnitCell<2>::LatticeSystem. More... | |
std::ostream & | operator<< (std::ostream &out, UnitCell< 2 >::LatticeSystem lattice) |
ostream inserter for a 2D UnitCell<2>::LatticeSystem. More... | |
template<class Archive > | |
void | serialize (Archive &ar, UnitCell< 2 >::LatticeSystem &lattice, const unsigned int version) |
Serialize a UnitCell<2>::LatticeSystem enumeration value. More... | |
std::istream & | operator>> (std::istream &in, UnitCell< 3 >::LatticeSystem &lattice) |
istream extractor for a 3D UnitCell<3>::LatticeSystem. More... | |
std::ostream & | operator<< (std::ostream &out, UnitCell< 3 >::LatticeSystem lattice) |
ostream inserter for an 3D UnitCell<3>::LatticeSystem. More... | |
template<class Archive > | |
void | serialize (Archive &ar, UnitCell< 3 >::LatticeSystem &lattice, const unsigned int version) |
Serialize a UnitCell<3>::LatticeSystem enumeration value. More... | |
template<int D, typename T > | |
std::istream & | operator>> (std::istream &in, IntVec< D, T > &vector) |
istream extractor for a IntVec<D, T>. More... | |
template<int D, typename T > | |
std::ostream & | operator<< (std::ostream &out, const IntVec< D, T > &vector) |
ostream inserter for a IntVec<D, T>. More... | |
template<int D, typename T > | |
bool | operator== (const IntVec< D, T > &v1, const IntVec< D, T > &v2) |
Equality of two IntVec<D> objects. More... | |
template<int D, typename T > | |
bool | operator== (const IntVec< D, T > &v1, const Vec< D, T > &v2) |
Equality of an IntVec<D> and a Vec<D, T> More... | |
template<int D, typename T > | |
bool | operator== (const Vec< D, T > &v1, const IntVec< D, T > &v2) |
Equality of an Vec<D, T> and an IntVec<D, T> More... | |
template<int D, typename T > | |
bool | operator!= (const IntVec< D, T > &v1, const IntVec< D, T > &v2) |
Inequality of two IntVec<D, T> objects. More... | |
template<int D, typename T > | |
bool | operator!= (const IntVec< D, T > &v1, const Vec< D, T > &v2) |
Inequality of an IntVec<D> and a Vec<D, T> More... | |
template<int D, typename T > | |
bool | operator!= (const Vec< D, T > &v1, const IntVec< D, T > &v2) |
Inequality of a Vec<D, T> and an IntVec<D, T> More... | |
template<int D, typename T > | |
bool | operator< (const IntVec< D, T > &v1, const IntVec< D, T > &v2) |
Less than comparison for two IntVec<D, T>s. More... | |
template<int D, typename T > | |
bool | operator<= (const IntVec< D, T > &v1, const IntVec< D, T > &v2) |
Less than or equal to comparison for two IntVec<D, T>s. More... | |
template<int D, typename T > | |
bool | operator> (const IntVec< D, T > &v1, const IntVec< D, T > &v2) |
Greater than comparison for two IntVec<D, T>s. More... | |
template<int D, typename T > | |
bool | operator>= (const IntVec< D, T > &v1, const IntVec< D, T > &v2) |
Greater than or equal to comparison for two IntVec<D, T>s. More... | |
template<int D, typename T > | |
std::istream & | operator>> (std::istream &in, RealVec< D, T > &vector) |
istream extractor for a RealVec<D, T>. More... | |
template<int D, typename T > | |
std::ostream & | operator<< (std::ostream &out, const RealVec< D, T > &vector) |
ostream inserter for a RealVec<D, T>. More... | |
template<int D, typename T > | |
T | dot (Vec< D, T > const &v1, Vec< D, T > const &v2) |
Return dot product of two vectors. More... | |
template<int D, typename T > | |
Vec< D, T > | operator+ (Vec< D, T > const &v1, Vec< D, T > const &v2) |
Return the sum of two vectors. More... | |
template<int D> | |
std::istream & | operator>> (std::istream &in, Mesh< D > &mesh) |
Input stream extractor for reading a Mesh<D> object. More... | |
template<int D> | |
std::ostream & | operator<< (std::ostream &out, Mesh< D > const &mesh) |
Output stream inserter for writing a Mesh<D> object. More... | |
C++ namespace for polymer self-consistent field theory (PSCF).
std::istream & Pscf::operator>> | ( | std::istream & | in, |
BlockDescriptor & | block | ||
) |
istream extractor for a BlockDescriptor.
in | input stream |
block | BlockDescriptor to be read from stream |
Definition at line 70 of file BlockDescriptor.cpp.
std::ostream & Pscf::operator<< | ( | std::ostream & | out, |
const BlockDescriptor & | block | ||
) |
ostream inserter for a BlockDescriptor.
out | output stream |
block | BlockDescriptor to be written to stream |
Definition at line 84 of file BlockDescriptor.cpp.
std::istream & Pscf::operator>> | ( | std::istream & | in, |
Monomer & | monomer | ||
) |
istream extractor for a Monomer.
in | input stream |
monomer | Monomer to be read from stream |
Definition at line 24 of file Monomer.cpp.
std::ostream & Pscf::operator<< | ( | std::ostream & | out, |
const Monomer & | monomer | ||
) |
ostream inserter for a Monomer.
out | output stream |
monomer | Monomer to be written to stream |
Definition at line 34 of file Monomer.cpp.
std::istream & Pscf::operator>> | ( | std::istream & | in, |
PolymerType::Enum & | type | ||
) |
Input stream extractor for a PolymerType::Enum enumeration.
in | input stream |
type | value of PolymerType to be read from file |
Definition at line 20 of file PolymerType.cpp.
References UTIL_THROW.
std::ostream & Pscf::operator<< | ( | std::ostream & | out, |
PolymerType::Enum & | type | ||
) |
Input stream extractor for a PolymerType::Enum enumeration.
out | output stream |
type | value of PolymerType to be written |
Definition at line 40 of file PolymerType.cpp.
References UTIL_THROW.
|
inline |
Serialize a PolymerType::Enum enumeration.
ar | archive |
data | enumeration data to be serialized |
version | version id |
Definition at line 56 of file PolymerType.h.
References Util::serializeEnum().
std::istream & Pscf::operator>> | ( | std::istream & | in, |
Species::Ensemble & | policy | ||
) |
istream extractor for a Species::Ensemble.
in | input stream |
policy | Species::Ensemble to be read |
Definition at line 22 of file Species.cpp.
References UTIL_THROW.
std::ostream & Pscf::operator<< | ( | std::ostream & | out, |
Species::Ensemble | policy | ||
) |
ostream inserter for an Species::Ensemble.
out | output stream |
policy | Species::Ensemble to be written |
Definition at line 40 of file Species.cpp.
References UTIL_THROW.
void Pscf::serialize | ( | Archive & | ar, |
Species::Ensemble & | policy, | ||
const unsigned int | version | ||
) |
Serialize a Species::Ensemble.
ar | archive object |
policy | object to be serialized |
version | archive version id |
Definition at line 131 of file Species.h.
References Util::serializeEnum().
|
inline |
Serialize a UnitCell<1>::LatticeSystem enumeration value.
ar | archive |
lattice | enumeration data to be serialized |
version | version id |
Definition at line 261 of file UnitCell.h.
References Util::serializeEnum().
std::ostream & Pscf::operator<< | ( | std::ostream & | out, |
UnitCell< 2 >::LatticeSystem | lattice | ||
) |
ostream inserter for a 2D UnitCell<2>::LatticeSystem.
out | output stream |
lattice | UnitCell<2>::LatticeSystem to be written |
Definition at line 186 of file UnitCell2.cpp.
References UTIL_THROW.
|
inline |
Serialize a UnitCell<2>::LatticeSystem enumeration value.
ar | archive |
lattice | enumeration data to be serialized |
version | version id |
Definition at line 385 of file UnitCell.h.
References Util::serializeEnum().
|
inline |
Serialize a UnitCell<3>::LatticeSystem enumeration value.
ar | archive |
lattice | enumeration data to be serialized |
version | version id |
Definition at line 512 of file UnitCell.h.
References Util::serializeEnum().
std::istream & Pscf::operator>> | ( | std::istream & | in, |
IntVec< D, T > & | vector | ||
) |
std::ostream & Pscf::operator<< | ( | std::ostream & | out, |
const IntVec< D, T > & | vector | ||
) |
std::istream & Pscf::operator>> | ( | std::istream & | in, |
RealVec< D, T > & | vector | ||
) |
std::ostream & Pscf::operator<< | ( | std::ostream & | out, |
const RealVec< D, T > & | vector | ||
) |
ostream inserter for a RealVec<D, T>.
Output a RealVec<D, T> to an ostream, without line breaks.
Output elements of a vector to stream, without line breaks.
out | output stream |
vector | RealVec<D, T> to be written to stream |
Return dot product of two vectors.
v1 | first input vector |
v2 | second input vector |
Definition at line 285 of file Vec.h.
References Util::setToZero().
Referenced by Pscf::Pspc::FilmIterator< 2, IteratorType >::checkLatticeVectors(), and Pscf::Pspc::FilmIterator< 3, IteratorType >::checkLatticeVectors().
|
inline |
Return the sum of two vectors.
v1 | first input vector |
v2 | second input vector |
Definition at line 304 of file Vec.h.
References Pscf::Vec< D, T >::add().
std::istream & Pscf::operator>> | ( | std::istream & | in, |
Mesh< D > & | mesh | ||
) |