PSCF v1.3.1
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 <prdc/system/SystemTmpl.h> // base class template
13#include <rpc/system/Types.h> // base class template param
14#include <rpc/solvers/Mixture.h> // member
15#include <rpc/field/Domain.h> // member
16#include <rpc/field/WFields.h> // member
17#include <rpc/field/CFields.h> // member
18#include <rpc/field/Mask.h> // member
19
20namespace Pscf {
21namespace Rpc {
22
23 using namespace Util;
24 using namespace Prdc;
25 using namespace Prdc::Cpu;
26
37 template <int D>
38 class System : public SystemTmpl< D, Types<D> >
39 {
40 public:
41
45 System();
46
47 // Suppress compiler-generated member functions
48 System(System<D> const &) = delete;
49 System<D>& operator = (System<D> const &) = delete;
50
51 };
52
53 // Explicit instantiation declarations
54 extern template class System<1>;
55 extern template class System<2>;
56 extern template class System<3>;
57
58} // namespace Rpc
59namespace Prdc {
60
61 // Explicit instantiation declarations for base class
62 extern template class SystemTmpl<1, Rpc::Types<1> >;
63 extern template class SystemTmpl<2, Rpc::Types<1> >;
64 extern template class SystemTmpl<3, Rpc::Types<1> >;
65
66} // namespace Prdc
67} // namespace Pscf
68#endif
SystemTmpl(typename Types< D >::System &system)
Main class, representing a complete physical system.
Periodic fields and crystallography.
Definition CField.cpp:11
Real periodic fields, SCFT and PS-FTS (CPU).
Definition param_pc.dox:2
PSCF package top-level namespace.
Definition param_pc.dox:1