PSCF v1.4.0
rpc/fts/simulator/Simulator.h
1#ifndef RPC_SIMULATOR_H
2#define RPC_SIMULATOR_H
3
4/*
5* PSCF - Polymer Self-Consistent Field
6*
7* Copyright 2015 - 2025, The Regents of the University of Minnesota
8* Distributed under the terms of the GNU General Public License.
9*/
10
11#include <rp/fts/simulator/Simulator.h> // base class template
12#include <rpc/system/Types.h> // template argument
13#include <rpc/fts/simulator/SimState.h> // member
14#include <prdc/cpu/RField.h> // member (template arg)
15
16namespace Pscf {
17namespace Rpc {
18
19 using namespace Util;
20 using namespace Prdc;
21
39 template <int D>
40 class Simulator : public Pscf::Rp::Simulator<D, Types<D> >
41 {
42 public:
43
50
54 virtual ~Simulator() = default;
55
56 // Prohibit copying and assignment.
57 Simulator(Simulator<D> const &) = delete;
58 Simulator<D>& operator = (Simulator<D> const &) = delete;
59
60 private:
61
63 using RpSimulator = Pscf::Rp::Simulator<D, Types<D> >;
64
65 };
66
67
68} // namespace Rpc
69} // namespace Pscf
70
71// Explicit instantiation declarations
72namespace Pscf {
73 namespace Rp {
74 extern template class Simulator<1, Rpc::Types<1> >;
75 extern template class Simulator<2, Rpc::Types<2> >;
76 extern template class Simulator<3, Rpc::Types<3> >;
77 }
78 namespace Rpc {
79 extern template class Simulator<1>;
80 extern template class Simulator<2>;
81 extern template class Simulator<3>;
82 }
83}
84#endif
Base class for field theoretic PS-FTS simulator.
Field theoretic simulator (base class).
Simulator(System< D > &system)
Constructor.
virtual ~Simulator()=default
Destructor.
A complete physical system.
Periodic fields and crystallography.
Definition complex.cpp:11
Real periodic fields, SCFT and PS-FTS (CPU).
Definition param_pc.dox:2
PSCF package top-level namespace.