|
PSCF v1.4.0
|
Algorithms (Prev/Up) Brownian Dynamics (Next)
This page gives a brief overview of all of the different types of specialized algorithm that are used to perform and analyze PS-FTS calculations, excluding basic algorithms that are also needed for SCFT calculations.
The pscf_rpc and pscf_rpg programs can perform PS-FTS calculations using either a Brownian dynamics (BD) or Monte Carlo (MC) method to stochastically sample a fluctuating field or fields. BD and MC sampling algorithms for PS-FTS have a similar structure. A single BD step or MC move generally involves generation of a random change in one or more exchange fields, followed by use of an iterative algorithm to identify a new partial-saddle point field configuration. Throughout the PSCF documentation and source code, iterative algorithms that are used to identify partial saddle-point configurations, and thus satisfy the mean-field incompressibility constraint, are referred to as "compressor" algorithms.
For example, consider a PS-FTS simulation of a standard AB system with two monomer types and a positive Flory-Huggins interaction parameter. Such a system has a real exchange field \( W_{-}({\bf r}) = \omega_{-}({\bf r}) \) that undergoes random fluctuations and a real pressure-like field \( W_{+}({\bf r}) = i \omega_{+}({\bf r})\) that must be chosen to satisfy the partial saddle-point condition. At the beginning of either a BD step or MC move for such as system, a small random change is added to the exchange field \( W_{-} \). Next, an iterative compressor algorithm is used to adjust the presssure-like field \( W_{+}({\bf r}) \) so as to satisfy the partial saddle-point condition, thus imposing incompressibility at a mean-field level. Finally, for an MC simulation, a decision is made about whether to accept or reject the resulting MC move, based on the value of the Hamiltonian in the new partial saddle-point configuration.
PSCF also provides tools for analysis of simulation data. Users may use the parameter file to enable one or more of a set classes that can periodically compute specific physical quantitites, output data to a file, and/or perform statistical analyses during a simulation. We refer to C++ classes that perform these sorts of periodic data output and analysis operations "analyzer" classes.
The parameter file for a typical PS-FTS calculation will thus normally contain a choice of algorithms for the following three purposes:
In addition to these basic building blocks, users may also enable two other types of optional elements:
In the source code of PSCF, different algorithms of the same type are generally implemented by C++ classes that are subclasses of a common base class. The generic names that we use in this documentation to describe different types of algorithm generally correspond to the names of the corresponding base class or base class template. Specifically, within each relevant program level namespace (Pscf::Rpc or Pscf::Rpg):
The PSCF parameter file format uses selectable parameter file blocks to allow a user to either choose one algorithm from a set of different algorithms of the same type (as is appropriate for BdStep or Compressor algorithms) or to choose a set one or more algorithms from among a list of available algorithms of the same type (as is appropriate for McMove and Analyzer algorithms).
Algorithms (Prev/Up) Brownian Dynamics (Next)