PSCF v1.3
Chemical Structure

Classes that describe chemical structure of polymers and solvents. More...

Namespaces

namespace  Pscf::Debye
 Functions used to compute intramolecular correlation functions.

Classes

class  Pscf::Edge
 Descriptor for a block within a block polymer. More...
class  Pscf::EdgeIterator
 Edge iterator for graph associated with a polymer. More...
class  Pscf::MixtureBase
 Abstract descriptor for a mixture of polymer and solvent species. More...
class  Pscf::Monomer
 Descriptor for a monomer type. More...
class  Pscf::PolymerSpecies
 Descriptor for a linear or acyclic branched block polymer. More...
struct  Pscf::PolymerType
 Struct containing an enumeration of polymer structure types. More...
class  Pscf::SolventSpecies
 Descriptor for a solvent species. More...
class  Pscf::Species
 Base class for a molecular species (polymer or solvent). More...
class  Pscf::Vertex
 A junction or chain end in a block polymer. More...
class  Pscf::VertexIterator
 Vertex iterator for graph associated with a polymer. More...

Enumerations

enum  Pscf::PolymerModel::Type
 Scoped enumeration of polymer model types. More...

Functions

double Pscf::Debye::dt (double ksq, double length, double kuhn)
 Compute and return intrablock correlation function (thread model)
double Pscf::Debye::db (double ksq, double nBead, double kuhn)
 Compute and return an intrablock correlation function (bead model)
double Pscf::Debye::et (double ksq, double length, double kuhn)
 Compute and return one-sided factor for one block (thread model).
double Pscf::Debye::eb (double ksq, double nBead, double kuhn)
 Compute and return one-sided factor for one block (thread model).
std::istream & Pscf::PolymerModel::operator>> (std::istream &in, PolymerModel::Type &model)
 Input stream extractor for a PolymerModel::Type enumeration.
std::ostream & Pscf::PolymerModel::operator<< (std::ostream &out, PolymerModel::Type const &model)
 Output stream inserter for a PolymerModel::Type enumeration.
template<class Archive>
void Pscf::PolymerModel::serialize (Archive &ar, PolymerModel::Type &data, const unsigned int version)
 Serialize a PolymerModel::Type enumeration.
std::istream & Pscf::operator>> (std::istream &in, PolymerType::Enum &type)
 Input stream extractor for a PolymerType::Enum enumeration.
std::ostream & Pscf::operator<< (std::ostream &out, PolymerType::Enum const &type)
 Output stream extractor for a PolymerType::Enum enumeration.
template<class Archive>
void Pscf::serialize (Archive &ar, PolymerType::Enum &data, const unsigned int version)
 Serialize a PolymerType::Enum enumeration.

Detailed Description

Classes that describe chemical structure of polymers and solvents.

Enumeration Type Documentation

◆ Type

Scoped enumeration of polymer model types.

Allowed values:

  • Thread: continuous thread model (4th order accurate)
  • Bead: discrete bead-spring model

Definition at line 49 of file PolymerModel.h.

Function Documentation

◆ dt()

double Pscf::Debye::dt ( double ksq,
double length,
double kuhn )

Compute and return intrablock correlation function (thread model)

This function returns the intramolecular correlation function for a homopolymer of specified length and statistical segment length. The The result for the thread model can be expressed as a function

\[ d = (length)^2 g(x) \]

where x = ksq * length * kuhn * kuhn / 6 and

\[ g(x) \equiv 2[ e^{-x} - 1 + x ]/x^2 \]

is the Debye function.

Parameters
ksqsquare of wavenumber
lengthcontour length of polymer or block
kuhnstatistical segement length

Definition at line 17 of file Debye.cpp.

Referenced by Pscf::Rpc::IntraCorrelation< D >::computeIntraCorrelations(), and Pscf::Rpg::IntraCorrelation< D >::computeIntraCorrelations().

◆ db()

double Pscf::Debye::db ( double ksq,
double nBead,
double kuhn )

Compute and return an intrablock correlation function (bead model)

This function returns the intramolecular correlation function for a homopolymer of specified length and statistical segment length. The result for the bead model can be expressed as a function

\[ g(x) \equiv 2[ e^{-yN} - 1 + N(1-e^{-y}) ]/(1-e^{-y})^2 \]

where y = ksq * kuhn * kuhn / 6 and

Parameters
ksqsquare of wavenumber
nBeadnumber of beads in the block (converted to double)
kuhnstatistical segement length

Definition at line 33 of file Debye.cpp.

Referenced by Pscf::Rpc::IntraCorrelation< D >::computeIntraCorrelations(), and Pscf::Rpg::IntraCorrelation< D >::computeIntraCorrelations().

◆ et()

double Pscf::Debye::et ( double ksq,
double length,
double kuhn )

Compute and return one-sided factor for one block (thread model).

This function returns the function

\[ e = (length) h(x) \]

where x = ksq * length * kuhn * kuhn / 6, and

\[ h(x) \equiv [ 1 - e^{-x} ]/x \]

is another dimensionless function of x.

Parameters
ksqsquare of wavenumber
lengthcontour length of block
kuhnstatistical segement length

Definition at line 53 of file Debye.cpp.

Referenced by Pscf::Rpc::IntraCorrelation< D >::computeIntraCorrelations(), and Pscf::Rpg::IntraCorrelation< D >::computeIntraCorrelations().

◆ eb()

double Pscf::Debye::eb ( double ksq,
double nBead,
double kuhn )

Compute and return one-sided factor for one block (thread model).

This function returns the function

\[ e(x) \equiv ( 1 - e^{-Ny} )/(1-e^{-y}) \]

where y = ksq * kuhn * kuhn / 6 and

Parameters
ksqsquare of wavenumber
nBeadnumber of beads in the block (converted to double)
kuhnstatistical segement length

Definition at line 69 of file Debye.cpp.

Referenced by Pscf::Rpc::IntraCorrelation< D >::computeIntraCorrelations(), and Pscf::Rpg::IntraCorrelation< D >::computeIntraCorrelations().

◆ operator>>() [1/2]

std::istream & Pscf::PolymerModel::operator>> ( std::istream & in,
PolymerModel::Type & model )

Input stream extractor for a PolymerModel::Type enumeration.

Parameters
ininput stream
modelvalue of PolymerModel::Type to be read from in

Definition at line 93 of file PolymerModel.cpp.

References UTIL_THROW.

◆ operator<<() [1/2]

std::ostream & Pscf::PolymerModel::operator<< ( std::ostream & out,
PolymerModel::Type const & model )

Output stream inserter for a PolymerModel::Type enumeration.

Parameters
outoutput stream
modelvalue of PolymerModel::Type to be written to out

Definition at line 114 of file PolymerModel.cpp.

References UTIL_THROW.

◆ serialize() [1/2]

template<class Archive>
void Pscf::PolymerModel::serialize ( Archive & ar,
PolymerModel::Type & data,
const unsigned int version )
inline

Serialize a PolymerModel::Type enumeration.

Parameters
ararchive
dataenumeration data to be serialized
versionversion id

Definition at line 134 of file PolymerModel.h.

References Util::serializeEnum().

◆ operator>>() [2/2]

std::istream & Pscf::operator>> ( std::istream & in,
PolymerType::Enum & type )

Input stream extractor for a PolymerType::Enum enumeration.

Parameters
ininput stream
typevalue of PolymerType enumeration to be read from in

Definition at line 20 of file PolymerType.cpp.

References UTIL_THROW.

◆ operator<<() [2/2]

std::ostream & Pscf::operator<< ( std::ostream & out,
PolymerType::Enum const & type )

Output stream extractor for a PolymerType::Enum enumeration.

Parameters
outoutput stream
typevalue of PolymerType enumeration to be written to out

Definition at line 40 of file PolymerType.cpp.

References UTIL_THROW.

◆ serialize() [2/2]

template<class Archive>
void Pscf::serialize ( Archive & ar,
PolymerType::Enum & data,
const unsigned int version )
inline

Serialize a PolymerType::Enum enumeration.

Parameters
ararchive
dataenumeration data to be serialized
versionversion id

Definition at line 64 of file PolymerType.h.

References Util::serializeEnum().