APBS 3.0.0
Loading...
Searching...
No Matches
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
82struct sVgreen {
83
85 Vmem *vmem;
86 double *xp;
88 double *yp;
90 double *zp;
92 double *qp;
94 int np;
95};
96
101typedef 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
142VEXTERNC Vgreen* Vgreen_ctor(Valist *alist);
143
151VEXTERNC int Vgreen_ctor2(Vgreen *thee, Valist *alist);
152
158VEXTERNC void Vgreen_dtor(Vgreen **thee);
159
165VEXTERNC void Vgreen_dtor2(Vgreen *thee);
166
191VEXTERNC int Vgreen_helmholtz(Vgreen *thee, int npos, double *x, double *y,
192 double *z, double *val, double kappa);
193
221VEXTERNC int Vgreen_helmholtzD(Vgreen *thee, int npos, double *x, double *y,
222 double *z, double *gradx, double *grady, double *gradz, double kappa);
223
244VEXTERNC int Vgreen_coulomb_direct(Vgreen *thee, int npos, double *x,
245 double *y, double *z, double *val);
246
267VEXTERNC int Vgreen_coulomb(Vgreen *thee, int npos, double *x, double *y,
268 double *z, double *val);
269
293VEXTERNC 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
321VEXTERNC 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_ */
Container class for list of atom objects.
Definition valist.h:78
Contains public data members for Vgreen class/module.
Definition vgreen.h:82
double * zp
Definition vgreen.h:90
double * xp
Definition vgreen.h:86
int np
Definition vgreen.h:94
double * yp
Definition vgreen.h:88
double * qp
Definition vgreen.h:92
Vmem * vmem
Definition vgreen.h:85
Valist * alist
Definition vgreen.h:84
Contains declarations for class Valist.
Contains declarations for class Vatom.
Contains generic macro definitions for APBS.
Contains a collection of useful constants and conversion factors.