/* * fnonbond.h * * Define 'AtomBox' for grid cell hashing */ #ifndef FNONBOND_H #define FNONBOND_H #include "force.h" #ifdef __cplusplus extern "C" { #endif /* * offsets for vdwtable entry */ #undef A #define A 0 #undef B #define B 1 #undef A_14 #define A_14 2 #undef B_14 #define B_14 3 /* * make cells of atom IDs for geometric hashing of atoms */ #define NUM_NBRS 13 #define MIN_ATOMIDS 10 typedef struct AtomBox_Tag { MD_Dvec min, max; /* extent of box */ MD_Int nx, ny, nz; /* ID of box */ MD_Int *atomid; /* IDs of atoms contained in box */ MD_Int num; /* number of atom IDs stored in atomid array */ MD_Int len; /* allocated length of atomid array, 0<=num<=len */ MD_Int nbr[NUM_NBRS]; /* list of adjacent neighbors of box */ MD_Int numnbrs; /* number of neighbors in nbr array */ } AtomBox; /* * prototypes */ MD_Errcode deven_nonbonded_init(Force *); void deven_nonbonded_destroy(Force *); #ifdef __cplusplus } #endif #endif /* FNONBOND_H */