00001
00053 #ifndef _VPBE_H_
00054 #define _VPBE_H_
00055
00056
00057 #include "maloc/maloc.h"
00058 #include "apbs/vhal.h"
00059
00060
00061 #include "apbs/vunit.h"
00062 #include "apbs/vatom.h"
00063 #include "apbs/vacc.h"
00064
00070 struct sVpbe {
00071
00072 Vmem *vmem;
00074 Valist *alist;
00075 Vacc *acc;
00077 double T;
00078 double gamma;
00079 double soluteDiel;
00080 double solventDiel;
00081 double solventRadius;
00085 double bulkIonicStrength;
00086 double maxIonRadius;
00089 int numIon;
00090 double ionConc[MAXION];
00091 double ionRadii[MAXION];
00092 double ionQ[MAXION];
00094 double xkappa;
00095 double deblen;
00096 double zkappa2;
00097 double zmagic;
00099 double soluteCenter[3];
00100 double soluteRadius;
00101 double soluteXlen;
00102 double soluteYlen;
00103 double soluteZlen;
00104 double soluteCharge;
00106 int paramFlag;
00108 };
00109
00114 typedef struct sVpbe Vpbe;
00115
00116
00117
00119
00120
00121
00128
00129
00136
00137
00144
00145
00152
00153
00160
00161
00168
00169
00176
00177
00184
00185
00192
00193
00200
00201
00208
00209
00216
00217
00224
00225
00232
00233
00240
00241
00248
00249
00256
00257
00264
00265
00272
00273
00274
00275 # define Vpbe_getValist(thee) ((thee)->alist)
00276 # define Vpbe_getVacc(thee) ((thee)->acc)
00277 # define Vpbe_getBulkIonicStrength(thee) ((thee)->bulkIonicStrength)
00278 # define Vpbe_getTemperature(thee) ((thee)->T)
00279 # define Vpbe_getSoluteDiel(thee) ((thee)->soluteDiel)
00280 # define Vpbe_getGamma(thee) ((thee)->gamma)
00281 # define Vpbe_getSoluteCenter(thee) ((thee)->soluteCenter)
00282 # define Vpbe_getSoluteRadius(thee) ((thee)->soluteRadius)
00283 # define Vpbe_getSoluteXlen(thee) ((thee)->soluteXlen)
00284 # define Vpbe_getSoluteYlen(thee) ((thee)->soluteYlen)
00285 # define Vpbe_getSoluteZlen(thee) ((thee)->soluteZlen)
00286 # define Vpbe_getSoluteCharge(thee) ((thee)->soluteCharge)
00287 # define Vpbe_getSolventDiel(thee) ((thee)->solventDiel)
00288 # define Vpbe_getSolventRadius(thee) ((thee)->solventRadius)
00289 # define Vpbe_getMaxIonRadius(thee) ((thee)->maxIonRadius)
00290 # define Vpbe_getXkappa(thee) ((thee)->xkappa)
00291 # define Vpbe_getDeblen(thee) ((thee)->deblen)
00292 # define Vpbe_getZkappa2(thee) ((thee)->zkappa2)
00293 # define Vpbe_getZmagic(thee) ((thee)->zmagic)
00294 #endif
00295
00296
00297
00299
00332
00333
00334
00335
00336
00368
00369
00370
00371
00372
00383
00384
00385
00391
00392
00398
00399
00414
00415
00423
00424
00425
00426