X-Git-Url: https://hackdaworld.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=moldyn.h;h=1e9db2a3ae3527e17b33b37dd03b641c5ddceeb9;hb=787848dc9bf3daa2ccb76296de904688cc504a45;hp=6fda9ceef79e9853c0967c31004a59240e83c820;hpb=452a348351ae8a2255809918a05683d2510655ce;p=physik%2Fposic.git diff --git a/moldyn.h b/moldyn.h index 6fda9ce..1e9db2a 100644 --- a/moldyn.h +++ b/moldyn.h @@ -117,12 +117,8 @@ typedef struct s_moldyn { int (*func3b_j1)(struct s_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc); int (*func3b_j2)(struct s_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc); int (*func3b_j3)(struct s_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc); -#ifdef PTHREADS - void *(*func3b_k1)(void *ptr); -#else int (*func3b_k1)(struct s_moldyn *moldyn, t_atom *ai,t_atom *aj,t_atom *ak,u8 bck); -#endif int (*func3b_k2)(struct s_moldyn *moldyn, t_atom *ai,t_atom *aj,t_atom *ak,u8 bck); void *pot_params; @@ -254,6 +250,15 @@ typedef struct s_vb { int fd; } t_vb; +typedef struct s_part_vals { + double r; + t_3dvec p; + t_3dvec d; +} t_part_vals; + +#define PART_INSIDE_R 1 +#define PART_OUTSIDE_R 2 + /* * * defines @@ -401,13 +406,17 @@ int moldyn_set_log(t_moldyn *moldyn,u8 type,int timer); int moldyn_log_shutdown(t_moldyn *moldyn); int create_lattice(t_moldyn *moldyn,u8 type,double lc,int element,double mass, - u8 attr,u8 brand,int a,int b,int c,t_3dvec *origin); + u8 attr,u8 brand,int a,int b,int c,t_3dvec *origin, + u8 p_type,t_part_vals *p_vals); int add_atom(t_moldyn *moldyn,int element,double mass,u8 brand,u8 attr, t_3dvec *r,t_3dvec *v); int del_atom(t_moldyn *moldyn,int tag); -int cubic_init(int a,int b,int c,double lc,t_atom *atom,t_3dvec *origin); -int fcc_init(int a,int b,int c,double lc,t_atom *atom,t_3dvec *origin); -int diamond_init(int a,int b,int c,double lc,t_atom *atom,t_3dvec *origin); +int cubic_init(int a,int b,int c,double lc,t_atom *atom,t_3dvec *origin, + u8 p_type,t_part_vals *p_vals); +int fcc_init(int a,int b,int c,double lc,t_atom *atom,t_3dvec *origin, + u8 p_type,t_part_vals *p_vals); +int diamond_init(int a,int b,int c,double lc,t_atom *atom,t_3dvec *origin, + u8 p_type,t_part_vals *p_vals); int destroy_atoms(t_moldyn *moldyn); int thermal_init(t_moldyn *moldyn,u8 equi_init); @@ -485,7 +494,7 @@ int bond_analyze(t_moldyn *moldyn,double *quality); int visual_init(t_moldyn *moldyn,char *filebase); int visual_bonds_process(t_moldyn *moldyn,t_atom *itom,t_atom *jtom, void *data,u8 bc); -#ifdef PTHREADS +#ifdef VISUAL_THREAD void *visual_atoms(void *ptr); #else int visual_atoms(t_moldyn *moldyn);