00001 class Molecule; 00008 namespace GridContainer {// Keeps local node lists to avoid N^2 pair interaction loop 00009 extern REAL cellsize; 00010 extern int ncells[DIM+1];// number of cells in each space direction 00011 extern Container<Molecule> *nodes;//nodes[ncells[0]*ncells[1]*...*ncells[DIM-1]] 00012 extern Pool<Molecule> *pool; 00013 extern int *dimensions(); 00014 extern int index(int gridcell[]); 00015 extern void index(int icell, int gridcell[]); 00016 extern void init(REAL ymin[], REAL ymax[], REAL radius, Pool<Molecule> *pool); 00017 extern void put(Molecule *node); 00018 #ifdef OMP 00019 extern void put(Molecule *node, int icounter); 00020 #endif 00021 extern Container<Molecule> *get(int index[]); 00022 extern bool checkPool(int icell, char *msg); 00023 }; 00024