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

vgreen.h

Go to the documentation of this file.
00001 
00063 #ifndef _VGREEN_H_
00064 #define _VGREEN_H_
00065 
00066 /* Generic headers */
00067 #include "maloc/maloc.h"
00068 #include "apbs/vhal.h"
00069 
00070 /* Specific headers */
00071 #include "apbs/vunit.h"
00072 #include "apbs/vatom.h"
00073 #include "apbs/valist.h"
00074 
00075 
00081 struct sVgreen { 
00082 
00083   Valist *alist;  
00084   Vmem *vmem;  
00085   double *xp;  
00087   double *yp;  
00089   double *zp;  
00091   double *qp;  
00093   int np;  
00094 };
00095 
00100 typedef struct sVgreen Vgreen;
00101 
00102 /* ///////////////////////////////////////////////////////////////////////////
00103 // Class Vgreen: Inlineable methods (vgreen.c)
00105 
00106 #if !defined(VINLINE_VGREEN)
00107 
00115     Valist* Vgreen_getValist(Vgreen *thee);
00116 
00124     unsigned long int Vgreen_memChk(Vgreen *thee);
00125 
00126 #else /* if defined(VINLINE_VGREEN) */
00127 #   define Vgreen_getValist(thee) ((thee)->alist)
00128 #   define Vgreen_memChk(thee) (Vmem_bytes((thee)->vmem))
00129 #endif /* if !defined(VINLINE_VGREEN) */
00130 
00131 /* ///////////////////////////////////////////////////////////////////////////
00132 // Class Vgreen: Non-Inlineable methods (vgreen.c)
00134 
00141 Vgreen* Vgreen_ctor(Valist *alist);
00142 
00150 int Vgreen_ctor2(Vgreen *thee, Valist *alist);
00151 
00157 void Vgreen_dtor(Vgreen **thee);
00158 
00164 void Vgreen_dtor2(Vgreen *thee);
00165 
00190 int Vgreen_helmholtz(Vgreen *thee, int npos, double *x, double *y,
00191   double *z, double *val, double kappa);
00192 
00220 int Vgreen_helmholtzD(Vgreen *thee, int npos, double *x, double *y, 
00221   double *z, double *gradx, double *grady, double *gradz, double kappa);
00222 
00243 int Vgreen_coulomb_direct(Vgreen *thee, int npos, double *x, 
00244         double *y, double *z, double *val);
00245 
00266 int Vgreen_coulomb(Vgreen *thee, int npos, double *x, double *y,
00267   double *z, double *val);
00268 
00292 int Vgreen_coulombD_direct(Vgreen *thee, int npos, double *x, 
00293         double *y, double *z, double *pot, double *gradx, double *grady, double
00294         *gradz);
00295 
00320 int Vgreen_coulombD(Vgreen *thee, int npos, double *x, double *y,
00321   double *z, double *pot, double *gradx, double *grady, double *gradz);
00322 
00323 #endif /* ifndef _VGREEN_H_ */
00324 

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