Go to the documentation of this file.00001
00058 #ifndef _VPBE_H_
00059 #define _VPBE_H_
00060
00061
00062 #include "maloc/maloc.h"
00063 #include "apbs/vhal.h"
00064
00065
00066 #include "apbs/vunit.h"
00067 #include "apbs/vatom.h"
00068 #include "apbs/vacc.h"
00069 #include "apbs/vclist.h"
00070
00076 struct sVpbe {
00077
00078 Vmem *vmem;
00080 Valist *alist;
00081 Vclist *clist;
00082 Vacc *acc;
00084 double T;
00085 double soluteDiel;
00086 double solventDiel;
00087 double solventRadius;
00091 double bulkIonicStrength;
00092 double maxIonRadius;
00095 int numIon;
00096 double ionConc[MAXION];
00097 double ionRadii[MAXION];
00098 double ionQ[MAXION];
00100 double xkappa;
00101 double deblen;
00102 double zkappa2;
00103 double zmagic;
00105 double soluteCenter[3];
00106 double soluteRadius;
00107 double soluteXlen;
00108 double soluteYlen;
00109 double soluteZlen;
00110 double soluteCharge;
00112 double smvolume;
00113 double smsize;
00114 int ipkey;
00117 int paramFlag;
00119
00120
00121
00122
00123 double z_mem;
00124 double L;
00125 double membraneDiel;
00126 double V;
00127 int param2Flag;
00128
00129
00130 };
00131
00136 typedef struct sVpbe Vpbe;
00137
00138
00139
00141
00142
00143
00150
00151
00158
00159
00166
00167
00174
00175
00182
00183
00190
00191
00198
00199
00206
00207
00214
00215
00222
00223
00230
00231
00238
00239
00246
00247
00254
00255
00262
00263
00270
00271
00278
00279
00286
00287
00294
00295
00296
00297
00298
00299
00306 VEXTERNC double Vpbe_getzmem(Vpbe *thee);
00307
00314 VEXTERNC double Vpbe_getLmem(Vpbe *thee);
00315
00322 VEXTERNC double Vpbe_getmembraneDiel(Vpbe *thee);
00323
00329 VEXTERNC double Vpbe_getmemv(Vpbe *thee);
00330
00331
00332
00333 #else
00334 # define Vpbe_getValist(thee) ((thee)->alist)
00335 # define Vpbe_getVacc(thee) ((thee)->acc)
00336 # define Vpbe_getBulkIonicStrength(thee) ((thee)->bulkIonicStrength)
00337 # define Vpbe_getTemperature(thee) ((thee)->T)
00338 # define Vpbe_getSoluteDiel(thee) ((thee)->soluteDiel)
00339 # define Vpbe_getSoluteCenter(thee) ((thee)->soluteCenter)
00340 # define Vpbe_getSoluteRadius(thee) ((thee)->soluteRadius)
00341 # define Vpbe_getSoluteXlen(thee) ((thee)->soluteXlen)
00342 # define Vpbe_getSoluteYlen(thee) ((thee)->soluteYlen)
00343 # define Vpbe_getSoluteZlen(thee) ((thee)->soluteZlen)
00344 # define Vpbe_getSoluteCharge(thee) ((thee)->soluteCharge)
00345 # define Vpbe_getSolventDiel(thee) ((thee)->solventDiel)
00346 # define Vpbe_getSolventRadius(thee) ((thee)->solventRadius)
00347 # define Vpbe_getMaxIonRadius(thee) ((thee)->maxIonRadius)
00348 # define Vpbe_getXkappa(thee) ((thee)->xkappa)
00349 # define Vpbe_getDeblen(thee) ((thee)->deblen)
00350 # define Vpbe_getZkappa2(thee) ((thee)->zkappa2)
00351 # define Vpbe_getZmagic(thee) ((thee)->zmagic)
00352
00353
00354
00355
00356
00357 # define Vpbe_getzmem(thee) ((thee)->z_mem)
00358 # define Vpbe_getLmem(thee) ((thee)->L)
00359 # define Vpbe_getmembraneDiel(thee) ((thee)->membraneDiel)
00360 # define Vpbe_getmemv(thee) ((thee)->V)
00361
00362
00363
00364
00365 #endif
00366
00367
00368
00370
00391
00392
00393
00394
00395
00396
00397
00398
00399
00400
00401
00402
00403
00404
00405
00406
00407
00408
00429
00430
00431
00432
00433
00434
00435
00436
00437
00438
00439
00440
00441
00442
00443
00444
00445
00446
00447
00458
00459
00460
00466
00467
00473
00474
00489
00490
00498
00499
00500