PSCF v1.4.0
McSimulator.cu
1/*
2* PSCF - Polymer Self-Consistent Field
3*
4* Copyright 2015 - 2025, The Regents of the University of Minnesota
5* Distributed under the terms of the GNU General Public License.
6*/
7
8#include "McSimulator.h" // class header
9
10#include <rpg/fts/montecarlo/McMove.h>
11#include <rpg/fts/montecarlo/McMoveFactory.h>
12#include <rpg/fts/montecarlo/McMoveManager.h>
13#include <rpg/fts/analyzer/Analyzer.h>
14#include <rpg/fts/analyzer/AnalyzerFactory.h>
15#include <rpg/fts/analyzer/AnalyzerManager.h>
16#include <rpg/fts/trajectory/TrajectoryReaderFactory.h>
17#include <rpg/fts/trajectory/TrajectoryReader.h>
18#include <rpg/fts/simulator/Simulator.h>
19#include <rpg/fts/compressor/Compressor.h>
20#include <rpg/fts/perturbation/Perturbation.h>
21#include <rpg/fts/ramp/Ramp.h>
22
23#include <rpg/system/System.h>
24#include <rpg/field/Domain.h>
25#include <rpg/field/CFields.h>
26#include <rpg/field/WFields.h>
27
28#include <prdc/cuda/RField.h>
29#include <pscf/cuda/CudaVecRandom.h>
30
31#include <rp/fts/montecarlo/McSimulator.tpp> // base class implementation
32
33namespace Pscf {
34namespace Rpg {
35
36 // Constructor.
37 template <int D>
39 : Rp::McSimulator<D, Types<D> >(system, *this)
40 {}
41
42}
43}
44
45// Explicit instantiation definitions
46namespace Pscf {
47 namespace Rp {
48 template class McSimulator< 1, Rpg::Types<1> >;
49 template class McSimulator< 2, Rpg::Types<2> >;
50 template class McSimulator< 3, Rpg::Types<3> >;
51 }
52 namespace Rpg {
53 template class McSimulator<1>;
54 template class McSimulator<2>;
55 template class McSimulator<3>;
56 }
57}
Monte Carlo simulator for PS-FTS.
McSimulator(System< D > &system)
Constructor.
Main class, representing a complete physical system.
List of aliases for types used in the Rpg program-level namespace.
Class templates for real-valued periodic fields.
SCFT and PS-FTS with real periodic fields (GPU)
PSCF package top-level namespace.