PSCF v1.4.0

Leimkuhler-Matthews Brownian dynamics stepper. More...

#include <LMBdStep.h>

Inheritance diagram for Pscf::Rp::LMBdStep< D, T >:

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.

Detailed Description

template<int D, class T>
class Pscf::Rp::LMBdStep< D, T >

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:

See also
Manual Page

Definition at line 51 of file fts/brownian/LMBdStep.h.

Constructor & Destructor Documentation

◆ LMBdStep()

template<int D, class T>
Pscf::Rp::LMBdStep< D, T >::LMBdStep ( typename T::BdSimulator & simulator)
protected

Constructor.

Parameters
simulatorparent BdSimulator object

Definition at line 25 of file LMBdStep.tpp.

References Util::ParamComposite::setClassName().

Member Function Documentation

◆ readParameters()

template<int D, class T>
void Pscf::Rp::LMBdStep< D, T >::readParameters ( std::istream & in)
override

Read body of parameter file block.

Parameters
ininput parameter stream

Definition at line 40 of file LMBdStep.tpp.

References Util::ParamComposite::read().

◆ setup()

template<int D, class T>
void Pscf::Rp::LMBdStep< D, T >::setup ( )
override

Setup before simulation loop.

Definition at line 94 of file LMBdStep.tpp.

References UTIL_CHECK.

◆ step()

template<int D, class T>
bool Pscf::Rp::LMBdStep< D, T >::step ( )
override

Take a single Brownian dynamics step.

Returns
true if compressor converged, false otherwise

Definition at line 120 of file LMBdStep.tpp.

References Pscf::VecOp::addEqVc(), Pscf::VecOp::addVV(), Pscf::VecOp::eqV(), and UTIL_CHECK.


The documentation for this class was generated from the following files: