X-Git-Url: https://hackdaworld.org/gitweb/?a=blobdiff_plain;f=moldyn.h;h=b2d6a3405ff13d3f66a1d60557510ef4397aaa1f;hb=97dc63eb6a519b8e1f4fbfaa9760dd94539436b0;hp=9d49dfa809468f8d8b77fbe59fb08cc6bbc2ee2b;hpb=d7f67c88195ab155f2737e57cc5e81973d3feb0c;p=physik%2Fposic.git diff --git a/moldyn.h b/moldyn.h index 9d49dfa..b2d6a34 100644 --- a/moldyn.h +++ b/moldyn.h @@ -56,6 +56,8 @@ typedef struct s_atom { #define ATOM_ATTR_2BP 0x20 /* pair potential */ #define ATOM_ATTR_3BP 0x40 /* 3 body potential */ +#define DEFAULT_ATOM_ATTR 0x74 // 1,2,3 body interaction + visualize + /* cell lists */ typedef struct s_linkcell { int nx,ny,nz; /* amount of cells in x, y and z direction */ @@ -102,15 +104,18 @@ typedef struct s_moldyn { double volume; /* volume of sim cell (dim.x*dim.y*dim.z) */ /* potential force function and parameter pointers */ - int (*func1b)(struct s_moldyn *moldyn,t_atom *ai); - int (*func2b)(struct s_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc); - 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); - int (*func3b_k1)(struct s_moldyn *moldyn, - t_atom *ai,t_atom *aj,t_atom *ak,u8 bck); - int (*func3b_k2)(struct s_moldyn *moldyn, - t_atom *ai,t_atom *aj,t_atom *ak,u8 bck); + int (*func_i0)(struct s_moldyn *moldyn,t_atom *ai); + int (*func_j0)(struct s_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc); + int (*func_j0_k0)(struct s_moldyn *moldyn, + t_atom *ai,t_atom *aj,t_atom *ak,u8 bck); + int (*func_j0e)(struct s_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc); + int (*func_j1)(struct s_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc); + int (*func_j1_k0)(struct s_moldyn *moldyn, + t_atom *ai,t_atom *aj,t_atom *ak,u8 bck); + int (*func_j1c)(struct s_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc); + int (*func_j1_k1)(struct s_moldyn *moldyn, + t_atom *ai,t_atom *aj,t_atom *ak,u8 bck); + int (*func_j1e)(struct s_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc); void *pot_params; unsigned char run3bp; @@ -143,6 +148,7 @@ typedef struct s_moldyn { double p_ref; /* reference pressure */ double p; /* actual pressure (computed by virial) */ + double px,py,pz; /* components of pressure */ double p_sum; /* sum over all p */ double p_avg; /* average value of p */ @@ -301,6 +307,7 @@ typedef struct s_vb { #define MOLDYN_POTENTIAL_LJ 0x01 #define MOLDYN_POTENTIAL_TM 0x02 #define MOLDYN_POTENTIAL_AM 0x03 +#define MOLDYN_POTENTIAL_AO 0x04 #define LOG_TOTAL_ENERGY 0x01 #define LOG_TOTAL_MOMENTUM 0x02 @@ -350,6 +357,12 @@ typedef struct s_vb { #define DIAMOND 0x04 #define ZINCBLENDE 0x08 +/* + * more includes + */ + +#include "pse.h" + /* * * function prototypes