00001
00056 #ifndef _VAPBSHAL_H_
00057 #define _VAPBSHAL_H_
00058
00065 enum eVrc_Codes {
00066
00067 VRC_WARNING=-1,
00068 VRC_FAILURE=0,
00069 VRC_SUCCESS=1
00071 };
00072 typedef enum eVrc_Codes Vrc_Codes;
00073
00080 enum eVsol_Meth {
00081
00082 VSOL_CGMG,
00083 VSOL_Newton,
00084 VSOL_MG,
00085 VSOL_CG,
00086 VSOL_SOR,
00087 VSOL_RBGS,
00088 VSOL_WJ,
00089 VSOL_Richardson,
00090 VSOL_CGMGAqua,
00091 VSOL_NewtonAqua
00092
00093 };
00094 typedef enum eVsol_Meth Vsol_Meth;
00095
00101 enum eVsurf_Meth {
00102 VSM_MOL=0,
00106 VSM_MOLSMOOTH=1,
00108 VSM_SPLINE=2,
00118 VSM_SPLINE3=3,
00122 VSM_SPLINE4=4
00126 };
00127
00132 typedef enum eVsurf_Meth Vsurf_Meth;
00133
00138 enum eVhal_PBEType {
00139 PBE_LPBE,
00140 PBE_NPBE,
00141 PBE_LRPBE,
00142 PBE_NRPBE,
00143 PBE_SMPBE
00144 };
00145
00150 typedef enum eVhal_PBEType Vhal_PBEType;
00151
00156 enum eVhal_IPKEYType {
00157 IPKEY_SMPBE = -2,
00158 IPKEY_LPBE,
00159 IPKEY_NPBE
00160 };
00161
00166 typedef enum eVhal_IPKEYType Vhal_IPKEYType;
00167
00172 enum eVhal_NONLINType {
00173 NONLIN_LPBE = 0,
00174 NONLIN_NPBE,
00175 NONLIN_SMPBE,
00176 NONLIN_LPBEAQUA,
00177 NONLIN_NPBEAQUA
00178 };
00179
00184 typedef enum eVhal_NONLINType Vhal_NONLINType;
00185
00190 enum eVoutput_Format {
00191 OUTPUT_NULL,
00192 OUTPUT_FLAT,
00193 };
00194
00199 typedef enum eVoutput_Format Voutput_Format;
00200
00206 enum eVbcfl {
00207 BCFL_ZERO=0,
00208 BCFL_SDH=1,
00210 BCFL_MDH=2,
00212 BCFL_UNUSED=3,
00213 BCFL_FOCUS=4,
00214 BCFL_MEM=5,
00215 BCFL_MAP=6
00216 };
00217
00222 typedef enum eVbcfl Vbcfl;
00223
00229 enum eVchrg_Meth {
00230 VCM_TRIL=0,
00233 VCM_BSPL2=1,
00236 VCM_BSPL4=2
00237 };
00238
00243 typedef enum eVchrg_Meth Vchrg_Meth;
00244
00250 enum eVchrg_Src {
00251 VCM_CHARGE=0,
00252 VCM_PERMANENT=1,
00253 VCM_INDUCED=2,
00254 VCM_NLINDUCED=3
00255 };
00256
00261 typedef enum eVchrg_Src Vchrg_Src;
00262
00268 enum eVdata_Type {
00269 VDT_CHARGE,
00270 VDT_POT,
00271 VDT_ATOMPOT,
00272 VDT_SMOL,
00274 VDT_SSPL,
00276 VDT_VDW,
00278 VDT_IVDW,
00280 VDT_LAP,
00281 VDT_EDENS,
00283 VDT_NDENS,
00285 VDT_QDENS,
00287 VDT_DIELX,
00289 VDT_DIELY,
00291 VDT_DIELZ,
00293 VDT_KAPPA
00295 };
00296
00301 typedef enum eVdata_Type Vdata_Type;
00302
00308 enum eVdata_Format {
00309 VDF_DX=0,
00310 VDF_UHBD=1,
00311 VDF_AVS=2,
00312 VDF_MCSF=3,
00313 VDF_GZ=4,
00314 VDF_FLAT=5
00315 };
00316
00321 typedef enum eVdata_Format Vdata_Format;
00322
00327 #define APBS_TIMER_WALL_CLOCK 26
00328
00333 #define APBS_TIMER_SETUP 27
00334
00339 #define APBS_TIMER_SOLVER 28
00340
00345 #define APBS_TIMER_ENERGY 29
00346
00351 #define APBS_TIMER_FORCE 30
00352
00357 #define APBS_TIMER_TEMP1 31
00358
00363 #define APBS_TIMER_TEMP2 32
00364
00369 #define MAXMOL 5
00370
00375 #define MAXION 10
00376
00380 #define MAXFOCUS 5
00381
00385 #define VMGNLEV 4
00386
00390 #define VREDFRAC 0.25
00391
00395 #define VAPBS_NVS 4
00396
00400 #define VAPBS_DIM 3
00401
00406 #define VAPBS_RIGHT 0
00407
00412 #define MAX_SPHERE_PTS 50000
00413
00418 #define VAPBS_FRONT 1
00419
00424 #define VAPBS_UP 2
00425
00430 #define VAPBS_LEFT 3
00431
00436 #define VAPBS_BACK 4
00437
00442 #define VAPBS_DOWN 5
00443
00448 #define VPMGSMALL 1e-12
00449
00454 #define SINH_MIN -85.0
00455
00460 #define SINH_MAX 85.0
00461
00462
00463 #if defined(VDEBUG)
00464 # if !defined(APBS_NOINLINE)
00465 # define APBS_NOINLINE 1
00466 # endif
00467 #endif
00468
00469 #if !defined(APBS_NOINLINE)
00470
00474 # define VINLINE_VACC
00475
00479 # define VINLINE_VATOM
00480
00484 # define VINLINE_VCSM
00485
00489 # define VINLINE_VPBE
00490
00494 # define VINLINE_VPEE
00495
00499 # define VINLINE_VGREEN
00500
00504 # define VINLINE_VFETK
00505
00509 # define VINLINE_VPMG
00510
00515 # define MAX_HASH_DIM 75
00516
00517 #endif
00518
00519
00520 #if defined(VF77_UPPERCASE)
00521 # if defined(VF77_NOUNDERSCORE)
00522 # define VF77_MANGLE(name,NAME) NAME
00523 # elif defined(VF77_ONEUNDERSCORE)
00524 # define VF77_MANGLE(name,NAME) NAME ## _
00525 # else
00526 # define VF77_MANGLE(name,NAME) name
00527 # endif
00528 #else
00529 # if defined(VF77_NOUNDERSCORE)
00530 # define VF77_MANGLE(name,NAME) name
00531 # elif defined(VF77_ONEUNDERSCORE)
00532 # define VF77_MANGLE(name,NAME) name ## _
00533 # else
00534
00537 # define VF77_MANGLE(name,NAME) name
00538 # endif
00539 #endif
00540
00541
00542 #if defined(MACHINE_EPS)
00543 # define VFLOOR(value) \
00544 ((floor(value) != floor(value + MACHINE_EPS)) ? \
00545 floor(value + MACHINE_EPS) : floor(value))
00546 #else
00547
00552 # define VFLOOR(value) floor(value)
00553 #endif
00554
00555
00556 #if defined(HAVE_EMBED)
00557
00561 # define VEMBED(rctag) \
00562 VPRIVATE const char* rctag; \
00563 static void* use_rcsid=(0 ? &use_rcsid : (void**)&rcsid);
00564 #else
00565
00569 # define VEMBED(rctag)
00570 #endif
00571
00572 #endif