00001
00076 #ifndef _VPBE_H_
00077 #define _VPBE_H_
00078
00079
00080 #include "maloc/maloc.h"
00081 #include "apbs/vhal.h"
00082
00083
00084 #include "apbs/vunit.h"
00085 #include "apbs/vatom.h"
00086 #include "apbs/vacc.h"
00087 #include "apbs/vclist.h"
00088
00094 struct sVpbe {
00095
00096 Vmem *vmem;
00098 Valist *alist;
00099 Vclist *clist;
00100 Vacc *acc;
00102 double T;
00103 double soluteDiel;
00104 double solventDiel;
00105 double solventRadius;
00109 double bulkIonicStrength;
00110 double maxIonRadius;
00113 int numIon;
00114 double ionConc[MAXION];
00115 double ionRadii[MAXION];
00116 double ionQ[MAXION];
00118 double xkappa;
00119 double deblen;
00120 double zkappa2;
00121 double zmagic;
00123 double soluteCenter[3];
00124 double soluteRadius;
00125 double soluteXlen;
00126 double soluteYlen;
00127 double soluteZlen;
00128 double soluteCharge;
00130 double smvolume;
00131 double smsize;
00132 int ipkey;
00135 int paramFlag;
00137 };
00138
00143 typedef struct sVpbe Vpbe;
00144
00145
00146
00148
00149
00150
00157
00158
00165
00166
00173
00174
00181
00182
00189
00190
00197
00198
00205
00206
00213
00214
00221
00222
00229
00230
00237
00238
00245
00246
00253
00254
00261
00262
00269
00270
00277
00278
00285
00286
00293
00294
00301
00302
00303
00304 # define Vpbe_getValist(thee) ((thee)->alist)
00305 # define Vpbe_getVacc(thee) ((thee)->acc)
00306 # define Vpbe_getBulkIonicStrength(thee) ((thee)->bulkIonicStrength)
00307 # define Vpbe_getTemperature(thee) ((thee)->T)
00308 # define Vpbe_getSoluteDiel(thee) ((thee)->soluteDiel)
00309 # define Vpbe_getSoluteCenter(thee) ((thee)->soluteCenter)
00310 # define Vpbe_getSoluteRadius(thee) ((thee)->soluteRadius)
00311 # define Vpbe_getSoluteXlen(thee) ((thee)->soluteXlen)
00312 # define Vpbe_getSoluteYlen(thee) ((thee)->soluteYlen)
00313 # define Vpbe_getSoluteZlen(thee) ((thee)->soluteZlen)
00314 # define Vpbe_getSoluteCharge(thee) ((thee)->soluteCharge)
00315 # define Vpbe_getSolventDiel(thee) ((thee)->solventDiel)
00316 # define Vpbe_getSolventRadius(thee) ((thee)->solventRadius)
00317 # define Vpbe_getMaxIonRadius(thee) ((thee)->maxIonRadius)
00318 # define Vpbe_getXkappa(thee) ((thee)->xkappa)
00319 # define Vpbe_getDeblen(thee) ((thee)->deblen)
00320 # define Vpbe_getZkappa2(thee) ((thee)->zkappa2)
00321 # define Vpbe_getZmagic(thee) ((thee)->zmagic)
00322 #endif
00323
00324
00325
00327
00360
00361
00362
00363
00364
00397
00398
00399
00400
00401
00402
00413
00414
00415
00421
00422
00428
00429
00444
00445
00453
00454
00455
00456