PSCF v1.4.0
rpc/field/Domain.h
1#ifndef RPC_DOMAIN_H
2#define RPC_DOMAIN_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/field/Domain.h> // base class template
12
13// Forward declarations
14namespace Pscf {
15 namespace Prdc {
16 namespace Cpu {
17 template <int D> class WaveList;
18 template <int D> class FFT;
19 }
20 }
21 namespace Rpc {
22 template <int D> class FieldIo;
23 }
24}
25
26namespace Pscf {
27namespace Rpc {
28
29 using namespace Util;
30 using namespace Prdc;
31 using namespace Prdc::Cpu;
32
46 template <int D>
47 class Domain
48 : public Rp::Domain< D, FFT<D>, WaveList<D>, FieldIo<D> >
49 {};
50
51} // namespace Rpc
52} // namespace Pscf
53
54// Explicit instantiation declarations
55namespace Pscf {
56 namespace Rp {
57 using namespace Prdc;
58 extern template
59 class Domain<1, Cpu::FFT<1>, Cpu::WaveList<1>, Rpc::FieldIo<1> >;
60 extern template
61 class Domain<2, Cpu::FFT<2>, Cpu::WaveList<2>, Rpc::FieldIo<2> >;
62 extern template
63 class Domain<3, Cpu::FFT<3>, Cpu::WaveList<3>, Rpc::FieldIo<3> >;
64 }
65 namespace Rpc {
66 extern template class Domain<1>;
67 extern template class Domain<2>;
68 extern template class Domain<3>;
69 }
70}
71#endif
Fourier transform wrapper.
Definition cpu/FFT.h:39
Class to compute and store properties associated with wavevectors.
Spatial domain for a periodic structure with real fields.
Spatial domain for a periodic structure with real fields, on a CPU.
File input/output operations and format conversions for fields.
Fields and FFTs for periodic boundary conditions (CPU)
Definition complex.cpp:12
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.