11#include <util/param/ParamComposite.h>
51 template <
int D,
class T>
59 BdStep(BdStep<D,T>
const &) =
delete;
60 BdStep<D,T>& operator = (BdStep<D,T>
const &) =
delete;
160 typename T::BdSimulator* simulatorPtr_;
163 typename T::System* systemPtr_;
169 typename T::VecRandom *vecRandomPtr_;
178 template <
int D,
class T>
inline
180 {
return *systemPtr_; }
185 template <
int D,
class T>
inline
187 {
return *simulatorPtr_; }
192 template <
int D,
class T>
inline
194 {
return *randomPtr_; }
199 template <
int D,
class T>
inline
201 {
return *vecRandomPtr_; }
Template for abstract base class for Brownian dynamics (BD) steps.
virtual void setup()
Setup before the beginning of each simulation run.
T::BdSimulator & simulator()
Get parent BdSimulator object.
virtual bool needsCc()
Do cc concentration components need to be saved before a step?
T::VecRandom & vecRandom()
Get vector random number generator of parent simulator.
T::System & system()
Get parent System object.
virtual void output()
Output statistics for this stepper (after end of simulation).
virtual void outputTimers(std::ostream &out)
Output any timing results to ostream.
virtual bool step()=0
Take a single Brownian dynamics step.
Random & random()
Get scalar random number generator of parent simulator.
virtual bool needsDc()
Do dc derivative components need to be saved before a step?
virtual void readParameters(std::istream &in)
Read required parameters from file.
virtual void clearTimers()
Clear timers.
ParamComposite()
Constructor.
File containing preprocessor macros for error handling.
Class templates for real-valued periodic fields.
PSCF package top-level namespace.
Utility classes for scientific computation.