OpenAtom  Version1.5a
eesDataClass.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * $Source$
3  * $Author$
4  * $Date$
5  * $Revision$
6  *****************************************************************************/
7 
8 /** \file eesDataClass.h
9  *
10  */
11 
12 #ifndef _eesDataClass_h_
13 #define _eesDataClass_h_
14 
15 #include "../include/RunDescriptor.h"
16 
17 //////////////////////////////////////////////////////////////////////////////
18 /// Data class
19 //////////////////////////////////////////////////////////////////////////////
20 class RPPDATA {
21  public:
22  int index;
23  int ngrid_a,ngrid_b,ngrid_c; // fft grid size
24  int n_interp; // ees interpolation order
25  int natm; // non-local atms
26  int *plane_index; // lth: natm : atm is on plane? 1/0
27  int **igrid; // lth: natm*ninterp^2 : where is atm
28  int *nBreakJ, **sBreakJ;
29  double **mn; // lth: natm*ninterp^2 : b-spline
30  double **dmn_x,**dmn_y,**dmn_z;// lth: natm*ninterp^2 : nabla (b-spline)
31 
32  RPPDATA(){};
33  ~RPPDATA(){};
34  void init(int );
35 };
36 //////////////////////////////////////////////////////////////////////////////
37 
38 
39 //////////////////////////////////////////////////////////////////////////////
40 /// Data class
41 //////////////////////////////////////////////////////////////////////////////
42 class RHORHARTDATA {
43  public:
44  int index;
45  int rhoRsubplanes; // subplanes splits
46  int ngrid_a,ngrid_b,ngrid_c; // fft grid size
47  int n_interp; // ees interpolation order
48  int natm; // non-local atms
49  int *plane_index; // lth: natm : atm is on plane? 1/0
50  int *subStr; // lth : rhoRsubPlanes : subplane decomp
51  int *subEnd; // lth : rhoRsubPlanes : subplane decomp
52  int *subSiz; // lth : rhoRsubPlanes : subplane decomp
53  int *ntemp; // lst : rhoRsubPlanes*ninterp;
54  int **itemp; // lst : rhoRsubPlanes*ninterp;
55  int **nSub; // lth : natm*rhoRsubPlanes : pts in subplane
56  int ***igrid; // lth: natm*rhoRsubPlanes*ninterp^2 : pos in subplane
57  double ***mn; // lth: natm*rhoRsubPlanes*ninterp^2 : bspline in subplane
58  double ***dmn_x,***dmn_y,***dmn_z;// lth: natm*rhoRsubPlanes*ninterp^2 : nabla_alpha (b-spline)
59  RHORHARTDATA(){};
60  ~RHORHARTDATA(){};
61  void init(int );
62 };
63 //////////////////////////////////////////////////////////////////////////////
64 
65 
66 //////////////////////////////////////////////////////////////////////////////
67 /// Data class
68 //////////////////////////////////////////////////////////////////////////////
69 class GPPDATA {
70  public:
71  int nkpoint;
72  int index;
73  int ngrid_a,ngrid_b,ngrid_c; //fft grid size
74  int n_interp; //interpolation order
75  int natm; //number of non-local atoms
76  int ncoef; //number of g-pts in this collection
77  double *b_re, *b_im; //lth: ncoef : ees g-space scaling factor
78  double **h_gspl; //lth: ncoef : pseudo-spline lookup parameters
79  int **ind_gspl;
80  GPPDATA(){};
81  ~GPPDATA(){};
82  void init(int,int ,int , int *,int *,int *);
83 };
84 //////////////////////////////////////////////////////////////////////////////
85 
86 //////////////////////////////////////////////////////////////////////////////
87 /// Data class
88 //////////////////////////////////////////////////////////////////////////////
89 class RHOGHARTDATA {
90  public:
91  int index;
92  int ngrid_a,ngrid_b,ngrid_c; //fft grid size
93  int n_interp; //interpolation order
94  int natm; //number of non-local atoms
95  int ncoef; //number of g-pts in this collection
96  double *b_re, *b_im; //lth: ncoef : ees g-space scaling factor
97  double *h_gspl;int *ind_gspl; //lth: ncoef : pseudo-spline lookup parameters
98  RHOGHARTDATA(){};
99  ~RHOGHARTDATA(){};
100  void init(int ,int , int *,int *,int *);
101 };
102 //////////////////////////////////////////////////////////////////////////////
103 
104 //////////////////////////////////////////////////////////////////////////////
105 /// Data class : Minimal copies of big redundant data sets
106 //////////////////////////////////////////////////////////////////////////////
107 class GCHAREPKG {
108  public:
109  int ihave_g000;
110  int ind_g000;
111  int ihave_kx0;
112  int nkx0;
113  int nkx0_uni;
114  int nkx0_red;
115  int nkx0_zero;
116  int kx0_strt;
117  int kx0_end;
118  GCHAREPKG(){};
119  ~GCHAREPKG(){};
120 };
121 //////////////////////////////////////////////////////////////////////////////
122 
123 
124 //////////////////////////////////////////////////////////////////////////////
125 /// Data class : Minimal copies of big redundant data sets
126 //////////////////////////////////////////////////////////////////////////////
127 class GSPDATA {
128  public:
129  int nkpoint;
130  int index; //plane index
131  int ngrid_a,ngrid_b,ngrid_c; //fft grid size
132  int ncoef; //number of g-pts in this collection
133  int numLines;
134  int numRuns; //2x the number of z-lines in collection
135  int *ka, *kb, *kc; //lth: ncoef : g-space
136  double **g,**g2;
137  double *coef_mass;
138  RunDescriptor *runs; //lth:numruns : k's in fft order
139  GSPDATA(){};
140  ~GSPDATA(){};
141  void init(int,int);
142  GCHAREPKG gCharePkg;
143 };
144 //////////////////////////////////////////////////////////////////////////////
145 
146 //////////////////////////////////////////////////////////////////////////////
147 /// Data class : Minimal copies of big redundant data sets
148 //////////////////////////////////////////////////////////////////////////////
149 class RHOGDATA {
150  public:
151  int index; //plane index
152  int ngrid_a,ngrid_b,ngrid_c; //fft grid size
153  int ncoef; //number of g-pts in this collection
154  int numRuns; //2x the number of z-lines in collection
155  int *ka, *kb, *kc; //lth: ncoef : g-space
156  RunDescriptor *runs; //lth:numruns : k's in fft order
157  RHOGDATA(){};
158  ~RHOGDATA(){};
159  void init(int ,int , int, int, int, int);
160 };
161 //////////////////////////////////////////////////////////////////////////////
162 #endif
void init(int, int, int, int *, int *, int *)
= Initialize the GParticlePlane Cache Data class
Definition: eesCache.C:282
void init(int)
= Initialize the RealParticlePlane Cache Data class
Definition: eesCache.C:241
void init(int, int)
= Initialize the GstatePlane Cache Data class
Definition: eesCache.C:483
void init(int, int, int *, int *, int *)
= Initialize the RhoGhart Cache Data class
Definition: eesCache.C:375
Data class : Minimal copies of big redundant data sets.
Definition: eesDataClass.h:127
Data class : Minimal copies of big redundant data sets.
Definition: eesDataClass.h:149
== Index logic for lines of constant x,y in gspace.
Definition: RunDescriptor.h:22
void init(int)
= Initialize the RhoRhart Cache Data class
Definition: eesCache.C:307
Data class.
Definition: eesDataClass.h:20
Data class.
Definition: eesDataClass.h:69
Data class : Minimal copies of big redundant data sets.
Definition: eesDataClass.h:107
Data class.
Definition: eesDataClass.h:89
Data class.
Definition: eesDataClass.h:42