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

pbeparm.h

Go to the documentation of this file.
00001 
00060 #ifndef _PBEPARM_H_
00061 #define _PBEPARM_H_
00062 
00063 /* Generic headers */
00064 #include "maloc/maloc.h"
00065 
00066 /* Headers specific to this file */
00067 #include "apbs/vhal.h"
00068 
00072 #define PBEPARM_MAXWRITE 10
00073 
00078 enum ePBEparm_calcEnergy {
00079     PCE_NO=0, 
00080     PCE_TOTAL=1, 
00081     PCE_COMPS=2 
00082 };
00083 
00088 typedef enum ePBEparm_calcEnergy PBEparm_calcEnergy;
00089 
00094 enum ePBEparm_calcForce {
00095     PCF_NO=0, 
00096     PCF_TOTAL=1, 
00097     PCF_COMPS=2 
00098 };
00099 
00104 typedef enum ePBEparm_calcForce PBEparm_calcForce;
00105 
00114 struct sPBEparm {
00115 
00116     int molid;  
00117     int setmolid;  
00118     int useDielMap;  
00120     int dielMapID;  
00121     int useKappaMap;  
00123     int kappaMapID;  
00124     int useChargeMap;  
00126     int chargeMapID;  
00127     Vhal_PBEType pbetype;  
00128     int setpbetype;  
00129     Vbcfl bcfl;  
00130     int setbcfl;  
00131     int nion;  
00132     int setnion;  
00133     double ionq[MAXION];  
00134     double ionc[MAXION];  
00135     double ionr[MAXION];  
00136     int setion[MAXION];  
00137     double pdie;  
00138     int setpdie;  
00139     double sdens; 
00140     int setsdens; 
00141     double sdie;  
00142     int setsdie;  
00143     Vsurf_Meth srfm;  
00144     int setsrfm;  
00145     double srad;  
00146     int setsrad;  
00147     double swin;  
00148     int setswin;  
00149     double temp;  
00150     int settemp;  
00152         double smsize; 
00153         int setsmsize; 
00155         double smvolume; 
00156         int setsmvolume; 
00158     PBEparm_calcEnergy calcenergy;  
00159     int setcalcenergy;  
00160     PBEparm_calcForce calcforce;  
00161     int setcalcforce;  
00162     int numwrite;  
00163     char writestem[PBEPARM_MAXWRITE][VMAX_ARGLEN]; 
00165     Vdata_Type writetype[PBEPARM_MAXWRITE];  
00166     Vdata_Format writefmt[PBEPARM_MAXWRITE];  
00168     int writemat;  
00171     int setwritemat;  
00172     char writematstem[VMAX_ARGLEN];  
00173     int writematflag;  
00178     int parsed;  
00180 };
00181 
00186 typedef struct sPBEparm PBEparm;
00187 
00188 /* ///////////////////////////////////////////////////////////////////////////
00189 // Class NOsh: Non-inlineable methods (mcsh.c)
00191 
00197 double PBEparm_getIonCharge(
00198         PBEparm *thee, 
00199         int iion  
00200         );
00201 
00207 double PBEparm_getIonConc(
00208         PBEparm *thee, 
00209         int iion 
00210         );
00211 
00217 double PBEparm_getIonRadius(
00218         PBEparm *thee, 
00219         int iion 
00220         );
00221 
00222 
00228 PBEparm* PBEparm_ctor();
00229 
00235 int PBEparm_ctor2(
00236         PBEparm *thee 
00237         );
00238 
00243 void PBEparm_dtor(
00244         PBEparm **thee 
00245         );
00246 
00251 void PBEparm_dtor2(
00252         PBEparm *thee 
00253         );
00254 
00260 int PBEparm_check(
00261         PBEparm *thee 
00262         );
00263 
00268 void PBEparm_copy(
00269         PBEparm *thee, 
00270         PBEparm *parm 
00271         );
00272 
00279 int PBEparm_parseToken(
00280         PBEparm *thee, 
00281         char tok[VMAX_BUFSIZE], 
00282         Vio *sock 
00283         );
00284 
00285 
00286 #endif 
00287 
00288 

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