00001
00062 #ifndef _VAPBSHAL_H_
00063 #define _VAPBSHAL_H_
00064
00071 enum eVrc_Codes {
00072
00073 VRC_WARNING=-1,
00074 VRC_FAILURE=0,
00075 VRC_SUCCESS=1
00077 };
00078 typedef enum eVrc_Codes Vrc_Codes;
00079
00086 enum eVsol_Meth {
00087
00088 VSOL_CGMG,
00089 VSOL_Newton,
00090 VSOL_MG,
00091 VSOL_CG,
00092 VSOL_SOR,
00093 VSOL_RBGS,
00094 VSOL_WJ,
00095 VSOL_Richardson,
00096 VSOL_CGMGAqua,
00097 VSOL_NewtonAqua
00098
00099 };
00100 typedef enum eVsol_Meth Vsol_Meth;
00101
00107 enum eVsurf_Meth {
00108 VSM_MOL=0,
00112 VSM_MOLSMOOTH=1,
00114 VSM_SPLINE=2,
00124 VSM_SPLINE3=3,
00128 VSM_SPLINE4=4
00132 };
00133
00138 typedef enum eVsurf_Meth Vsurf_Meth;
00139
00144 enum eVhal_PBEType {
00145 PBE_LPBE,
00146 PBE_NPBE,
00147 PBE_LRPBE,
00148 PBE_NRPBE,
00149 PBE_SMPBE
00150 };
00151
00156 typedef enum eVhal_PBEType Vhal_PBEType;
00157
00162 enum eVhal_IPKEYType {
00163 IPKEY_SMPBE = -2,
00164 IPKEY_LPBE,
00165 IPKEY_NPBE
00166 };
00167
00172 typedef enum eVhal_IPKEYType Vhal_IPKEYType;
00173
00178 enum eVhal_NONLINType {
00179 NONLIN_LPBE = 0,
00180 NONLIN_NPBE,
00181 NONLIN_SMPBE,
00182 NONLIN_LPBEAQUA,
00183 NONLIN_NPBEAQUA
00184 };
00185
00190 typedef enum eVhal_NONLINType Vhal_NONLINType;
00191
00196 enum eVoutput_Format {
00197 OUTPUT_NULL,
00198 OUTPUT_FLAT,
00199 };
00200
00205 typedef enum eVoutput_Format Voutput_Format;
00206
00212 enum eVbcfl {
00213 BCFL_ZERO=0,
00214 BCFL_SDH=1,
00216 BCFL_MDH=2,
00218 BCFL_UNUSED=3,
00219 BCFL_FOCUS=4,
00220 BCFL_MEM=5
00221 };
00222
00227 typedef enum eVbcfl Vbcfl;
00228
00234 enum eVchrg_Meth {
00235 VCM_TRIL=0,
00238 VCM_BSPL2=1,
00241 VCM_BSPL4=2
00242 };
00243
00248 typedef enum eVchrg_Meth Vchrg_Meth;
00249
00255 enum eVchrg_Src {
00256 VCM_CHARGE=0,
00257 VCM_PERMANENT=1,
00258 VCM_INDUCED=2,
00259 VCM_NLINDUCED=3
00260 };
00261
00266 typedef enum eVchrg_Src Vchrg_Src;
00267
00273 enum eVdata_Type {
00274 VDT_CHARGE,
00275 VDT_POT,
00276 VDT_SMOL,
00278 VDT_SSPL,
00280 VDT_VDW,
00282 VDT_IVDW,
00284 VDT_LAP,
00285 VDT_EDENS,
00287 VDT_NDENS,
00289 VDT_QDENS,
00291 VDT_DIELX,
00293 VDT_DIELY,
00295 VDT_DIELZ,
00297 VDT_KAPPA
00299 };
00300
00305 typedef enum eVdata_Type Vdata_Type;
00306
00312 enum eVdata_Format {
00313 VDF_DX=0,
00314 VDF_UHBD=1,
00315 VDF_AVS=2,
00316 VDF_MCSF=3
00317 };
00318
00323 typedef enum eVdata_Format Vdata_Format;
00324
00329 #define APBS_TIMER_WALL_CLOCK 26
00330
00335 #define APBS_TIMER_SETUP 27
00336
00341 #define APBS_TIMER_SOLVER 28
00342
00347 #define APBS_TIMER_ENERGY 29
00348
00353 #define APBS_TIMER_FORCE 30
00354
00359 #define APBS_TIMER_TEMP1 31
00360
00365 #define APBS_TIMER_TEMP2 32
00366
00371 #define MAXMOL 5
00372
00377 #define MAXION 10
00378
00382 #define MAXFOCUS 5
00383
00387 #define VMGNLEV 4
00388
00392 #define VREDFRAC 0.25
00393
00397 #define VAPBS_NVS 4
00398
00402 #define VAPBS_DIM 3
00403
00408 #define VAPBS_RIGHT 0
00409
00414 #define VAPBS_FRONT 1
00415
00420 #define VAPBS_UP 2
00421
00426 #define VAPBS_LEFT 3
00427
00432 #define VAPBS_BACK 4
00433
00438 #define VAPBS_DOWN 5
00439
00444 #define VPMGSMALL 1e-12
00445
00449 #define SINH_MIN -85.0
00450 #define SINH_MAX 85.0
00451
00452
00453 #if defined(VDEBUG)
00454 # if !defined(APBS_NOINLINE)
00455 # define APBS_NOINLINE 1
00456 # endif
00457 #endif
00458
00459 #if !defined(APBS_NOINLINE)
00460
00464 # define VINLINE_VACC
00465
00469 # define VINLINE_VATOM
00470
00474 # define VINLINE_VCSM
00475
00479 # define VINLINE_VPBE
00480
00484 # define VINLINE_VPEE
00485
00489 # define VINLINE_VGREEN
00490
00494 # define VINLINE_VFETK
00495
00499 # define VINLINE_VPMG
00500
00505 # define MAX_HASH_DIM 75
00506
00507 #endif
00508
00509
00510 #if defined(VF77_UPPERCASE)
00511 # if defined(VF77_NOUNDERSCORE)
00512 # define VF77_MANGLE(name,NAME) NAME
00513 # elif defined(VF77_ONEUNDERSCORE)
00514 # define VF77_MANGLE(name,NAME) NAME ## _
00515 # else
00516 # define VF77_MANGLE(name,NAME) name
00517 # endif
00518 #else
00519 # if defined(VF77_NOUNDERSCORE)
00520 # define VF77_MANGLE(name,NAME) name
00521 # elif defined(VF77_ONEUNDERSCORE)
00522 # define VF77_MANGLE(name,NAME) name ## _
00523 # else
00524
00527 # define VF77_MANGLE(name,NAME) name
00528 # endif
00529 #endif
00530
00531
00532 #if defined(MACHINE_EPS)
00533 # define VFLOOR(value) \
00534 ((floor(value) != floor(value + MACHINE_EPS)) ? \
00535 floor(value + MACHINE_EPS) : floor(value))
00536 #else
00537
00542 # define VFLOOR(value) floor(value)
00543 #endif
00544
00545
00546 #if defined(HAVE_EMBED)
00547
00551 # define VEMBED(rctag) \
00552 VPRIVATE const char* rctag; \
00553 static void* use_rcsid=(0 ? &use_rcsid : (void**)&rcsid);
00554 #else
00555
00559 # define VEMBED(rctag)
00560 #endif
00561
00562 #endif
00563