• Main Page
  • Related Pages
  • Modules
  • Data Structures
  • Files
  • File List
  • Globals

src/mg/apbs/vpmgp.h

Go to the documentation of this file.
00001 
00057 #ifndef _VPMGP_H_
00058 #define _VPMGP_H_
00059 
00060 #include "maloc/maloc.h"
00061 #include "apbs/vhal.h"
00062 #include "apbs/mgparm.h"
00063 
00070 struct sVpmgp {
00071 
00072     /* ********** USER-SPECIFIED PARAMETERS ********** */
00073     int nx;  
00074     int ny;  
00075     int nz;  
00076     int nlev;  
00077     double hx;  
00078     double hy;  
00079     double hzed;  
00080     int nonlin;  
00085     /* ********** DERIVED PARAMETERS ********** */
00086     int nxc;  
00087     int nyc;  
00088     int nzc;  
00089     int nf;  
00090     int nc;  
00091     int narrc;  
00092     int n_rpc;  
00093     int n_iz;  
00094     int n_ipc;  
00096     int nrwk;  
00097     int niwk;  
00098     int narr;  
00099     int ipkey;  
00107     /* ********** PARAMETERS WITH DEFAULT VALUES ********** */
00108     double xcent;  
00109     double ycent;  
00110     double zcent;  
00111     double errtol;  
00112     int itmax;  
00113     int istop;  
00120     int iinfo;  
00125     Vbcfl bcfl;  
00126     int key;  
00129     int iperf;  
00134     int meth;  
00145     int mgkey;  
00148     int nu1;  
00149     int nu2;  
00150     int mgsmoo;  
00156     int mgprol;  
00160     int mgcoar;  
00164     int mgsolv;  
00167     int mgdisc;  
00170     double omegal;  
00171     double omegan;  
00172     int irite;  
00173     int ipcon;  
00179     double xlen;  
00180     double ylen;  
00181     double zlen;  
00182     double xmin;  
00183     double ymin;  
00184     double zmin;  
00185     double xmax;  
00186     double ymax;  
00187     double zmax;  
00188 };
00189 
00194 typedef struct sVpmgp Vpmgp;
00195 
00196 /* ///////////////////////////////////////////////////////////////////////////
00197 // Class Vpmgp: Inlineable methods (vpmgp.c)
00199 
00200 #if !defined(VINLINE_VPMGP)
00201 #else /* if defined(VINLINE_VPMGP) */
00202 #endif /* if !defined(VINLINE_VPMGP) */
00203 
00204 /* ///////////////////////////////////////////////////////////////////////////
00205 // Class Vpmgp: Non-Inlineable methods (vpmgp.c)
00207 
00214 VEXTERNC Vpmgp* Vpmgp_ctor(MGparm *mgparm);
00215 
00224 VEXTERNC int Vpmgp_ctor2(Vpmgp *thee, MGparm *mgparm);
00225 
00231 VEXTERNC void Vpmgp_dtor(Vpmgp **thee);
00232 
00238 VEXTERNC void Vpmgp_dtor2(Vpmgp *thee);
00239 
00244 VEXTERNC void Vpmgp_size(
00245  Vpmgp *thee 
00246  );
00247 
00252 VEXTERNC void Vpmgp_makeCoarse(
00253  int numLevel, 
00254  int nxOld, 
00255  int nyOld, 
00256  int nzOld, 
00257  int *nxNew, 
00258  int *nyNew, 
00259  int *nzNew 
00260  );
00261 
00262 
00263 
00264 #endif    /* ifndef _VPMGP_H_ */

Generated on Wed Oct 20 2010 12:01:34 for APBS by  doxygen 1.7.2