APBS 3.0.0
Loading...
Searching...
No Matches
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
80struct 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
204typedef 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
224VEXTERNC Vpmgp* Vpmgp_ctor(MGparm *mgparm);
225
234VEXTERNC int Vpmgp_ctor2(Vpmgp *thee, MGparm *mgparm);
235
241VEXTERNC void Vpmgp_dtor(Vpmgp **thee);
242
248VEXTERNC void Vpmgp_dtor2(Vpmgp *thee);
249
254VEXTERNC void Vpmgp_size(
255 Vpmgp *thee /**< Object to be sized */
256 );
257
262VEXTERNC 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_ */
enum eVbcfl Vbcfl
Declare Vbcfl type.
Definition vhal.h:223
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
Contains declarations for class MGparm.
Contains public data members for Vpmgp class/module.
Definition vpmgp.h:80
int nx
Definition vpmgp.h:83
int iperf
Definition vpmgp.h:139
double hx
Definition vpmgp.h:87
double hy
Definition vpmgp.h:88
int nu1
Definition vpmgp.h:158
int nzc
Definition vpmgp.h:98
double xcent
Definition vpmgp.h:118
int nxc
Definition vpmgp.h:96
double omegal
Definition vpmgp.h:180
int nc
Definition vpmgp.h:100
double xmax
Definition vpmgp.h:195
Vbcfl bcfl
Definition vpmgp.h:135
int key
Definition vpmgp.h:136
int ipkey
Definition vpmgp.h:109
int n_ipc
Definition vpmgp.h:104
int mgdisc
Definition vpmgp.h:177
int narr
Definition vpmgp.h:108
int narrc
Definition vpmgp.h:101
int irite
Definition vpmgp.h:182
double ymin
Definition vpmgp.h:193
int n_rpc
Definition vpmgp.h:102
int mgsolv
Definition vpmgp.h:174
double xlen
Definition vpmgp.h:189
int ny
Definition vpmgp.h:84
int mgprol
Definition vpmgp.h:166
int ipcon
Definition vpmgp.h:183
int nf
Definition vpmgp.h:99
double zmin
Definition vpmgp.h:194
size_t nrwk
Definition vpmgp.h:106
double xmin
Definition vpmgp.h:192
double omegan
Definition vpmgp.h:181
double zlen
Definition vpmgp.h:191
int istop
Definition vpmgp.h:123
double errtol
Definition vpmgp.h:121
int meth
Definition vpmgp.h:144
int nz
Definition vpmgp.h:85
int iinfo
Definition vpmgp.h:130
double zcent
Definition vpmgp.h:120
int itmax
Definition vpmgp.h:122
double ycent
Definition vpmgp.h:119
int niwk
Definition vpmgp.h:107
int nonlin
Definition vpmgp.h:90
double zmax
Definition vpmgp.h:197
double hzed
Definition vpmgp.h:89
int mgsmoo
Definition vpmgp.h:160
int n_iz
Definition vpmgp.h:103
int nlev
Definition vpmgp.h:86
int mgcoar
Definition vpmgp.h:170
double ylen
Definition vpmgp.h:190
int mgkey
Definition vpmgp.h:155
int nyc
Definition vpmgp.h:97
double ymax
Definition vpmgp.h:196
int nu2
Definition vpmgp.h:159
Contains generic macro definitions for APBS.