David Morse is the primary architect of both the Fortran and C++ versions of PSCF. He wrote an initial version of the original Fortran program in 2002-2003 and began designing a C++ version in 2015. He wrote most of the C++ building blocks of the current C++/CUDA package other than those attributed below to other contributors.
Contributors to current C++/CUDA version:
Guo-Kang Cheong wrote the original code for GPU-accelerated SCFT. He also wrote a separate prototype code for field theoretic Monte-Carlo simulations using a partial saddle point field theoretic simulation.
Anshul Chawla wrote the original Anderson mixing algorithm for the GPU-accelerated SCFT.
Ryan Collanton contributed to development of parameter sweep functionality, support for grand canonical and mixed ensemble calculations, an improved scheme for GPU resource allocation, more robust GPU kernels for mathematical operations, and expanded unit testing. Ryan also refactored the Anderson mixing iterator algorithm as a template.
Benjamin Magruder developed the thin film feature of the pscf_rpc and pscf_rpg programs. This included implementation of the underlying features that allow users to use a "mask" to impose a constrained geometry and to introduce external fields. Ben also compiled a host of disparate visualization codes into a highly customizable suite of MATLAB functions (PolymerVisual) for visualizing 2D and 3D SCFT solutions.
Kexin Chen developed the code for stochastic field theoretic simulations based on a partial saddle-point approximation (PS-FTS) within the pscf_rpc and pscf_rpg programs. This included implementation of the MC and BD sampling algorithms, development of new algorithms to identify partial saddle-point states, and classes for data analysis.
Contributors to legacy Fortran version:
Chris Tyler wrote a set of SCFT codes for his Ph.D. work that were based on a spectral algorithm for solving the modified diffusion equation (MDE), expansion of fields in a symmetry-adapted Fourier basis, and a Newton-Raphson iterator. The resulting codes were functionally similar to those used in earlier seminal work on SCFT by Mark Matsen. They served as prototypes for the first version of PSCF, which was written by David Morse shortly after Chris defended his Ph.D. thesis.
Jian Qin converted PSCF to use a pseudo-spectral rather than fully spectral algorithm for solving the MDE, developed a new high-accuracy Richardson-extrapolation algorithm for stepping the contour length variable, and developed the Newton-Broyden iteration algorithm with backstepping.
Amit Ranjan developed the code used to compute the spectrum of fluctuation eigenmodes for an ordered structure, which can be used to analyze local stability and describe diffuse scattering. This is currently the only feature of the Fortran PSCF program that has not been ported to the C++/CUDA package.
Akash Arora wrote the Anderson-mixing iteration algorithm used in the Fortran program, including the extension to allow simultaneous relaxation of chemical potential fields and unit cell parameters.