Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

MsmMacros.h File Reference

Go to the source code of this file.

Defines

#define ROUNDUP_QUOTIENT(n, k)   (((n)/(k)) + (((n)%(k)) != 0))
#define SPOLY(pg, pdg, ra, split)
#define STENCIL_1D(_phi, _delta, _approx)
#define D_STENCIL_1D(_dphi, _phi, _h_1, _delta, _approx)

Enumerations

enum  {
  PERIODIC_NONE = 0, PERIODIC_VEC1 = 0x01, PERIODIC_VEC2 = 0x02, PERIODIC_VEC3 = 0x04,
  PERIODIC_ALL = PERIODIC_VEC1 | PERIODIC_VEC2 | PERIODIC_VEC2
}
enum  {
  APPROX_CUBIC = 0, APPROX_QUINTIC, APPROX_QUINTIC2, APPROX_SEPTIC,
  APPROX_SEPTIC3, APPROX_NONIC, APPROX_NONIC4, APPROX_BSPLINE,
  APPROX_END
}
enum  {
  SPLIT_TAYLOR2 = 0, SPLIT_TAYLOR3, SPLIT_TAYLOR4, SPLIT_TAYLOR5,
  SPLIT_TAYLOR6, SPLIT_TAYLOR7, SPLIT_TAYLOR8, SPLIT_TAYLOR1,
  SPLIT_SIGMA2_3, SPLIT_SIGMA3_5, SPLIT_SIGMA4_6, SPLIT_SIGMA4_7,
  SPLIT_SIGMA5_8, SPLIT_SIGMA5_9, SPLIT_SIGMA6_9, SPLIT_SIGMA6_10,
  SPLIT_SIGMA6_11, SPLIT_SIGMA7_11, SPLIT_SIGMA7_12, SPLIT_SIGMA7_13,
  SPLIT_SIGMA8_12, SPLIT_SIGMA8_13, SPLIT_SIGMA8_14, SPLIT_SIGMA8_15,
  SPLIT_SIGMA2_6, SPLIT_SWITCH1_2, SPLIT_SWITCH3_4, SPLIT_SWITCH7_8,
  SPLIT_END
}


Define Documentation

#define D_STENCIL_1D _dphi,
_phi,
_h_1,
_delta,
_approx   ) 
 

Calculate the stencil of basis function and derivatives of (1/h)Phi. dphi - stencil array (up to size MAX_POLY_DEGREE+1) phi - stencil array (up to size MAX_POLY_DEGREE+1) h_1 - 1/h, h is the grid spacing delta - normalized distance of atom from lowest grid point in stencil approx - APPROX enum value from msm.h

Definition at line 467 of file MsmMacros.h.

#define ROUNDUP_QUOTIENT n,
 )     (((n)/(k)) + (((n)%(k)) != 0))
 

Definition at line 4 of file MsmMacros.h.

#define SPOLY pg,
pdg,
ra,
split   ) 
 

SPOLY() calculates the polynomial part of the normalized smoothing of 1/r.

Returns g(R), where R=r/a, and (d/dR)g(R).

pg - float*, points to variable to receive g(R) pdg - float*, points to variable to receive (d/dR)g(R) ra - (r/a), assumed to be between 0 and 1 split - identify the type of smoothing used to split the potential

Definition at line 74 of file MsmMacros.h.

#define STENCIL_1D _phi,
_delta,
_approx   ) 
 

Calculate the stencil of basis function values of Phi. phi - stencil array (up to size MAX_POLY_DEGREE+1) delta - normalized distance of atom from lowest grid point in stencil approx - APPROX enum value from msm.h

Definition at line 279 of file MsmMacros.h.


Enumeration Type Documentation

anonymous enum
 

Enumeration values:
PERIODIC_NONE 
PERIODIC_VEC1 
PERIODIC_VEC2 
PERIODIC_VEC3 
PERIODIC_ALL 

Definition at line 6 of file MsmMacros.h.

00006      {
00007   PERIODIC_NONE = 0,
00008   PERIODIC_VEC1 = 0x01,
00009   PERIODIC_VEC2 = 0x02,
00010   PERIODIC_VEC3 = 0x04,
00011   PERIODIC_ALL = PERIODIC_VEC1 | PERIODIC_VEC2 | PERIODIC_VEC2
00012 };

anonymous enum
 

Enumeration values:
APPROX_CUBIC  C1 degree 3 poly (numerical Hermite)
APPROX_QUINTIC  C1 degree 5 poly (linear blend of degree 4)
APPROX_QUINTIC2  C2 degree 5 poly
APPROX_SEPTIC  C1 degree 7 poly (linear blend of degree 6)
APPROX_SEPTIC3  C3 degree 7 poly
APPROX_NONIC  C1 degree 9 poly (linear blend of degree 8)
APPROX_NONIC4  C4 degree 9 poly
APPROX_BSPLINE  C2 degree 3 B-spline
APPROX_END  (for internal use)

Definition at line 14 of file MsmMacros.h.

00014      {
00015   APPROX_CUBIC = 0, 
00016   APPROX_QUINTIC,   
00017   APPROX_QUINTIC2,  
00018   APPROX_SEPTIC,    
00019   APPROX_SEPTIC3,   
00020   APPROX_NONIC,     
00021   APPROX_NONIC4,    
00022   APPROX_BSPLINE,   
00023   APPROX_END        
00024 };

anonymous enum
 

Enumeration values:
SPLIT_TAYLOR2  C2 Taylor
SPLIT_TAYLOR3  C3 Taylor
SPLIT_TAYLOR4  C4 Taylor
SPLIT_TAYLOR5  C5 Taylor
SPLIT_TAYLOR6  C6 Taylor
SPLIT_TAYLOR7  C7 Taylor
SPLIT_TAYLOR8  C8 Taylor
SPLIT_TAYLOR1  C1 Taylor
SPLIT_SIGMA2_3  C2, degree 3 (the "perfect" smoothing)
SPLIT_SIGMA3_5  C3, degree 5
SPLIT_SIGMA4_6  C4, degree 6
SPLIT_SIGMA4_7  C4, degree 7
SPLIT_SIGMA5_8  C5, degree 8
SPLIT_SIGMA5_9  C5, degree 9
SPLIT_SIGMA6_9  C6, degree 9
SPLIT_SIGMA6_10  C6, degree 10
SPLIT_SIGMA6_11  C6, degree 11
SPLIT_SIGMA7_11  C7, degree 11
SPLIT_SIGMA7_12  C7, degree 12
SPLIT_SIGMA7_13  C7, degree 13
SPLIT_SIGMA8_12  C8, degree 12
SPLIT_SIGMA8_13  C8, degree 13
SPLIT_SIGMA8_14  C8, degree 14
SPLIT_SIGMA8_15  C8, degree 15
SPLIT_SIGMA2_6  C2, degree 6, even powers of r, chosen to minimize error bound
SPLIT_SWITCH1_2  C2, switching at r/a=1/2
SPLIT_SWITCH3_4  C2, switching at r/a=3/4
SPLIT_SWITCH7_8  C2, switching at r/a=7/8
SPLIT_END  (for internal use)

Definition at line 26 of file MsmMacros.h.

00026      {
00027   SPLIT_TAYLOR2 = 0,  
00028   SPLIT_TAYLOR3,      
00029   SPLIT_TAYLOR4,      
00030   SPLIT_TAYLOR5,      
00031   SPLIT_TAYLOR6,      
00032   SPLIT_TAYLOR7,      
00033   SPLIT_TAYLOR8,      
00034   SPLIT_TAYLOR1,      
00036   SPLIT_SIGMA2_3,     
00037   SPLIT_SIGMA3_5,     
00038   SPLIT_SIGMA4_6,     
00039   SPLIT_SIGMA4_7,     
00040   SPLIT_SIGMA5_8,     
00041   SPLIT_SIGMA5_9,     
00042   SPLIT_SIGMA6_9,     
00043   SPLIT_SIGMA6_10,    
00044   SPLIT_SIGMA6_11,    
00045   SPLIT_SIGMA7_11,    
00046   SPLIT_SIGMA7_12,    
00047   SPLIT_SIGMA7_13,    
00048   SPLIT_SIGMA8_12,    
00049   SPLIT_SIGMA8_13,    
00050   SPLIT_SIGMA8_14,    
00051   SPLIT_SIGMA8_15,    
00053   SPLIT_SIGMA2_6,     
00056   SPLIT_SWITCH1_2,    
00057   SPLIT_SWITCH3_4,    
00058   SPLIT_SWITCH7_8,    
00060   SPLIT_END           
00061 };


Generated on Mon May 20 04:07:19 2013 for NAMD by  doxygen 1.3.9.1