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

mgparm.h

Go to the documentation of this file.
00001 
00062 #ifndef _MGPARM_H_
00063 #define _MGPARM_H_
00064 
00065 #include "maloc/maloc.h"
00066 #include "apbs/vhal.h"
00067 
00072 enum eMGparm_CalcType {
00073     MCT_MANUAL=0,  
00074     MCT_AUTO=1,  
00075     MCT_PARALLEL=2,  
00076     MCT_DUMMY=3,  
00077         MCT_NONE=4  
00078 };
00079 
00084 typedef enum eMGparm_CalcType MGparm_CalcType;
00085 
00090 enum eMGparm_CentMeth {
00091     MCM_POINT=0, 
00092     MCM_MOLECULE=1,  
00093         MCM_FOCUS=2  
00094 };
00095 
00100 typedef enum eMGparm_CentMeth MGparm_CentMeth;
00109 struct sMGparm {
00110 
00111     MGparm_CalcType type;  
00112     int parsed;  
00114     /* *** GENERIC PARAMETERS *** */
00115     int dime[3];  
00116     int setdime;  
00117     Vchrg_Meth chgm;  
00118     int setchgm;  
00119     Vchrg_Src  chgs; 
00122     /* *** TYPE 0 PARAMETERS (SEQUENTIAL MANUAL) *** */
00123     int nlev;  
00125     int setnlev;  
00126     double grid[3];  
00127     int setgrid;  
00128     double glen[3];  
00129     int setglen;  
00130     MGparm_CentMeth cmeth;  
00131     double center[3];  
00139     int centmol;  
00142     int setgcent;  
00144     /* ******** TYPE 1 & 2 PARAMETERS (SEQUENTIAL & PARALLEL AUTO-FOCUS) *** */
00145     double cglen[3];  
00146     int setcglen;  
00147     double fglen[3];  
00148     int setfglen;  
00149     MGparm_CentMeth ccmeth;  
00150     double ccenter[3];  
00151     int ccentmol;  
00154     int setcgcent;  
00155     MGparm_CentMeth fcmeth;  
00156     double fcenter[3];  
00157     int fcentmol; 
00160     int setfgcent;  
00163     /* ********* TYPE 2 PARAMETERS (PARALLEL AUTO-FOCUS) ******** */
00164     double partDisjCenter[3];  
00166     double partDisjLength[3];  
00168     int partDisjOwnSide[6];  
00171     int pdime[3];  
00172     int setpdime;  
00173     int proc_rank;  
00174     int setrank;  
00175     int proc_size;  
00176     int setsize;  
00177     double ofrac;  
00178     int setofrac;  
00179     int async; 
00180     int setasync; 
00182         int nonlintype; 
00183         int setnonlintype; 
00185         int method;             
00186         int setmethod; 
00188         int useAqua;  
00189         int setUseAqua; 
00190 };
00191 
00196 typedef struct sMGparm MGparm;
00197 
00204 int MGparm_getNx(MGparm *thee);
00205 
00212 int MGparm_getNy(MGparm *thee);
00213 
00220 int MGparm_getNz(MGparm *thee);
00221 
00228 double MGparm_getHx(MGparm *thee);
00229 
00236 double MGparm_getHy(MGparm *thee);
00237 
00244 double MGparm_getHz(MGparm *thee);
00245 
00252 void MGparm_setCenterX(MGparm *thee, double x);
00253 
00260 void MGparm_setCenterY(MGparm *thee, double y);
00261 
00268 void MGparm_setCenterZ(MGparm *thee, double z);
00269 
00276 double MGparm_getCenterX(MGparm *thee);
00277 
00284 double MGparm_getCenterY(MGparm *thee);
00285 
00292 double MGparm_getCenterZ(MGparm *thee);
00293 
00300 MGparm*  MGparm_ctor(MGparm_CalcType type);
00301 
00309 Vrc_Codes      MGparm_ctor2(MGparm *thee, MGparm_CalcType type);
00310 
00316 void     MGparm_dtor(MGparm **thee);
00317 
00323 void     MGparm_dtor2(MGparm *thee);
00324 
00331 Vrc_Codes      MGparm_check(MGparm *thee);
00332 
00339 void     MGparm_copy(MGparm *thee, MGparm *parm);
00340 
00350 Vrc_Codes      MGparm_parseToken(MGparm *thee, char tok[VMAX_BUFSIZE], 
00351                     Vio *sock);
00352 
00353 #endif 
00354 
00355 

Generated on Tue Apr 15 13:53:14 2008 for APBS by doxygen 1.3.4