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 #include "apbs/vclist.h"
00065
00071 struct sVpbe {
00072
00073 Vmem *vmem;
00075 Valist *alist;
00076 Vclist *clist;
00077 Vacc *acc;
00079 double T;
00080 double gamma;
00081 double soluteDiel;
00082 double solventDiel;
00083 double solventRadius;
00087 double bulkIonicStrength;
00088 double maxIonRadius;
00091 int numIon;
00092 double ionConc[MAXION];
00093 double ionRadii[MAXION];
00094 double ionQ[MAXION];
00096 double xkappa;
00097 double deblen;
00098 double zkappa2;
00099 double zmagic;
00101 double soluteCenter[3];
00102 double soluteRadius;
00103 double soluteXlen;
00104 double soluteYlen;
00105 double soluteZlen;
00106 double soluteCharge;
00108 int paramFlag;
00110 };
00111
00116 typedef struct sVpbe Vpbe;
00117
00118
00119
00121
00122
00123
00130
00131
00138
00139
00146
00147
00154
00155
00162
00163
00170
00171
00178
00179
00186
00187
00194
00195
00202
00203
00210
00211
00218
00219
00226
00227
00234
00235
00242
00243
00250
00251
00258
00259
00266
00267
00274
00275
00276
00277 # define Vpbe_getValist(thee) ((thee)->alist)
00278 # define Vpbe_getVacc(thee) ((thee)->acc)
00279 # define Vpbe_getBulkIonicStrength(thee) ((thee)->bulkIonicStrength)
00280 # define Vpbe_getTemperature(thee) ((thee)->T)
00281 # define Vpbe_getSoluteDiel(thee) ((thee)->soluteDiel)
00282 # define Vpbe_getGamma(thee) ((thee)->gamma)
00283 # define Vpbe_getSoluteCenter(thee) ((thee)->soluteCenter)
00284 # define Vpbe_getSoluteRadius(thee) ((thee)->soluteRadius)
00285 # define Vpbe_getSoluteXlen(thee) ((thee)->soluteXlen)
00286 # define Vpbe_getSoluteYlen(thee) ((thee)->soluteYlen)
00287 # define Vpbe_getSoluteZlen(thee) ((thee)->soluteZlen)
00288 # define Vpbe_getSoluteCharge(thee) ((thee)->soluteCharge)
00289 # define Vpbe_getSolventDiel(thee) ((thee)->solventDiel)
00290 # define Vpbe_getSolventRadius(thee) ((thee)->solventRadius)
00291 # define Vpbe_getMaxIonRadius(thee) ((thee)->maxIonRadius)
00292 # define Vpbe_getXkappa(thee) ((thee)->xkappa)
00293 # define Vpbe_getDeblen(thee) ((thee)->deblen)
00294 # define Vpbe_getZkappa2(thee) ((thee)->zkappa2)
00295 # define Vpbe_getZmagic(thee) ((thee)->zmagic)
00296 #endif
00297
00298
00299
00301
00335
00336
00337
00338
00339
00373
00374
00375
00376
00377
00378
00389
00390
00391
00397
00398
00404
00405
00420
00421
00429
00430
00431
00432