PSCF v1.3
rpg/field/Domain.h
1#ifndef RPG_DOMAIN_H
2#define RPG_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 <rpg/field/FieldIo.h> // member
13#include <prdc/cuda/WaveList.h> // member
14#include <prdc/cuda/FFT.h> // member
15
16namespace Pscf {
17namespace Rpg {
18
19 using namespace Util;
20 using namespace Pscf::Prdc;
21 using namespace Pscf::Prdc::Cuda;
22
35 template <int D>
36 class Domain
37 : public DomainReal< D, FFT<D>, WaveList<D>, FieldIo<D> >
38 {
39
40 public:
41
47 Domain();
48
51
52 // Inherited pubic member functions
53
57 using Base::makeBasis;
58 using Base::unitCell;
59 using Base::mesh;
60 using Base::group;
61 using Base::basis;
62 using Base::fft;
63 using Base::waveList;
64 using Base::fieldIo;
65 using Base::lattice;
66 using Base::groupName;
67 using Base::hasGroup;
68 using Base::hasBasis;
69 using Base::writeStars;
70 using Base::writeWaves;
71 using Base::writeGroup;
72
73 };
74
75 #ifndef RPG_DOMAIN_TPP
76 // Suppress implicit instantiation
77 extern template class Domain<1>;
78 extern template class Domain<2>;
79 extern template class Domain<3>;
80 #endif
81
82} // namespace Rpg
83
84#ifndef RPG_DOMAIN_TPP
85namespace Prdc {
86 // Suppress implicit instantiation of base class template instances
87 using namespace Cuda;
88 extern template
90 extern template
92 extern template
94} // namespace Prdc
95#endif
96
97} // namespace Pscf
98#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 GPU.
DomainReal< D, FFT< D >, WaveList< D >, FieldIo< D > > Base
Typedef for base class.
File input/output operations and format conversions for fields.
Fields, FFTs, and utilities for periodic boundary conditions (CUDA)
Definition Reduce.cpp:14
Periodic fields and crystallography.
Definition CField.cpp:11
SCFT and PS-FTS with real periodic fields (GPU)
PSCF package top-level namespace.
Definition param_pc.dox:1