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

vgreen.h

Go to the documentation of this file.
00001 
00052 #ifndef _VGREEN_H_
00053 #define _VGREEN_H_
00054 
00055 /* Generic headers */
00056 #include "maloc/maloc.h"
00057 #include "apbs/vhal.h"
00058 
00059 /* Specific headers */
00060 #include "apbs/vunit.h"
00061 #include "apbs/vatom.h"
00062 #include "apbs/valist.h"
00063 
00064 
00070 struct sVgreen { 
00071 
00072   Valist *alist;  
00073   Vmem *vmem;  
00074   double *xp;  
00076   double *yp;  
00078   double *zp;  
00080   double *qp;  
00082   int np;  
00083 };
00084 
00089 typedef struct sVgreen Vgreen;
00090 
00091 /* ///////////////////////////////////////////////////////////////////////////
00092 // Class Vgreen: Inlineable methods (vgreen.c)
00094 
00095 #if !defined(VINLINE_VGREEN)
00096 
00104     Valist* Vgreen_getValist(Vgreen *thee);
00105 
00113     unsigned long int Vgreen_memChk(Vgreen *thee);
00114 
00115 #else /* if defined(VINLINE_VGREEN) */
00116 #   define Vgreen_getValist(thee) ((thee)->alist)
00117 #   define Vgreen_memChk(thee) (Vmem_bytes((thee)->vmem))
00118 #endif /* if !defined(VINLINE_VGREEN) */
00119 
00120 /* ///////////////////////////////////////////////////////////////////////////
00121 // Class Vgreen: Non-Inlineable methods (vgreen.c)
00123 
00130 Vgreen* Vgreen_ctor(Valist *alist);
00131 
00139 int Vgreen_ctor2(Vgreen *thee, Valist *alist);
00140 
00146 void Vgreen_dtor(Vgreen **thee);
00147 
00153 void Vgreen_dtor2(Vgreen *thee);
00154 
00179 int Vgreen_helmholtz(Vgreen *thee, int npos, double *x, double *y,
00180   double *z, double *val, double kappa);
00181 
00209 int Vgreen_helmholtzD(Vgreen *thee, int npos, double *x, double *y, 
00210   double *z, double *gradx, double *grady, double *gradz, double kappa);
00211 
00232 int Vgreen_coulomb_direct(Vgreen *thee, int npos, double *x, 
00233         double *y, double *z, double *val);
00234 
00255 int Vgreen_coulomb(Vgreen *thee, int npos, double *x, double *y,
00256   double *z, double *val);
00257 
00281 int Vgreen_coulombD_direct(Vgreen *thee, int npos, double *x, 
00282         double *y, double *z, double *pot, double *gradx, double *grady, double
00283         *gradz);
00284 
00309 int Vgreen_coulombD(Vgreen *thee, int npos, double *x, double *y,
00310   double *z, double *pot, double *gradx, double *grady, double *gradz);
00311 
00312 #endif /* ifndef _VGREEN_H_ */
00313 

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