APBS  1.4.1
vgreen.h
Go to the documentation of this file.
1 
65 #ifndef _VGREEN_H_
66 #define _VGREEN_H_
67 
68 #include "apbscfg.h"
69 
70 #include "maloc/maloc.h"
71 
72 #include "generic/vhal.h"
73 #include "generic/vunit.h"
74 #include "generic/vatom.h"
75 #include "generic/valist.h"
76 
82 struct sVgreen {
83 
85  Vmem *vmem;
86  double *xp;
88  double *yp;
90  double *zp;
92  double *qp;
94  int np;
95 };
96 
101 typedef struct sVgreen Vgreen;
102 
103 /* ///////////////////////////////////////////////////////////////////////////
104 // Class Vgreen: Inlineable methods (vgreen.c)
106 
107 #if !defined(VINLINE_VGREEN)
108 
116  VEXTERNC Valist* Vgreen_getValist(Vgreen *thee);
117 
125  VEXTERNC unsigned long int Vgreen_memChk(Vgreen *thee);
126 
127 #else /* if defined(VINLINE_VGREEN) */
128 # define Vgreen_getValist(thee) ((thee)->alist)
129 # define Vgreen_memChk(thee) (Vmem_bytes((thee)->vmem))
130 #endif /* if !defined(VINLINE_VGREEN) */
131 
132 /* ///////////////////////////////////////////////////////////////////////////
133 // Class Vgreen: Non-Inlineable methods (vgreen.c)
135 
142 VEXTERNC Vgreen* Vgreen_ctor(Valist *alist);
143 
151 VEXTERNC int Vgreen_ctor2(Vgreen *thee, Valist *alist);
152 
158 VEXTERNC void Vgreen_dtor(Vgreen **thee);
159 
165 VEXTERNC void Vgreen_dtor2(Vgreen *thee);
166 
191 VEXTERNC int Vgreen_helmholtz(Vgreen *thee, int npos, double *x, double *y,
192  double *z, double *val, double kappa);
193 
221 VEXTERNC int Vgreen_helmholtzD(Vgreen *thee, int npos, double *x, double *y,
222  double *z, double *gradx, double *grady, double *gradz, double kappa);
223 
244 VEXTERNC int Vgreen_coulomb_direct(Vgreen *thee, int npos, double *x,
245  double *y, double *z, double *val);
246 
267 VEXTERNC int Vgreen_coulomb(Vgreen *thee, int npos, double *x, double *y,
268  double *z, double *val);
269 
293 VEXTERNC int Vgreen_coulombD_direct(Vgreen *thee, int npos, double *x,
294  double *y, double *z, double *pot, double *gradx, double *grady, double
295  *gradz);
296 
321 VEXTERNC int Vgreen_coulombD(Vgreen *thee, int npos, double *x, double *y,
322  double *z, double *pot, double *gradx, double *grady, double *gradz);
323 
324 #endif /* ifndef _VGREEN_H_ */
Contains declarations for class Valist.
Contains public data members for Vgreen class/module.
Definition: vgreen.h:82
double * zp
Definition: vgreen.h:90
Valist * alist
Definition: vgreen.h:84
Contains a collection of useful constants and conversion factors.
Contains declarations for class Vatom.
int np
Definition: vgreen.h:94
Contains generic macro definitions for APBS.
Vmem * vmem
Definition: vgreen.h:85
double * qp
Definition: vgreen.h:92
Container class for list of atom objects.
Definition: valist.h:78
double * xp
Definition: vgreen.h:86
double * yp
Definition: vgreen.h:88