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 
00061 struct sVgrid {
00062 
00063     int nx;       
00064     int ny;       
00065     int nz;       
00066     double hx;    
00067     double hy;    
00068     double hzed;  
00069     double xmin;  
00070     double ymin;  
00071     double zmin;  
00072     double xmax;  
00073     double ymax;  
00074     double zmax;  
00075     double *data; 
00076     int readdata; 
00077     int ctordata; 
00079     Vmem *mem;    
00080 };
00081 
00086 typedef struct sVgrid Vgrid;
00087 
00088 #if !defined(VINLINE_VGRID)
00089 
00097     int Vgrid_memChk(Vgrid *thee);
00098 
00099 #else /* if defined(VINLINE_VGRID) */
00100 
00108 #   define Vgrid_memChk(thee) (Vmem_bytes((thee)->vmem))
00109 
00110 #endif /* if !defined(VINLINE_VPMG) */
00111 
00129 Vgrid*  Vgrid_ctor(int nx, int ny, int nz, 
00130                   double hx, double hy, double hzed,
00131                   double xmin, double ymin, double zmin,
00132                   double *data);
00133 
00152 int Vgrid_ctor2(Vgrid *thee, int nx, int ny, int nz, 
00153                   double hx, double hy, double hzed,
00154                   double xmin, double ymin, double zmin,
00155                   double *data);
00156 
00165 int Vgrid_value(Vgrid *thee, double x[3], double *value);
00166 
00172 void Vgrid_dtor(Vgrid **thee);
00173 
00179 void Vgrid_dtor2(Vgrid *thee);
00180 
00194 int Vgrid_curvature(Vgrid *thee, double pt[3], int cflag, 
00195   double *curv);
00196 
00205 int Vgrid_gradient(Vgrid *thee, double pt[3], double grad[3] );
00206 
00222 void Vgrid_writeUHBD(Vgrid *thee, const char *iodev, 
00223   const char *iofmt, const char *thost, const char *fname, char *title, 
00224   int *pvec);
00225 
00239 void Vgrid_writeDX(Vgrid *thee, const char *iodev, 
00240   const char *iofmt,  const char *thost, const char *fname, char *title, 
00241   int *pvec);
00242 
00254 int Vgrid_readDX(Vgrid *thee, const char *iodev, const char *iofmt,
00255   const char *thost, const char *fname);
00256 
00263 double Vgrid_integrate(Vgrid *thee);
00264 
00273 double Vgrid_normL1(Vgrid *thee);
00274 
00283 double Vgrid_normL2(Vgrid *thee);
00284 
00293 double Vgrid_normLinf(Vgrid *thee);
00294 
00304 double Vgrid_seminormH1(Vgrid *thee);
00305 
00316 double Vgrid_normH1(Vgrid *thee);
00317 
00318 #endif
00319 

Generated on Tue Feb 17 09:27:05 2004 for APBS by doxygen1.2.18