1#ifndef RPG_FORCE_BIAS_MOVE_H
2#define RPG_FORCE_BIAS_MOVE_H
12#include <prdc/cuda/RField.h>
13#include <util/containers/DArray.h>
99 using McMove<D>::compressorTimer_;
100 using McMove<D>::componentTimer_;
101 using McMove<D>::hamiltonianTimer_;
102 using McMove<D>::decisionTimer_;
103 using McMove<D>::totalTimer_;
135 #ifndef RPG_FORCE_BIAS_MOVE_TPP
Field of real double precision values on an FFT mesh.
ForceBiasMove attempts a Brownian dynamics move.
void setup()
Setup before the beginning of each simulation run.
void output()
Output statistics for this move (at the end of simulation)
ForceBiasMove(McSimulator< D > &simulator)
Constructor.
void readParameters(std::istream &in)
Read required parameters from file.
bool move()
Attempt and accept or reject force bias Monte-Carlo move.
void outputTimers(std::ostream &out)
Return real move times contributions.
~ForceBiasMove()
Destructor.
bool needsDc()
Decide whether dc fields need to be saved for move.
McMove is an abstract base class for Monte Carlo moves.
CudaRandom & cudaRandom()
Get cuda random number generator by reference.
void incrementNAttempt()
Increment the number of attempted moves.
Random & random()
Get Random number generator of parent System.
void readProbability(std::istream &in)
Read the probability from file.
McSimulator< D > & simulator()
Get parent McSimulator object.
System< D > & system()
Get parent System object.
void incrementNAccept()
Increment the number of accepted moves.
void incrementNFail()
Increment the number of failed moves.
Timer attemptMoveTimer_
Timers for McMove.
virtual void clearTimers()
Clear timers.
Monte-Carlo simulation coordinator.
Dynamically allocatable contiguous array template.
ScalarParam< Type > & read(std::istream &in, const char *label, Type &value)
Add and read a new required ScalarParam < Type > object.
void setClassName(const char *className)
Set class name string.
Fields, FFTs, and utilities for periodic boundary conditions (CUDA)
Periodic fields and crystallography.
PSCF package top-level namespace.
Utility classes for scientific computation.