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

src/generic/apbs/mgparm.h

Go to the documentation of this file.
00001 
00056 #ifndef _MGPARM_H_
00057 #define _MGPARM_H_
00058 
00059 #include "maloc/maloc.h"
00060 #include "apbs/vhal.h"
00061 
00066 enum eMGparm_CalcType {
00067     MCT_MANUAL=0,  
00068     MCT_AUTO=1,  
00069     MCT_PARALLEL=2,  
00070     MCT_DUMMY=3,  
00071  MCT_NONE=4  
00072 };
00073 
00078 typedef enum eMGparm_CalcType MGparm_CalcType;
00079 
00084 enum eMGparm_CentMeth {
00085     MCM_POINT=0, 
00086     MCM_MOLECULE=1,  
00087  MCM_FOCUS=2  
00088 };
00089 
00094 typedef enum eMGparm_CentMeth MGparm_CentMeth;
00103 struct sMGparm {
00104 
00105     MGparm_CalcType type;  
00106     int parsed;  
00108     /* *** GENERIC PARAMETERS *** */
00109     int dime[3];  
00110     int setdime;  
00111     Vchrg_Meth chgm;  
00112     int setchgm;  
00113     Vchrg_Src  chgs; 
00116     /* *** TYPE 0 PARAMETERS (SEQUENTIAL MANUAL) *** */
00117     int nlev;  
00119     int setnlev;  
00120     double etol;  
00121     int setetol;  
00122     double grid[3];  
00123     int setgrid;  
00124     double glen[3];  
00125     int setglen;  
00126     MGparm_CentMeth cmeth;  
00127     double center[3];  
00135     int centmol;  
00138     int setgcent;  
00140     /* ******** TYPE 1 & 2 PARAMETERS (SEQUENTIAL & PARALLEL AUTO-FOCUS) *** */
00141     double cglen[3];  
00142     int setcglen;  
00143     double fglen[3];  
00144     int setfglen;  
00145     MGparm_CentMeth ccmeth;  
00146     double ccenter[3];  
00147     int ccentmol;  
00150     int setcgcent;  
00151     MGparm_CentMeth fcmeth;  
00152     double fcenter[3];  
00153     int fcentmol; 
00156     int setfgcent;  
00159     /* ********* TYPE 2 PARAMETERS (PARALLEL AUTO-FOCUS) ******** */
00160     double partDisjCenter[3];  
00162     double partDisjLength[3];  
00164     int partDisjOwnSide[6];  
00167     int pdime[3];  
00168     int setpdime;  
00169     int proc_rank;  
00170     int setrank;  
00171     int proc_size;  
00172     int setsize;  
00173     double ofrac;  
00174     int setofrac;  
00175     int async; 
00176     int setasync; 
00178  int nonlintype; 
00179  int setnonlintype; 
00181  int method;  
00182  int setmethod; 
00184  int useAqua;  
00185  int setUseAqua; 
00186 };
00187 
00192 typedef struct sMGparm MGparm;
00193 
00200 VEXTERNC int MGparm_getNx(MGparm *thee);
00201 
00208 VEXTERNC int MGparm_getNy(MGparm *thee);
00209 
00216 VEXTERNC int MGparm_getNz(MGparm *thee);
00217 
00224 VEXTERNC double MGparm_getHx(MGparm *thee);
00225 
00232 VEXTERNC double MGparm_getHy(MGparm *thee);
00233 
00240 VEXTERNC double MGparm_getHz(MGparm *thee);
00241 
00248 VEXTERNC void MGparm_setCenterX(MGparm *thee, double x);
00249 
00256 VEXTERNC void MGparm_setCenterY(MGparm *thee, double y);
00257 
00264 VEXTERNC void MGparm_setCenterZ(MGparm *thee, double z);
00265 
00272 VEXTERNC double MGparm_getCenterX(MGparm *thee);
00273 
00280 VEXTERNC double MGparm_getCenterY(MGparm *thee);
00281 
00288 VEXTERNC double MGparm_getCenterZ(MGparm *thee);
00289 
00296 VEXTERNC MGparm*  MGparm_ctor(MGparm_CalcType type);
00297 
00305 VEXTERNC Vrc_Codes      MGparm_ctor2(MGparm *thee, MGparm_CalcType type);
00306 
00312 VEXTERNC void     MGparm_dtor(MGparm **thee);
00313 
00319 VEXTERNC void     MGparm_dtor2(MGparm *thee);
00320 
00327 VEXTERNC Vrc_Codes      MGparm_check(MGparm *thee);
00328 
00335 VEXTERNC void     MGparm_copy(MGparm *thee, MGparm *parm);
00336 
00346 VEXTERNC Vrc_Codes      MGparm_parseToken(MGparm *thee, char tok[VMAX_BUFSIZE], 
00347                     Vio *sock);
00348 
00349 #endif 
00350 

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