9#include <rpc/fts/montecarlo/McSimulator.h>
10#include <rpc/system/System.h>
11#include <rpc/solvers/Mixture.h>
12#include <rpc/field/Domain.h>
13#include <rpc/field/WFields.h>
15#include <rp/fts/montecarlo/ShiftMove.tpp>
21 using namespace Prdc::Cpu;
28 : RpShiftMove(simulator)
37 IntVec<D> const& dimensions = system().domain().mesh().dimensions();
38 const int nMonomer = system().mixture().nMonomer();
39 for (
int j = 0; j< nMonomer; ++j) {
40 RField<D> const & wOld = system().w().rgrid(j);
52 template class Rp::ShiftMove<1, Rpc::Types<1> >;
53 template class Rp::ShiftMove<2, Rpc::Types<2> >;
54 template class Rp::ShiftMove<3, Rpc::Types<3> >;
An IntVec<D, T> is a D-component vector of elements of integer type T.
Field of real double precision values on an FFT mesh.
DArray< typename Types< D >::RField > w_
void shiftField(Array< double > &out, Array< double > const &in, IntVec< D > shift, IntVec< D > dimensions) const
Monte Carlo simulator for PS-FTS.
void shiftFields(IntVec< D > const &shift)
Compute and store shifted w fields.
ShiftMove(McSimulator< D > &simulator)
Constructor.
Real periodic fields, SCFT and PS-FTS (CPU).
PSCF package top-level namespace.