APBS  1.5
vpmgp.h
Go to the documentation of this file.
1 
64 #ifndef _VPMGP_H_
65 #define _VPMGP_H_
66 
67 #include "apbscfg.h"
68 
69 #include "maloc/maloc.h"
70 
71 #include "generic/vhal.h"
72 #include "generic/mgparm.h"
73 
80 struct sVpmgp {
81 
82  /* ********** USER-SPECIFIED PARAMETERS ********** */
83  int nx;
84  int ny;
85  int nz;
86  int nlev;
87  double hx;
88  double hy;
89  double hzed;
90  int nonlin;
95  /* ********** DERIVED PARAMETERS ********** */
96  int nxc;
97  int nyc;
98  int nzc;
99  int nf;
100  int nc;
101  int narrc;
102  int n_rpc;
103  int n_iz;
104  int n_ipc;
106  size_t nrwk;
107  int niwk;
108  int narr;
109  int ipkey;
117  /* ********** PARAMETERS WITH DEFAULT VALUES ********** */
118  double xcent;
119  double ycent;
120  double zcent;
121  double errtol;
122  int itmax;
123  int istop;
130  int iinfo;
136  int key;
139  int iperf;
144  int meth;
155  int mgkey;
158  int nu1;
159  int nu2;
160  int mgsmoo;
166  int mgprol;
170  int mgcoar;
174  int mgsolv;
177  int mgdisc;
180  double omegal;
181  double omegan;
182  int irite;
183  int ipcon;
189  double xlen;
190  double ylen;
191  double zlen;
192  double xmin;
193  double ymin;
194  double zmin;
195  double xmax;
196  double ymax;
197  double zmax;
198 };
199 
204 typedef struct sVpmgp Vpmgp;
205 
206 /* ///////////////////////////////////////////////////////////////////////////
207 // Class Vpmgp: Inlineable methods (vpmgp.c)
209 
210 #if !defined(VINLINE_VPMGP)
211 #else /* if defined(VINLINE_VPMGP) */
212 #endif /* if !defined(VINLINE_VPMGP) */
213 
214 /* ///////////////////////////////////////////////////////////////////////////
215 // Class Vpmgp: Non-Inlineable methods (vpmgp.c)
217 
224 VEXTERNC Vpmgp* Vpmgp_ctor(MGparm *mgparm);
225 
234 VEXTERNC int Vpmgp_ctor2(Vpmgp *thee, MGparm *mgparm);
235 
241 VEXTERNC void Vpmgp_dtor(Vpmgp **thee);
242 
248 VEXTERNC void Vpmgp_dtor2(Vpmgp *thee);
249 
254 VEXTERNC void Vpmgp_size(
255  Vpmgp *thee /**< Object to be sized */
256  );
257 
262 VEXTERNC void Vpmgp_makeCoarse(
263  int numLevel,
264  int nxOld,
265  int nyOld,
266  int nzOld,
267  int *nxNew,
268  int *nyNew,
269  int *nzNew
270  );
271 
272 
273 
274 #endif /* ifndef _VPMGP_H_ */
double zmax
Definition: vpmgp.h:197
int ipcon
Definition: vpmgp.h:183
int nonlin
Definition: vpmgp.h:90
double hx
Definition: vpmgp.h:87
double ymax
Definition: vpmgp.h:196
int mgsolv
Definition: vpmgp.h:174
int iinfo
Definition: vpmgp.h:130
int key
Definition: vpmgp.h:136
int irite
Definition: vpmgp.h:182
int nzc
Definition: vpmgp.h:98
double ymin
Definition: vpmgp.h:193
VEXTERNC void Vpmgp_makeCoarse(int numLevel, int nxOld, int nyOld, int nzOld, int *nxNew, int *nyNew, int *nzNew)
Coarsen the grid by the desired number of levels and determine the resulting numbers of grid points.
Definition: vpmgp.c:312
double hzed
Definition: vpmgp.h:89
int nxc
Definition: vpmgp.h:96
double xmin
Definition: vpmgp.h:192
int ipkey
Definition: vpmgp.h:109
double hy
Definition: vpmgp.h:88
double xcent
Definition: vpmgp.h:118
double zcent
Definition: vpmgp.h:120
int mgcoar
Definition: vpmgp.h:170
int nc
Definition: vpmgp.h:100
Contains declarations for class MGparm.
size_t nrwk
Definition: vpmgp.h:106
int mgdisc
Definition: vpmgp.h:177
enum eVbcfl Vbcfl
Declare Vbcfl type.
Definition: vhal.h:223
int mgsmoo
Definition: vpmgp.h:160
int nu1
Definition: vpmgp.h:158
double xlen
Definition: vpmgp.h:189
int narrc
Definition: vpmgp.h:101
int niwk
Definition: vpmgp.h:107
int n_ipc
Definition: vpmgp.h:104
int iperf
Definition: vpmgp.h:139
Contains public data members for Vpmgp class/module.
Definition: vpmgp.h:80
Contains generic macro definitions for APBS.
int nyc
Definition: vpmgp.h:97
int istop
Definition: vpmgp.h:123
int ny
Definition: vpmgp.h:84
int n_rpc
Definition: vpmgp.h:102
int mgprol
Definition: vpmgp.h:166
int nx
Definition: vpmgp.h:83
double omegan
Definition: vpmgp.h:181
int nu2
Definition: vpmgp.h:159
double ylen
Definition: vpmgp.h:190
int nf
Definition: vpmgp.h:99
int itmax
Definition: vpmgp.h:122
double zlen
Definition: vpmgp.h:191
double ycent
Definition: vpmgp.h:119
int meth
Definition: vpmgp.h:144
int n_iz
Definition: vpmgp.h:103
double omegal
Definition: vpmgp.h:180
int narr
Definition: vpmgp.h:108
int mgkey
Definition: vpmgp.h:155
int nlev
Definition: vpmgp.h:86
Vbcfl bcfl
Definition: vpmgp.h:135
double errtol
Definition: vpmgp.h:121
double zmin
Definition: vpmgp.h:194
double xmax
Definition: vpmgp.h:195
int nz
Definition: vpmgp.h:85