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

pbeparm.h

Go to the documentation of this file.
00001 
00049 #ifndef _PBEPARM_H_
00050 #define _PBEPARM_H_
00051 
00052 /* Generic headers */
00053 #include "maloc/maloc.h"
00054 
00055 /* Headers specific to this file */
00056 #include "apbs/vhal.h"
00057 
00061 #define PBEPARM_MAXWRITE 10
00062 
00067 enum ePBEparm_calcEnergy {
00068     PCE_NO=0, 
00069     PCE_TOTAL=1, 
00070     PCE_COMPS=2 
00071 };
00072 
00077 typedef enum ePBEparm_calcEnergy PBEparm_calcEnergy;
00078 
00083 enum ePBEparm_calcForce {
00084     PCF_NO=0, 
00085     PCF_TOTAL=1, 
00086     PCF_COMPS=2 
00087 };
00088 
00093 typedef enum ePBEparm_calcForce PBEparm_calcForce;
00094 
00103 struct sPBEparm {
00104 
00105     int molid;  
00106     int setmolid;  
00107     int useDielMap;  
00109     int dielMapID;  
00110     int useKappaMap;  
00112     int kappaMapID;  
00113     int useChargeMap;  
00115     int chargeMapID;  
00116     Vhal_PBEType pbetype;  
00117     int setpbetype;  
00118     Vbcfl bcfl;  
00119     int setbcfl;  
00120     int nion;  
00121     int setnion;  
00122     double ionq[MAXION];  
00123     double ionc[MAXION];  
00124     double ionr[MAXION];  
00125     int setion[MAXION];  
00126     double pdie;  
00127     int setpdie;  
00128     double sdens; 
00129     int setsdens; 
00130     double sdie;  
00131     int setsdie;  
00132     Vsurf_Meth srfm;  
00133     int setsrfm;  
00134     double srad;  
00135     int setsrad;  
00136     double swin;  
00137     int setswin;  
00138     double temp;  
00139     int settemp;  
00140     double gamma;  
00142     int setgamma;  
00143     PBEparm_calcEnergy calcenergy;  
00144     int setcalcenergy;  
00145     PBEparm_calcForce calcforce;  
00146     int setcalcforce;  
00147     int numwrite;  
00148     char writestem[PBEPARM_MAXWRITE][VMAX_ARGLEN]; 
00150     Vdata_Type writetype[PBEPARM_MAXWRITE];  
00151     Vdata_Format writefmt[PBEPARM_MAXWRITE];  
00153     int writemat;  
00156     int setwritemat;  
00157     char writematstem[VMAX_ARGLEN];  
00158     int writematflag;  
00163     int parsed;  
00165 };
00166 
00171 typedef struct sPBEparm PBEparm;
00172 
00173 /* ///////////////////////////////////////////////////////////////////////////
00174 // Class NOsh: Non-inlineable methods (mcsh.c)
00176 
00182 double PBEparm_getIonCharge(
00183         PBEparm *thee, 
00184         int iion  
00185         );
00186 
00192 double PBEparm_getIonConc(
00193         PBEparm *thee, 
00194         int iion 
00195         );
00196 
00202 double PBEparm_getIonRadius(
00203         PBEparm *thee, 
00204         int iion 
00205         );
00206 
00207 
00213 PBEparm* PBEparm_ctor();
00214 
00220 int PBEparm_ctor2(
00221         PBEparm *thee 
00222         );
00223 
00228 void PBEparm_dtor(
00229         PBEparm **thee 
00230         );
00231 
00236 void PBEparm_dtor2(
00237         PBEparm *thee 
00238         );
00239 
00245 int PBEparm_check(
00246         PBEparm *thee 
00247         );
00248 
00253 void PBEparm_copy(
00254         PBEparm *thee, 
00255         PBEparm *parm 
00256         );
00257 
00264 int PBEparm_parseToken(
00265         PBEparm *thee, 
00266         char tok[VMAX_BUFSIZE], 
00267         Vio *sock 
00268         );
00269 
00270 
00271 #endif 
00272 
00273 

Generated on Tue Dec 6 10:05:31 2005 for APBS by doxygen 1.3.5