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

src/generic/apbs/pbeparm.h

Go to the documentation of this file.
00001 
00054 #ifndef _PBEPARM_H_
00055 #define _PBEPARM_H_
00056 
00057 /* Generic headers */
00058 #include "maloc/maloc.h"
00059 
00060 /* Headers specific to this file */
00061 #include "apbs/vhal.h"
00062 
00066 #define PBEPARM_MAXWRITE 20
00067 
00072 enum ePBEparm_calcEnergy {
00073     PCE_NO=0, 
00074     PCE_TOTAL=1, 
00075     PCE_COMPS=2 
00076 };
00077 
00082 typedef enum ePBEparm_calcEnergy PBEparm_calcEnergy;
00083 
00088 enum ePBEparm_calcForce {
00089     PCF_NO=0, 
00090     PCF_TOTAL=1, 
00091     PCF_COMPS=2 
00092 };
00093 
00098 typedef enum ePBEparm_calcForce PBEparm_calcForce;
00099 
00108 struct sPBEparm {
00109 
00110     int molid;  
00111     int setmolid;  
00112     int useDielMap;  
00114     int dielMapID;  
00115     int useKappaMap;  
00117     int kappaMapID;  
00118     int usePotMap;  
00120     int potMapID;  
00122     int useChargeMap;  
00124     int chargeMapID;  
00125     Vhal_PBEType pbetype;  
00126     int setpbetype;  
00127     Vbcfl bcfl;  
00128     int setbcfl;  
00129     int nion;  
00130     int setnion;  
00131     double ionq[MAXION];  
00132     double ionc[MAXION];  
00133     double ionr[MAXION];  
00134     int setion[MAXION];  
00135     double pdie;  
00136     int setpdie;  
00137     double sdens; 
00138     int setsdens; 
00139     double sdie;  
00140     int setsdie;  
00141     Vsurf_Meth srfm;  
00142     int setsrfm;  
00143     double srad;  
00144     int setsrad;  
00145     double swin;  
00146     int setswin;  
00147     double temp;  
00148     int settemp;  
00150  double smsize; 
00151  int setsmsize; 
00153  double smvolume; 
00154  int setsmvolume; 
00156     PBEparm_calcEnergy calcenergy;  
00157     int setcalcenergy;  
00158     PBEparm_calcForce calcforce;  
00159     int setcalcforce;  
00161  /*----------------------------------------------------------------*/
00162  /* Added by Michael Grabe                                         */
00163  /*----------------------------------------------------------------*/
00164  
00165     double zmem;               
00166     int setzmem;               
00167     double Lmem;               
00168     int setLmem;               
00169     double mdie;               
00170     int setmdie;               
00171     double memv;               
00172     int setmemv;               
00174  /*----------------------------------------------------------------*/
00175  
00176     int numwrite;  
00177     char writestem[PBEPARM_MAXWRITE][VMAX_ARGLEN]; 
00179     Vdata_Type writetype[PBEPARM_MAXWRITE];  
00180     Vdata_Format writefmt[PBEPARM_MAXWRITE];  
00182     int writemat;  
00185     int setwritemat;  
00186     char writematstem[VMAX_ARGLEN];  
00187     int writematflag;  
00192     int parsed;  
00194 };
00195 
00200 typedef struct sPBEparm PBEparm;
00201 
00202 /* ///////////////////////////////////////////////////////////////////////////
00203 // Class NOsh: Non-inlineable methods (mcsh.c)
00205 
00211 VEXTERNC double PBEparm_getIonCharge(
00212         PBEparm *thee, 
00213         int iion  
00214         );
00215 
00221 VEXTERNC double PBEparm_getIonConc(
00222         PBEparm *thee, 
00223         int iion 
00224         );
00225 
00231 VEXTERNC double PBEparm_getIonRadius(
00232         PBEparm *thee, 
00233         int iion 
00234         );
00235 
00236 
00242 VEXTERNC PBEparm* PBEparm_ctor();
00243 
00249 VEXTERNC int PBEparm_ctor2(
00250         PBEparm *thee 
00251         );
00252 
00257 VEXTERNC void PBEparm_dtor(
00258         PBEparm **thee 
00259         );
00260 
00265 VEXTERNC void PBEparm_dtor2(
00266         PBEparm *thee 
00267         );
00268 
00274 VEXTERNC int PBEparm_check(
00275         PBEparm *thee 
00276         );
00277 
00282 VEXTERNC void PBEparm_copy(
00283         PBEparm *thee, 
00284         PBEparm *parm 
00285         );
00286 
00293 VEXTERNC int PBEparm_parseToken(
00294         PBEparm *thee, 
00295         char tok[VMAX_BUFSIZE], 
00296         Vio *sock 
00297         );
00298 
00299 
00300 #endif 
00301 

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