PSCF v1.4.0
rpc/system/System.h
1#ifndef RPC_SYSTEM_H
2#define RPC_SYSTEM_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// Header file includes
12#include <rp/system/System.h> // base class template
13#include <rpc/system/Types.h> // base class template argument
14
15namespace Pscf {
16namespace Rpc {
17
18 using namespace Util;
19 using namespace Prdc;
20
31 template <int D>
32 class System : public Rp::System< D, Types<D> >
33 {
34 public:
35
39 System();
40
44 virtual ~System() = default;
45
46 // Prohibit copying and assignment
47 System(System<D> const &) = delete;
48 System<D>& operator = (System<D> const &) = delete;
49
50 };
51
52} // namespace Rpc
53} // namespace Pscf
54
55// Explicit instantiation declarations
56namespace Pscf {
57 namespace Rp {
58 extern template class System<1, Rpc::Types<1> >;
59 extern template class System<2, Rpc::Types<1> >;
60 extern template class System<3, Rpc::Types<1> >;
61 }
62 namespace Rpc {
63 extern template class System<1>;
64 extern template class System<2>;
65 extern template class System<3>;
66 }
67}
68#endif
Base class template for classes that represent a complete system.
A complete physical system.
virtual ~System()=default
Destructor.
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.