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

vacc.h

Go to the documentation of this file.
00001 
00072 #ifndef _VACC_H_
00073 #define _VACC_H_
00074 
00075 /* Generic headers */
00076 #include "maloc/maloc.h"
00077 #include "apbs/vhal.h"
00078 
00079 /* Headers specific to this file */
00080 #include "apbs/valist.h"
00081 #include "apbs/vclist.h"
00082 #include "apbs/vatom.h"
00083 #include "apbs/vunit.h"
00084 #include "apbs/apolparm.h"
00085 
00091 struct sVaccSurf {
00092     Vmem *mem;  
00093     double *xpts;  
00094     double *ypts;  
00095     double *zpts;  
00096     int *bpts;  
00098     double area;  
00099     int npts;  
00100     double probe_radius;  
00102 };
00103 
00108 typedef struct sVaccSurf VaccSurf;
00109 
00115 struct sVacc {
00116 
00117   Vmem *mem;  
00118   Valist *alist;  
00119   Vclist *clist;  
00120   int *atomFlags;  
00123   VaccSurf *refSphere;  
00124   VaccSurf **surf;  
00127   Vset acc;  
00129   double surf_density;  
00132 };
00133 
00138 typedef struct sVacc Vacc;
00139 
00140 #if !defined(VINLINE_VACC)
00141 
00147     unsigned long int Vacc_memChk(
00148             Vacc *thee 
00149             );
00150 
00151 #else /* if defined(VINLINE_VACC) */
00152 
00153 #   define Vacc_memChk(thee) (Vmem_bytes((thee)->mem))
00154 
00155 #endif /* if !defined(VINLINE_VACC) */
00156 
00164 VaccSurf* VaccSurf_ctor(
00165         Vmem *mem,  
00166         double probe_radius,  
00167         int nsphere  
00168         );
00169 
00177 int VaccSurf_ctor2(
00178         VaccSurf *thee,  
00179         Vmem *mem,  
00180         double probe_radius,  
00181         int nsphere  
00182         );
00183 
00189 void VaccSurf_dtor(
00190         VaccSurf **thee  
00191         );
00192 
00198 void VaccSurf_dtor2(
00199         VaccSurf *thee  
00200         );
00201 
00216 VaccSurf* VaccSurf_refSphere(
00217         Vmem *mem,  
00218         int npts 
00219         );
00220 
00228 VaccSurf* Vacc_atomSurf(
00229         Vacc *thee,  
00230         Vatom *atom,  
00231         VaccSurf *ref,  
00233         double probe_radius  
00234         );
00235 
00236 
00241 Vacc* Vacc_ctor(
00242         Valist *alist,  
00243         Vclist *clist,  
00245         double surf_density  
00247         );
00248 
00253 int Vacc_ctor2(
00254         Vacc *thee, 
00255         Valist *alist, 
00256         Vclist *clist, 
00258         double surf_density  
00260         );
00261 
00266 void Vacc_dtor(
00267         Vacc **thee 
00268         );
00269 
00274 void Vacc_dtor2(
00275         Vacc *thee 
00276         );
00277 
00288 double Vacc_vdwAcc(
00289         Vacc *thee,  
00290         double center[VAPBS_DIM] 
00291         );
00292 
00304 double Vacc_ivdwAcc(
00305         Vacc *thee, 
00306         double center[VAPBS_DIM], 
00307         double radius 
00308         );
00309 
00324 double Vacc_molAcc(
00325         Vacc *thee, 
00326         double center[VAPBS_DIM], 
00327         double radius 
00328         );
00329 
00348 double Vacc_fastMolAcc(
00349         Vacc *thee,  
00350         double center[VAPBS_DIM],  
00351         double radius 
00352         );
00353 
00365 double Vacc_splineAcc(
00366         Vacc *thee, 
00367         double center[VAPBS_DIM], 
00368         double win, 
00369         double infrad  
00370         );
00371 
00377 void Vacc_splineAccGrad(
00378         Vacc *thee, 
00379         double center[VAPBS_DIM], 
00380         double win, 
00381         double infrad,  
00382         double *grad 
00383         );
00384 
00396 double Vacc_splineAccAtom(
00397         Vacc *thee, 
00398         double center[VAPBS_DIM], 
00399         double win, 
00400         double infrad, 
00401         Vatom *atom 
00402         );
00403 
00414 void Vacc_splineAccGradAtomUnnorm(
00415         Vacc *thee, 
00416         double center[VAPBS_DIM], 
00417         double win, 
00418         double infrad, 
00419         Vatom *atom, 
00420         double *force 
00421         );
00422 
00434 void Vacc_splineAccGradAtomNorm(
00435         Vacc *thee, 
00436         double center[VAPBS_DIM], 
00437         double win, 
00438         double infrad, 
00439         Vatom *atom, 
00440         double *force 
00441         );
00442 
00450 void Vacc_splineAccGradAtomNorm4(
00451         Vacc *thee, 
00452         double center[VAPBS_DIM], 
00453         double win, 
00454         double infrad, 
00455         Vatom *atom, 
00456         double *force 
00457         );
00458 
00466 void Vacc_splineAccGradAtomNorm3(
00467                 Vacc *thee, 
00468                 double center[VAPBS_DIM], 
00469                 double win, 
00470                 double infrad, 
00471                 Vatom *atom, 
00472                 double *force 
00473                 );
00474 
00475 
00485 double Vacc_SASA(
00486         Vacc *thee,  
00487         double radius  
00488         );
00489 
00497 double Vacc_totalSASA(
00498         Vacc *thee,  
00499         double radius  
00500         );
00501 
00509 double Vacc_atomSASA(
00510         Vacc *thee,  
00511         double radius,  
00512         Vatom *atom  
00513         );
00514 
00521 VaccSurf* Vacc_atomSASPoints(
00522         Vacc *thee,  
00523         double radius,  
00524         Vatom *atom  
00525         );
00526 
00532 void Vacc_atomdSAV(
00533                                                         Vacc *thee, 
00534                                                         double radius, 
00535                                                         Vatom *atom, 
00536                                                         double *dSA 
00537                                                         );
00538 
00544 void Vacc_atomdSASA(
00545                                                         Vacc *thee, 
00546                                                         double dpos, 
00547                                                         double radius, 
00548                                                         Vatom *atom, 
00549                                                         double *dSA 
00550                                                         );
00551 
00557 void Vacc_totalAtomdSASA(
00558                                                          Vacc *thee, 
00559                                                          double dpos, 
00560                                                          double radius, 
00561                                                          Vatom *atom, 
00562                                                          double *dSA 
00563                                                          );
00564 
00570 void Vacc_totalAtomdSAV(
00571                                                                  Vacc *thee, 
00572                                                                  double dpos, 
00573                                                                  double radius, 
00574                                                                  Vatom *atom, 
00575                                                                  double *dSA, 
00576                                                                  Vclist *clist 
00577                                                                  );
00578 
00586 double Vacc_totalSAV(
00587         Vacc *thee,  
00588         Vclist *clist, 
00589         APOLparm *apolparm,  
00591         double radius  
00592         );
00593 
00600 VPUBLIC int Vacc_wcaEnergy(
00601                                                    Vacc *thee,  
00602                                                          APOLparm *apolparm,  
00603                                                          Valist *alist, 
00604                                                          Vclist *clist 
00605                                                          );
00612 VPUBLIC int Vacc_wcaForceAtom(Vacc *thee, 
00613                                                           APOLparm *apolparm,  
00614                                                           Vclist *clist, 
00615                                                           Vatom *atom, 
00616                                                           double *force 
00617                                                    );
00618 
00619 #endif    /* ifndef _VACC_H_ */
00620 

Generated on Thu Jul 12 11:49:46 2007 for APBS by doxygen 1.3.4