NAMD
Macros | Enumerations
MsmMacros.h File Reference

Go to the source code of this file.

Macros

#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
}
 

Macro Definition 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
Enumerator
PERIODIC_NONE 
PERIODIC_VEC1 
PERIODIC_VEC2 
PERIODIC_VEC3 
PERIODIC_ALL 

Definition at line 6 of file MsmMacros.h.

anonymous enum
Enumerator
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.

anonymous enum
Enumerator
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.

26  {
27  SPLIT_TAYLOR2 = 0,
60  SPLIT_END
61 };