PSCF v1.3
rpc/fts/compressor/IntraCorrelation.h
1#ifndef RPC_INTRACORRELATION_H
2#define RPC_INTRACORRELATION_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 <pscf/math/IntVec.h> // memmber variable type
12
13// Forward declarations
14namespace Pscf {
15 namespace Prdc {
16 namespace Cpu {
17 template <int D> class RField;
18 }
19 }
20 namespace Rpc {
21 template <int D> class System;
22 }
23}
24
25
26namespace Pscf {
27namespace Rpc {
28
29 using namespace Pscf::Prdc::Cpu;
30
36 template <int D>
38 {
39
40 public:
41
48
53
59 void computeIntraCorrelations(RField<D>& correlations);
60
61 protected:
62
67
68 private:
69
71 System<D>* systemPtr_;
72
74 IntVec<D> kMeshDimensions_;
75
77 int kSize_;
78
79 };
80
81 // Get the parent system.
82 template <int D>
84 { return *systemPtr_; }
85
86
87 #ifndef RPC_INTRACORRELATION_TPP
88 // Suppress implicit instantiation
89 extern template class IntraCorrelation<1>;
90 extern template class IntraCorrelation<2>;
91 extern template class IntraCorrelation<3>;
92 #endif
93
94} // namespace Rpc
95} // namespace Pscf
96#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.
Definition cpu/RField.h:29
Intramolecular correlation analysis for LR compressors.
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, representing one complete system.
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