PSCF v1.3
|
Computational Methods (Prev) Programs (Next)
Development of the C++/CUDA version of PSCF that is described in this manual began in 2015 as a project to rewrite an older Fortran program of the same name. The Fortran version of PSCF is an SCFT program for incompressible liquids containing one or more species of linear block polymers and (optionally) one or more small molecule solvent species. The acronym PSCF stands for "Polymer Self-Consistent Field", reflecting this origin of the package as an SCFT program.
The Fortran version of PSCF is still available in a separate github.com repository at https://github.com/dmorse/pscf , but is no longer being actively developed. The name "pscfpp" that is used for the github repository containing the current version was chosen to avoid a clash with the name "pscf" of the repository containing the older Fortran version.
The current C++/CUDA version of PSCF is intended to supersede the Fortran version. The current version provides almost all of the capabilities of the Fortran program, as well as some important new capabilities. New users of PSCF should use the current version documented here, and users of the Fortran version should consider switching to the current version whenever they can.
Features and advantages of current C++ version :
Characteristics of the current version of PSCF that distinguish it from the legacy Fortran version include the following:
Features unique to the legacy Fortran program :
The following features of the legacy Fortran program have not been ported to the C++/CUDA version:
These two features are described in more detail below.
The Fortran PSCF program can compute the SCFT linear response of periodic equilibrium structures to infinitesimal inhomogeneous external fields. This allows calculation of limits of stability of ordered phases and description composition fluctuations within such phases. This is the only important capability of the Fortran program that has not been ported to the new C++ version. The required algorithm and some applications are described in the following reference:
Ranjan, A. and Qin, J. and Morse, D.C., "Linear Response and Stability of Ordered Phases of Block Copolymers", 2008 Macromolecules 41, 942.
The Fortran PSCF program also uses a unique quasi-Newton/Broyden SCFT iteration algorithm that is very efficient for the problems of moderate size for which it was designed. This algorithm is based on a physically motivated initial approximation for the inverse Jacobian of the SCFT fixed-point problem that is iteratively improved via a Broyden update scheme. This algorithm was abandoned in the new C++ version in favor of Anderson-mixing algorithms because the amount of memory required by the quasi-Newton / Broyden scheme increases as the square of the number of spatial degrees of freedom, which prevented the algorithm from being applied to larger problems.
Computational Methods (Prev) About (Up) Programs (Next)