11#include <util/containers/DArray.h>
39 template <
int D,
class T>
76 BdMove(
typename T::McSimulator& simulator);
95 using McMoveT =
typename T::McMove;
98 using McMoveT::system;
99 using McMoveT::simulator;
100 using McMoveT::random;
101 using McMoveT::vecRandom;
105 using RFieldT =
typename T::RField;
135 RFieldT& etaNew(
int i)
136 {
return (*etaNewPtr_)[i]; }
138 RFieldT& etaOld(
int i)
139 {
return (*etaOldPtr_)[i]; }
142 void generateEtaNew();
145 void exchangeOldNew();
void bdSetup()
Setup before simulation loop.
void readParameters(std::istream &in) override
Read body of parameter file block.
bool needsDc() override
Do dc derivative components need to be saved before a step?
bool bdStep()
Take a single Brownian dynamics step.
~BdMove()=default
Destructor.
BdMove(typename T::McSimulator &simulator)
Constructor.
bool move() override
Generate a short BD simulation.
Class templates for real-valued periodic fields.
PSCF package top-level namespace.