• Main Page
  • Related Pages
  • Modules
  • Data Structures
  • Files
  • File List
  • Globals

src/generic/apbs/vhal.h

Go to the documentation of this file.
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,  /* 0: conjugate gradient multigrid */
00083  VSOL_Newton, /* 1: newton */
00084  VSOL_MG,  /* 2: multigrid */
00085  VSOL_CG,  /* 3: conjugate gradient */
00086  VSOL_SOR,  /* 4: sucessive overrelaxation */
00087  VSOL_RBGS,  /* 5: red-black gauss-seidel */
00088  VSOL_WJ,  /* 6: weighted jacobi */
00089  VSOL_Richardson,/* 7: richardson  */
00090  VSOL_CGMGAqua, /* 8: conjugate gradient multigrid aqua */ 
00091  VSOL_NewtonAqua /* 9: newton aqua */
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 /* Fortran name mangling */
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 /* Floating Point Error */
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 /* String embedding for ident */
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 /* if defined(HAVE_EMBED) */
00571 
00572 #endif /* #ifndef _VAPBSHAL_H_ */

Generated on Wed Oct 20 2010 12:01:33 for APBS by  doxygen 1.7.2