Main Page | Modules | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

mgparm.h

Go to the documentation of this file.
00001 
00074 #ifndef _MGPARM_H_
00075 #define _MGPARM_H_
00076 
00077 #include "maloc/maloc.h"
00078 #include "apbs/vhal.h"
00079 
00084 enum eMGparm_CalcType {
00085     MCT_MANUAL=0,  
00086     MCT_AUTO=1,  
00087     MCT_PARALLEL=2,  
00088     MCT_DUMMY=3,  
00089         MCT_NONE=4  
00090 };
00091 
00096 typedef enum eMGparm_CalcType MGparm_CalcType;
00097 
00102 enum eMGparm_CentMeth {
00103     MCM_POINT=0, 
00104     MCM_MOLECULE=1,  
00105         MCM_FOCUS=2  
00106 };
00107 
00112 typedef enum eMGparm_CentMeth MGparm_CentMeth;
00121 struct sMGparm {
00122 
00123     MGparm_CalcType type;  
00124     int parsed;  
00126     /* *** GENERIC PARAMETERS *** */
00127     int dime[3];  
00128     int setdime;  
00129     Vchrg_Meth chgm;  
00130     int setchgm;  
00131     Vchrg_Src  chgs; 
00134     /* *** TYPE 0 PARAMETERS (SEQUENTIAL MANUAL) *** */
00135     int nlev;  
00137     int setnlev;  
00138     double grid[3];  
00139     int setgrid;  
00140     double glen[3];  
00141     int setglen;  
00142     MGparm_CentMeth cmeth;  
00143     double center[3];  
00151     int centmol;  
00154     int setgcent;  
00156     /* ******** TYPE 1 & 2 PARAMETERS (SEQUENTIAL & PARALLEL AUTO-FOCUS) *** */
00157     double cglen[3];  
00158     int setcglen;  
00159     double fglen[3];  
00160     int setfglen;  
00161     MGparm_CentMeth ccmeth;  
00162     double ccenter[3];  
00163     int ccentmol;  
00166     int setcgcent;  
00167     MGparm_CentMeth fcmeth;  
00168     double fcenter[3];  
00169     int fcentmol; 
00172     int setfgcent;  
00175     /* ********* TYPE 2 PARAMETERS (PARALLEL AUTO-FOCUS) ******** */
00176     double partDisjCenter[3];  
00178     double partDisjLength[3];  
00180     int partDisjOwnSide[6];  
00183     int pdime[3];  
00184     int setpdime;  
00185     int proc_rank;  
00186     int setrank;  
00187     int proc_size;  
00188     int setsize;  
00189     double ofrac;  
00190     int setofrac;  
00191     int async; 
00192     int setasync; 
00193 };
00194 
00199 typedef struct sMGparm MGparm;
00200 
00207 int MGparm_getNx(MGparm *thee);
00208 
00215 int MGparm_getNy(MGparm *thee);
00216 
00223 int MGparm_getNz(MGparm *thee);
00224 
00231 double MGparm_getHx(MGparm *thee);
00232 
00239 double MGparm_getHy(MGparm *thee);
00240 
00247 double MGparm_getHz(MGparm *thee);
00248 
00255 void MGparm_setCenterX(MGparm *thee, double x);
00256 
00263 void MGparm_setCenterY(MGparm *thee, double y);
00264 
00271 void MGparm_setCenterZ(MGparm *thee, double z);
00272 
00279 double MGparm_getCenterX(MGparm *thee);
00280 
00287 double MGparm_getCenterY(MGparm *thee);
00288 
00295 double MGparm_getCenterZ(MGparm *thee);
00296 
00303 MGparm*  MGparm_ctor(MGparm_CalcType type);
00304 
00312 int      MGparm_ctor2(MGparm *thee, MGparm_CalcType type);
00313 
00319 void     MGparm_dtor(MGparm **thee);
00320 
00326 void     MGparm_dtor2(MGparm *thee);
00327 
00334 int      MGparm_check(MGparm *thee);
00335 
00342 void     MGparm_copy(MGparm *thee, MGparm *parm);
00343 
00353 int      MGparm_parseToken(MGparm *thee, char tok[VMAX_BUFSIZE], 
00354                     Vio *sock);
00355 
00356 #endif 
00357 
00358 

Generated on Thu Jul 12 11:49:45 2007 for APBS by doxygen 1.3.4