PSCF v1.3
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 <prdc/field/DomainReal.h> // base class template
12#include <rpc/field/FieldIo.h> // member
13#include <prdc/cpu/WaveList.h> // member
14#include <prdc/cpu/FFT.h> // member
15
16namespace Pscf {
17namespace Rpc {
18
19 using namespace Util;
20 using namespace Pscf::Prdc;
21 using namespace Pscf::Prdc::Cpu;
22
38 template <int D>
39 class Domain
40 : public DomainReal< D, FFT<D>, WaveList<D>, FieldIo<D> >
41 {
42
43 public:
44
50 Domain();
51
54
55 // Inherited pubic member functions
59 using Base::makeBasis;
60 using Base::unitCell;
61 using Base::mesh;
62 using Base::group;
63 using Base::basis;
64 using Base::fft;
65 using Base::waveList;
66 using Base::fieldIo;
67 using Base::lattice;
68 using Base::groupName;
69 using Base::hasGroup;
70 using Base::hasBasis;
71 using Base::writeStars;
72 using Base::writeWaves;
73 using Base::writeGroup;
74
75 };
76
77 #ifndef RPC_DOMAIN_TPP
78 // Suppress implicit instantiation of all relevant cases
79 extern template class Domain<1>;
80 extern template class Domain<2>;
81 extern template class Domain<3>;
82 #endif
83
84} // namespace Rpc
85
86#ifndef RPC_DOMAIN_TPP
87namespace Prdc {
88 // Suppress implicit instantiation of base class template
89 using namespace Cpu;
90 extern template
92 extern template
94 extern template
96} // namespace Prdc
97#endif
98
99} // namespace Pscf
100#endif
Class to calculate and store properties of wavevectors.
Spatial domain for a periodic structure with real fields.
Definition DomainReal.h:67
Spatial domain for a periodic structure with real fields, on a CPU.
DomainReal< D, FFT< D >, WaveList< D >, FieldIo< D > > Base
Typedef for base class.
File input/output operations and format conversions for fields.
Fields and FFTs for periodic boundary conditions (CPU)
Definition CField.cpp:12
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