8#include "ForceBiasMove.h"
10#include <rpc/fts/montecarlo/McSimulator.h>
11#include <rpc/fts/compressor/Compressor.h>
12#include <rpc/system/System.h>
13#include <rpc/solvers/Mixture.h>
14#include <rpc/field/Domain.h>
15#include <rpc/field/WFields.h>
16#include <rpc/field/CFields.h>
18#include <pscf/cpu/VecOp.h>
19#include <pscf/cpu/Reduce.h>
20#include <pscf/cpu/CpuVecRandom.h>
22#include <rp/fts/montecarlo/ForceBiasMove.tpp>
29 using namespace Prdc::Cpu;
43 void ForceBiasMove<D>::computeForceBias(
57 for (
int k = 0; k < n; ++k) {
58 dp = 0.5*(di[k] + df[k]);
59 dm = 0.5*(di[k] - df[k]);
60 result[k] = dp*( dwc[k] + mobility*dm );
Field of real double precision values on an FFT mesh.
Mesh< D > & mesh()
Get the Mesh by non-const reference.
ForceBiasMove attempts a Brownian dynamics move.
Types< D >::System & system()
T::Domain const & domain() const
Get the Domain (const).
ForceBiasMove attempts a Brownian dynamics move.
ForceBiasMove(McSimulator< D > &simulator)
Constructor.
Monte Carlo simulator for PS-FTS.
Aliases for types used in the Rpc program-level namespace.
int capacity() const
Return allocated size.
#define UTIL_CHECK(condition)
Assertion macro suitable for serial or parallel production code.
Periodic fields and crystallography.
Class templates for real-valued periodic fields.
Real periodic fields, SCFT and PS-FTS (CPU).
PSCF package top-level namespace.