PSCF v1.3
rpc/field/CFieldContainer.h
1#ifndef RPC_C_FIELD_CONTAINER_H
2#define RPC_C_FIELD_CONTAINER_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/CFieldsReal.h> // base class template
12#include <rpc/field/FieldIo.h> // base class template parameter
13#include <prdc/cpu/RField.h> // base class template parameter
14
15namespace Pscf {
16namespace Rpc {
17
18 using namespace Util;
19 using namespace Prdc;
20 using namespace Prdc::Cpu;
21
32 template <int D>
33 class CFieldContainer : public CFieldsReal<D, RField<D>, FieldIo<D> >
34 {
35
36 public:
37
40
41 // Inherited public member functions
42 using Base::setFieldIo;
47 using Base::allocate;
48 using Base::basis;
49 using Base::rgrid;
52 using Base::hasData;
54 using Base::setHasData;
56
57 protected:
58
59 using Base::fieldIo;
60
61 };
62
63 // Suppress implicit instantiation
64 extern template class CFieldContainer<1>;
65 extern template class CFieldContainer<2>;
66 extern template class CFieldContainer<3>;
67
68} // namespace Rpc
69namespace Prdc {
70 // Suppress implicit instantiation of base class
71 extern template class CFieldsReal<1, Cpu::RField<1>, Rpc::FieldIo<1> >;
72 extern template class CFieldsReal<2, Cpu::RField<2>, Rpc::FieldIo<2> >;
73 extern template class CFieldsReal<3, Cpu::RField<3>, Rpc::FieldIo<3> >;
74}
75} // namespace Pscf
76#endif
void allocateRGrid(IntVec< D > const &dimensions)
void allocate(int nMonomer, int nBasis, IntVec< D > const &dimensions)
A list of c fields stored in both basis and r-grid format.
CFieldsReal< D, RField< D >, FieldIo< D > > Base
Alias for base class.
File input/output operations and format conversions for fields.
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