PSCF v1.2
rpc/fts/compressor/intra/IntraCorrelation_new.h
1#ifndef RPC_INTRACORRELATION_H
2#define RPC_INTRACORRELATION_H
3
4/*
5* PSCF - Polymer Self-Consistent Field Theory
6*
7* Copyright 2016 - 2022, The Regents of the University of Minnesota
8* Distributed under the terms of the GNU General Public License.
9*/
10
11#include <util/param/ParamComposite.h> // base class
12#include <prdc/cpu/RField.h> // member
13#include <prdc/cpu/RFieldDft.h> // member
14#include <util/containers/DArray.h> // member
15
16namespace Pscf {
17namespace Rpc
18{
19
20 template <int D> class System;
21
22 using namespace Util;
23 using namespace Pscf::Prdc::Cpu;
24
30 template <int D>
31 class IntraCorrelation : public ParamComposite
32 {
33
34 public:
35
42
47
54
55 protected:
56
61
62 private:
63
65 System<D>* systemPtr_;
66
68 IntVec<D> kMeshDimensions_;
69
71 int kSize_;
72
73 };
74
75 // Get the parent system.
76 template <int D>
78 { return *systemPtr_; }
79
80
81 #ifndef RPC_INTRACORRELATION_TPP
82 // Suppress implicit instantiation
83 extern template class IntraCorrelation<1>;
84 extern template class IntraCorrelation<2>;
85 extern template class IntraCorrelation<3>;
86 #endif
87
88} // namespace Rpc
89} // namespace Pscf
90#endif
An IntVec<D, T> is a D-component vector of elements of integer type T.
Definition IntVec.h:27
Field of real double precision values on an FFT mesh.
void computeIntraCorrelations(RField< D > &correlations)
Compute and modify intramolecular correlations.
System< D > & system()
Return reference to parent system.
IntraCorrelation(System< D > &system)
Constructor.
Main class for SCFT or PS-FTS simulation of one system.
Definition rpc/System.h:100
An object that can read multiple parameters from file.
Fields and FFTs for periodic boundary conditions (CPU)
Definition CField.cpp:12
PSCF package top-level namespace.
Definition param_pc.dox:1
Utility classes for scientific computation.