|
PSCF v1.4.0
|
Leimkuhler-Matthews Brownian dynamics stepper. More...
#include <LMBdStep.h>
Public Member Functions | |
| void | readParameters (std::istream &in) override |
| Read body of parameter file block. | |
| void | setup () override |
| Setup before simulation loop. | |
| bool | step () override |
| Take a single Brownian dynamics step. | |
Protected Member Functions | |
| LMBdStep (typename T::BdSimulator &simulator) | |
| Constructor. | |
Leimkuhler-Matthews Brownian dynamics stepper.
The Leimkuhler-Matthews step algorithm differs from an explicit Euler algorithm in that it uses a random displacement that is given by a sum of random numbers generated at this step and the previous step.
References:
Specializations of this class template are used as base classes for two closely analogous class templates, both also named LmBdStep, that are defined in Rpc and Rpg namespaces and used in the pscf_rpc and pscf_rpg programs, respectively.
Template parameters:
Definition at line 51 of file fts/brownian/LMBdStep.h.
|
protected |
Constructor.
| simulator | parent BdSimulator object |
Definition at line 25 of file LMBdStep.tpp.
References Util::ParamComposite::setClassName().
|
override |
Read body of parameter file block.
| in | input parameter stream |
Definition at line 40 of file LMBdStep.tpp.
References Util::ParamComposite::read().
|
override |
|
override |
Take a single Brownian dynamics step.
Definition at line 120 of file LMBdStep.tpp.
References Pscf::VecOp::addEqVc(), Pscf::VecOp::addVV(), Pscf::VecOp::eqV(), and UTIL_CHECK.