00001
00064 #ifndef _VPBE_H_
00065 #define _VPBE_H_
00066
00067
00068 #include "maloc/maloc.h"
00069 #include "apbs/vhal.h"
00070
00071
00072 #include "apbs/vunit.h"
00073 #include "apbs/vatom.h"
00074 #include "apbs/vacc.h"
00075 #include "apbs/vclist.h"
00076
00082 struct sVpbe {
00083
00084 Vmem *vmem;
00086 Valist *alist;
00087 Vclist *clist;
00088 Vacc *acc;
00090 double T;
00091 double soluteDiel;
00092 double solventDiel;
00093 double solventRadius;
00097 double bulkIonicStrength;
00098 double maxIonRadius;
00101 int numIon;
00102 double ionConc[MAXION];
00103 double ionRadii[MAXION];
00104 double ionQ[MAXION];
00106 double xkappa;
00107 double deblen;
00108 double zkappa2;
00109 double zmagic;
00111 double soluteCenter[3];
00112 double soluteRadius;
00113 double soluteXlen;
00114 double soluteYlen;
00115 double soluteZlen;
00116 double soluteCharge;
00118 double smvolume;
00119 double smsize;
00120 int ipkey;
00123 int paramFlag;
00125 };
00126
00131 typedef struct sVpbe Vpbe;
00132
00133
00134
00136
00137
00138
00145
00146
00153
00154
00161
00162
00169
00170
00177
00178
00185
00186
00193
00194
00201
00202
00209
00210
00217
00218
00225
00226
00233
00234
00241
00242
00249
00250
00257
00258
00265
00266
00273
00274
00281
00282
00289
00290
00291
00292 # define Vpbe_getValist(thee) ((thee)->alist)
00293 # define Vpbe_getVacc(thee) ((thee)->acc)
00294 # define Vpbe_getBulkIonicStrength(thee) ((thee)->bulkIonicStrength)
00295 # define Vpbe_getTemperature(thee) ((thee)->T)
00296 # define Vpbe_getSoluteDiel(thee) ((thee)->soluteDiel)
00297 # define Vpbe_getSoluteCenter(thee) ((thee)->soluteCenter)
00298 # define Vpbe_getSoluteRadius(thee) ((thee)->soluteRadius)
00299 # define Vpbe_getSoluteXlen(thee) ((thee)->soluteXlen)
00300 # define Vpbe_getSoluteYlen(thee) ((thee)->soluteYlen)
00301 # define Vpbe_getSoluteZlen(thee) ((thee)->soluteZlen)
00302 # define Vpbe_getSoluteCharge(thee) ((thee)->soluteCharge)
00303 # define Vpbe_getSolventDiel(thee) ((thee)->solventDiel)
00304 # define Vpbe_getSolventRadius(thee) ((thee)->solventRadius)
00305 # define Vpbe_getMaxIonRadius(thee) ((thee)->maxIonRadius)
00306 # define Vpbe_getXkappa(thee) ((thee)->xkappa)
00307 # define Vpbe_getDeblen(thee) ((thee)->deblen)
00308 # define Vpbe_getZkappa2(thee) ((thee)->zkappa2)
00309 # define Vpbe_getZmagic(thee) ((thee)->zmagic)
00310 #endif
00311
00312
00313
00315
00348
00349
00350
00351
00352
00385
00386
00387
00388
00389
00390
00401
00402
00403
00409
00410
00416
00417
00432
00433
00441
00442
00443
00444