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

vgrid.h

Go to the documentation of this file.
00001 
00060 #ifndef _VGRID_H_
00061 #define _VGRID_H_
00062 
00063 #include "maloc/maloc.h"
00064 #include "apbs/vhal.h"
00065 #include "apbs/vstring.h"
00066 
00067 
00070 #define VGRID_DIGITS 6
00071 
00077 struct sVgrid {
00078 
00079     int nx;       
00080     int ny;       
00081     int nz;       
00082     double hx;    
00083     double hy;    
00084     double hzed;  
00085     double xmin;  
00086     double ymin;  
00087     double zmin;  
00088     double xmax;  
00089     double ymax;  
00090     double zmax;  
00091     double *data; 
00092     int readdata; 
00093     int ctordata; 
00095     Vmem *mem;    
00096 };
00097 
00102 typedef struct sVgrid Vgrid;
00103 
00104 #if !defined(VINLINE_VGRID)
00105 
00113     unsigned long int Vgrid_memChk(Vgrid *thee);
00114 
00115 #else /* if defined(VINLINE_VGRID) */
00116 
00124 #   define Vgrid_memChk(thee) (Vmem_bytes((thee)->vmem))
00125 
00126 #endif /* if !defined(VINLINE_VPMG) */
00127 
00145 Vgrid*  Vgrid_ctor(int nx, int ny, int nz, 
00146                   double hx, double hy, double hzed,
00147                   double xmin, double ymin, double zmin,
00148                   double *data);
00149 
00168 int Vgrid_ctor2(Vgrid *thee, int nx, int ny, int nz, 
00169                   double hx, double hy, double hzed,
00170                   double xmin, double ymin, double zmin,
00171                   double *data);
00172 
00181 int Vgrid_value(Vgrid *thee, double x[3], double *value);
00182 
00188 void Vgrid_dtor(Vgrid **thee);
00189 
00195 void Vgrid_dtor2(Vgrid *thee);
00196 
00210 int Vgrid_curvature(Vgrid *thee, double pt[3], int cflag, 
00211   double *curv);
00212 
00221 int Vgrid_gradient(Vgrid *thee, double pt[3], double grad[3] );
00222 
00240 void Vgrid_writeUHBD(Vgrid *thee, const char *iodev, 
00241   const char *iofmt, const char *thost, const char *fname, char *title, 
00242   double *pvec);
00243 
00258 void Vgrid_writeDX(Vgrid *thee, const char *iodev, 
00259   const char *iofmt,  const char *thost, const char *fname, char *title, 
00260   double *pvec);
00261 
00273 int Vgrid_readDX(Vgrid *thee, const char *iodev, const char *iofmt,
00274   const char *thost, const char *fname);
00275 
00282 double Vgrid_integrate(Vgrid *thee);
00283 
00292 double Vgrid_normL1(Vgrid *thee);
00293 
00302 double Vgrid_normL2(Vgrid *thee);
00303 
00312 double Vgrid_normLinf(Vgrid *thee);
00313 
00323 double Vgrid_seminormH1(Vgrid *thee);
00324 
00335 double Vgrid_normH1(Vgrid *thee);
00336 
00337 #endif
00338 

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