PSCF v1.4.0
Monte Carlo

Brownian Dynamics (Prev)         Compressor (Next)        

The PSCF implementation of MC sampling allows the user to specify a set of Monte Carlo move types to be used during an MC simulation. When more than one type of move is specified, one of the move types is chosen at random at the beginning of each step, using probabilities that are specified by the user.

Overview

The general algorithm for each attempted step of a PSCF MC simulation is thus as follows:

  • Choose a type of MC move at random from among a set of choices specified in the parameter file, based on probabilities assigned by the user.
  • Use the chosen MC move to generate a random change in the fields.
  • Apply the chosen compressor algorithm to adjust the pressure-like field \( W_{+}({\bf r}) \) so as to again satisfy the partial saddle-point (i.e., SCF incompressibility) condition.
  • Evaluate the Hamiltonian in the new partial saddle-point configuration.
  • Use a Metropolis criterion that is designed to satisfy detailed balance to decide whether to accept or reject the proposed move.
  • If the move is rejected, restore the field configuration that existed before the beginning of the attempted move.

The block of the parameter file for an MC simulation that contains information about MC moves, which is labelled "McMoveManager", contains one or more subblocks that are associated with different types of move. The parameter file block associated with each such MC move type contains a parameter named "probability" that specifies the probability of that type of move being chosen at the start of each step. The sum of these probabiltiies must be very close to 1.0 or execution will halt with an error message.

Algorithms

PSCF currently provides the following MC step algorithms:

  • RealMcMove : A simple MC move that generates statistically independent random changes of \( W_{-} \) all grid points
  • ForceBiasMove: A "smart MC" or "force bias" MC move that uses an explicit Euler BD step to generate a proposed MC move.
  • ShiftMove: This move generates a proposed MC move by applying a rigid translation of the entire current field configuration.
  • BdMove: A BD move simply runs a short BD simulation of a specified number of steps, and always accepts the result. This move does not satisfy detailed balance.

We recommend the ForceBiasMove as the workhorse method for MC sampling, among the moves that satisfy the detailed balance condition. The BdMove (which does not obey detailed balance) is provided to allow users to mix BD and MC sampling techniques, by combining a BdMove with one or more other more specialized MC moves.

Discussion: MC vs. BD sampling

Acceptance rates for available MC moves that satisfy detailed balance (i.e., all but BdMove) generally decrease rapidly with increasing system size. Because BD simulation does not suffer from any analogous problem, this phenomena causes MC to generally become rapidly less efficient than BD for sufficiently large systems. We thus generally recommend the use of BD or hybrid simulations rather than true Metropolis MC simulation for 3D systems with roughly \( 10^{4} \) or more grid points. Most physically interesting systems are larger than this.

Monte Carlo move used in molecular systems are usually spatially local moves, often involving only a single molecule, for which the resulting change in energy can be rapidly evaluated by analyzing only a small part of the simulated system. Unfortunately, the dependence of the field-theoretic Hamiltonian functional on the fields is inherently non-local. As a result, it is necessary to solve the modified diffusion equation for the entire system in order to evaluate the change in the Hamiltonian induced by any change in the fields, even a spatially localized change. This inherent non-locality makes it difficult to implement efficient MC algorithms for field theoretic simulations of large systems.

One advantage of MC over BD simulation is that, because proper MC algorithms satisfy a detailed balance condition, MC simulations generally do no exhibit any systematic sampling error. An infinitely long MC simulation would, in in the absence of round-off error, yield exact results for any average value obtained from a particular model on a specified computational mesh. The most important class of errors in MC simulations are thus usually true statistical errors arising from the finite length of a simulation, which can be quantified by standard methods of analyzing time sequences.

BD simulations instead exhibit a systematic error arising from discretization of a time-like coordinate in a diffusion model. The magnitude of this error increases with increases in the mobility parameter, but is not particularly sensitive to changes in system size. Results of MC simulations of small systems can sometimes be useful for comparison when testing new BD algorithms, and when evaluating systematic errors in BD algorithms. Upper bounds on systematic errors in BD simulations can also be estimated by running and comparing simulations with several different values of the mobility parameter.

The BdMove algorithm is provided to allow implementation of hybrid BD/MC simulations of large systems in special situations in which occasional application of a specialized MC move (e.g., the ShiftMove) may improve sampling. Any such simulation that uses the BdMove does not satisfy detailed balance, however, and so is best understood as a form of BD simulation supplemented by occasional application of another MC move.


Brownian Dynamics (Prev)         Algorithms (Up)         Compressor (Next)