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

vgrid.h

Go to the documentation of this file.
00001 
00049 #ifndef _VGRID_H_
00050 #define _VGRID_H_
00051 
00052 #include "maloc/maloc.h"
00053 #include "apbs/vhal.h"
00054 #include "apbs/vstring.h"
00055 
00056 
00059 #define VGRID_DIGITS 6
00060 
00066 struct sVgrid {
00067 
00068     int nx;       
00069     int ny;       
00070     int nz;       
00071     double hx;    
00072     double hy;    
00073     double hzed;  
00074     double xmin;  
00075     double ymin;  
00076     double zmin;  
00077     double xmax;  
00078     double ymax;  
00079     double zmax;  
00080     double *data; 
00081     int readdata; 
00082     int ctordata; 
00084     Vmem *mem;    
00085 };
00086 
00091 typedef struct sVgrid Vgrid;
00092 
00093 #if !defined(VINLINE_VGRID)
00094 
00102     unsigned long int Vgrid_memChk(Vgrid *thee);
00103 
00104 #else /* if defined(VINLINE_VGRID) */
00105 
00113 #   define Vgrid_memChk(thee) (Vmem_bytes((thee)->vmem))
00114 
00115 #endif /* if !defined(VINLINE_VPMG) */
00116 
00134 Vgrid*  Vgrid_ctor(int nx, int ny, int nz, 
00135                   double hx, double hy, double hzed,
00136                   double xmin, double ymin, double zmin,
00137                   double *data);
00138 
00157 int Vgrid_ctor2(Vgrid *thee, int nx, int ny, int nz, 
00158                   double hx, double hy, double hzed,
00159                   double xmin, double ymin, double zmin,
00160                   double *data);
00161 
00170 int Vgrid_value(Vgrid *thee, double x[3], double *value);
00171 
00177 void Vgrid_dtor(Vgrid **thee);
00178 
00184 void Vgrid_dtor2(Vgrid *thee);
00185 
00199 int Vgrid_curvature(Vgrid *thee, double pt[3], int cflag, 
00200   double *curv);
00201 
00210 int Vgrid_gradient(Vgrid *thee, double pt[3], double grad[3] );
00211 
00229 void Vgrid_writeUHBD(Vgrid *thee, const char *iodev, 
00230   const char *iofmt, const char *thost, const char *fname, char *title, 
00231   double *pvec);
00232 
00247 void Vgrid_writeDX(Vgrid *thee, const char *iodev, 
00248   const char *iofmt,  const char *thost, const char *fname, char *title, 
00249   double *pvec);
00250 
00262 int Vgrid_readDX(Vgrid *thee, const char *iodev, const char *iofmt,
00263   const char *thost, const char *fname);
00264 
00271 double Vgrid_integrate(Vgrid *thee);
00272 
00281 double Vgrid_normL1(Vgrid *thee);
00282 
00291 double Vgrid_normL2(Vgrid *thee);
00292 
00301 double Vgrid_normLinf(Vgrid *thee);
00302 
00312 double Vgrid_seminormH1(Vgrid *thee);
00313 
00324 double Vgrid_normH1(Vgrid *thee);
00325 
00326 #endif
00327 

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