X-Git-Url: https://hackdaworld.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=moldyn.h;h=87c89483cd362e4cfd32fc4dcc8677a4398d39d0;hb=22a224e0f41f996954049c69bcc6fbb3cf62325f;hp=ca40103646abf12c1c3a0b2d6b806dd62a1bc9c3;hpb=a58211f24f237b51e708b9e8b9fd463a709754a6;p=physik%2Fposic.git diff --git a/moldyn.h b/moldyn.h index ca40103..87c8948 100644 --- a/moldyn.h +++ b/moldyn.h @@ -58,6 +58,12 @@ typedef struct s_atom { #define DEFAULT_ATOM_ATTR 0x74 // 1,2,3 body interaction + visualize +/* special list structure for low mem approach */ +typedef struct s_lowmem_list { + int *head; + int *list; +} t_lowmem_list; + /* cell lists */ typedef struct s_linkcell { int nx,ny,nz; /* amount of cells in x, y and z direction */ @@ -66,6 +72,8 @@ typedef struct s_linkcell { double x,y,z; /* the actual cell lengthes */ #ifdef STATIC_LISTS int **subcell; /* pointer to the cell lists */ +#elif LOWMEM_LISTS + t_lowmem_list *subcell; /* low mem approach list */ #else t_list *subcell; /* pointer to the cell lists */ #endif @@ -352,12 +360,13 @@ typedef struct s_vb { #define FCC 0x02 #define DIAMOND 0x04 #define ZINCBLENDE 0x08 +#define NONE 0x80 /* * more includes */ -#include "pse.h" +//#include "pse.h" /* * @@ -423,6 +432,8 @@ int link_cell_init(t_moldyn *moldyn,u8 vol); int link_cell_update(t_moldyn *moldyn); #ifdef STATIC_LISTS int link_cell_neighbour_index(t_moldyn *moldyn,int i,int j,int k,int **cell); +#elif LOWMEM_LISTS +int link_cell_neighbour_index(t_moldyn *moldyn,int i,int j,int k,int *cell); #else int link_cell_neighbour_index(t_moldyn *moldyn,int i,int j,int k,t_list *cell); #endif @@ -452,6 +463,10 @@ int moldyn_load(t_moldyn *moldyn); int process_2b_bonds(t_moldyn *moldyn,void *data, int (*process)(t_moldyn *moldyn,t_atom *itom,t_atom *jtom, void *data,u8 bc)); +int process_neighbours(t_moldyn *moldyn,void *data,t_atom *atom, + int (*process)(t_moldyn *moldyn,t_atom *atom,t_atom *natom, + void *data,u8 bc)); + int get_line(int fd,char *line,int max); int pair_correlation_init(t_moldyn *moldyn,double dr); @@ -468,5 +483,7 @@ int visual_bonds_process(t_moldyn *moldyn,t_atom *itom,t_atom *jtom, void *data,u8 bc); int visual_atoms(t_moldyn *moldyn); +int fpu_set_rtd(void); + #endif