#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 */
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;
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 */
#define DIAMOND 0x04
#define ZINCBLENDE 0x08
+/*
+ * more includes
+ */
+
+#include "pse.h"
+
/*
*
* function prototypes