Main Page | Modules | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

vhal.h

Go to the documentation of this file.
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,              /* 0: conjugate gradient multigrid */
00089         VSOL_Newton,    /* 1: newton */
00090         VSOL_MG,                /* 2: multigrid */
00091         VSOL_CG,                /* 3: conjugate gradient */
00092         VSOL_SOR,               /* 4: sucessive overrelaxation */
00093         VSOL_RBGS,              /* 5: red-black gauss-seidel */
00094         VSOL_WJ,                /* 6: weighted jacobi */
00095         VSOL_Richardson,/* 7: richardson  */
00096         VSOL_CGMGAqua,  /* 8: conjugate gradient multigrid aqua */ 
00097         VSOL_NewtonAqua /* 9: newton aqua */
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     OUTPUT_XML   
00200 };
00201 
00206 typedef enum eVoutput_Format Voutput_Format;
00207 
00213 enum eVbcfl {
00214     BCFL_ZERO=0,  
00215     BCFL_SDH=1,  
00217     BCFL_MDH=2,  
00219     BCFL_UNUSED=3,  
00220     BCFL_FOCUS=4  
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 
00446 
00447 #if defined(VDEBUG)
00448 #   if !defined(APBS_NOINLINE)
00449 #       define APBS_NOINLINE 1
00450 #   endif
00451 #endif
00452 
00453 #if !defined(APBS_NOINLINE)
00454 
00458 #   define VINLINE_VACC
00459 
00463 #   define VINLINE_VATOM
00464 
00468 #   define VINLINE_VCSM
00469 
00473 #   define VINLINE_VPBE
00474 
00478 #   define VINLINE_VPEE
00479 
00483 #   define VINLINE_VGREEN
00484 
00488 #   define VINLINE_VFETK
00489 
00493 #   define VINLINE_VPMG 
00494 
00499 #   define MAX_HASH_DIM 75
00500 
00501 #endif
00502 
00503 /* Fortran name mangling */
00504 #if defined(VF77_UPPERCASE)
00505 #   if defined(VF77_NOUNDERSCORE)
00506 #       define VF77_MANGLE(name,NAME) NAME
00507 #   elif defined(VF77_ONEUNDERSCORE)
00508 #       define VF77_MANGLE(name,NAME) NAME ## _
00509 #   else
00510 #       define VF77_MANGLE(name,NAME) name
00511 #   endif
00512 #else
00513 #   if defined(VF77_NOUNDERSCORE)
00514 #       define VF77_MANGLE(name,NAME) name
00515 #   elif defined(VF77_ONEUNDERSCORE)
00516 #       define VF77_MANGLE(name,NAME) name ## _
00517 #   else
00518 
00521 #       define VF77_MANGLE(name,NAME) name
00522 #   endif
00523 #endif
00524 
00525 /* Floating Point Error */
00526 #if defined(MACHINE_EPS)
00527 #     define VFLOOR(value) \
00528               ((floor(value) != floor(value + MACHINE_EPS)) ? \
00529               floor(value + MACHINE_EPS) : floor(value))
00530 #else
00531 
00536 #     define VFLOOR(value) floor(value)
00537 #endif
00538 
00539 /* String embedding for ident */
00540 #if defined(HAVE_EMBED)
00541 
00545 #    define VEMBED(rctag) \
00546          VPRIVATE const char* rctag; \
00547          static void* use_rcsid=(0 ? &use_rcsid : (void**)&rcsid);
00548 #else
00549 
00553 #    define VEMBED(rctag)
00554 #endif /* if defined(HAVE_EMBED) */
00555 
00556 #endif /* #ifndef _VAPBSHAL_H_ */
00557 

Generated on Tue Apr 15 13:53:15 2008 for APBS by doxygen 1.3.4