PSCF v1.4.0

Templates for modified diffusion equation "solver" classes. More...

Classes

class  Pscf::BlockTmpl< QT, FT >
 Class template for a block solver in a block copolymer. More...
class  Pscf::MixtureTmpl< PT, ST, WT >
 Solvers for a mixture of polymer and solvent species. More...
class  Pscf::PolymerTmpl< BT, PT, WT >
 Descriptor and MDE solver for a block polymer. More...
class  Pscf::PropagatorTmpl< QT >
 Template for propagator classes. More...

Detailed Description

Templates for modified diffusion equation "solver" classes.

The templates defined in this module are designed to be used as base classes for solver classes used in several different implementations of polymer field theory. Different implementations may be designed for different geometries or boundary conditions or for different hardware (e.g., CPU vs. GPU), and may use different algorithms to solve the modified diffusion equation. Source code specific to each such implementation is defined in a different program-level subnamespace within Pscf. By convention, code that is defined in an implementation level namespace may not use names or include headers for code defined in any other program-level namespace. This convention allows the use of identical names for analogous classes in different program-level namespaces without causing name clashes or ambiguities.

The solver templates PolymerTmpl and MixtureTmpl templates are each derived from a "descriptor" class that provides a description of a species or mixture but that does not provide functions or data structures required to solve single-molecule statistical mechanics problem. The descriptor classes for polymer species and mixtures are named PolymerSpecies and MixtureBase, respectively. The descriptor class for solvent species is named SolventSpecies. Source code files for these descriptor classes are in directory src/pscf/chem.

To define an implementation of polymer field theory, one must define the following set of solver classes within each program-level subspace of Pscf: