PSCF v1.4.0
cpc/system/System.h
1#ifndef CPC_SYSTEM_H
2#define CPC_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 <cp/system/System.h> // base class template
13#include <cpc/system/Types.h> // base class template argument
14#include <cpc/field/WFields.h> // member of base class
15#include <cpc/field/CFields.h> // member of base class
16
17namespace Pscf {
18namespace Cpc {
19
20 using namespace Util;
21 using namespace Prdc;
22
33 template <int D>
34 class System : public Cp::System< D, Types<D> >
35 {
36 public:
37
39 using Cp::System< D, Types<D> >::System;
40
42 System(System<D> const &) = delete;
43
45 ~System() = default;
46
48 System<D>& operator = (System<D> const &) = delete;
49
50 };
51
52} // namespace Cpc
53} // namespace Pscf
54
55// Explicit instantiation declarations
56namespace Pscf {
57 namespace Cp {
58 extern template class System<1, Cpc::Types<1> >;
59 extern template class System<2, Cpc::Types<1> >;
60 extern template class System<3, Cpc::Types<1> >;
61 }
62 namespace Cpc {
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 a complex CL-FTS system.
Main class for CL-FTS, representing a complete physical system.
~System()=default
Destructor.
System< D > & operator=(System< D > const &)=delete
Assignment.
System(System< D > const &)=delete
Copy constructor.
List of aliases for types used the in Cpc namespace.
Complex periodic fields, CL-FTS (CPU).
Definition cpc.mod:6
Periodic fields and crystallography.
Definition complex.cpp:11
PSCF package top-level namespace.