|
PSCF v1.4.0
|
Brownian dynamics Monte-Carlo move. More...
#include <BdMove.h>
Public Member Functions | |
| void | readParameters (std::istream &in) override |
| Read body of parameter file block. | |
| bool | move () override |
| Generate a short BD simulation. | |
| bool | needsDc () override |
| Do dc derivative components need to be saved before a step? | |
Protected Member Functions | |
| BdMove (typename T::McSimulator &simulator) | |
| Constructor. | |
| ~BdMove ()=default | |
| Destructor. | |
| void | bdSetup () |
| Setup before simulation loop. | |
| bool | bdStep () |
| Take a single Brownian dynamics step. | |
Brownian dynamics Monte-Carlo move.
A BdMove is a Monte-Carlo move that simply runs a short Brownian dynamics (BD) simulation, and always accepts the result. This implementation uses the Leimkuhler-Matthews BD step algorithm.
Specializations of this class template are used as base classes for two closely analogous class templates, also named BdMove, that are defined in Rpc and Rpg namespaces for use in the pscf_rpc pscf_rpg programs, respectively.
Template parameters:
Definition at line 40 of file fts/montecarlo/BdMove.h.
|
protected |
Constructor.
| simulator | parent McSimulator object |
Definition at line 25 of file BdMove.tpp.
References Util::ParamComposite::setClassName().
|
protecteddefault |
Destructor.
|
override |
Read body of parameter file block.
| in | input parameter stream |
Definition at line 40 of file BdMove.tpp.
References Util::ParamComposite::read().
|
override |
|
inlineoverride |
Do dc derivative components need to be saved before a step?
The default implementation returns true.
Definition at line 66 of file fts/montecarlo/BdMove.h.
|
protected |
|
protected |
Take a single Brownian dynamics step.
Definition at line 144 of file BdMove.tpp.
References Pscf::VecOp::addEqVc(), Pscf::VecOp::addVV(), Pscf::VecOp::eqV(), and UTIL_CHECK.