more interstitial testing, added bond visualization
[physik/posic.git] / moldyn.h
index 83414dd..2d4ca48 100644 (file)
--- a/moldyn.h
+++ b/moldyn.h
@@ -49,6 +49,8 @@ typedef struct s_atom {
 
 #define ATOM_ATTR_FP   0x01    /* fixed position (bulk material) */
 #define ATOM_ATTR_HB   0x02    /* coupled to heat bath (velocity scaling) */
+#define ATOM_ATTR_VA   0x04    /* visualize this atom */
+#define ATOM_ATTR_VB   0x08    /* visualize the bond of this atom */
 
 #define ATOM_ATTR_1BP          0x10    /* single paricle potential */
 #define ATOM_ATTR_2BP          0x20    /* pair potential */
@@ -109,6 +111,7 @@ typedef struct s_moldyn {
        double cutoff;          /* cutoff radius */
        double cutoff_square;   /* square of the cutoff radius */
        double nnd;             /* nearest neighbour distance (optional) */
+       double bondlen[3];      /* bond lengthes (only 2 atomic systems) */
 
        t_linkcell lc;          /* linked cell list interface */
 
@@ -395,6 +398,7 @@ int moldyn_shutdown(t_moldyn *moldyn);
 
 int set_int_alg(t_moldyn *moldyn,u8 algo);
 int set_cutoff(t_moldyn *moldyn,double cutoff);
+int set_bondlen(t_moldyn *moldyn,double b0,double b1,double bm);
 int set_temperature(t_moldyn *moldyn,double t_ref);
 int set_pressure(t_moldyn *moldyn,double p_ref);
 int set_pt_scale(t_moldyn *moldyn,u8 ptype,double ptc,u8 ttype,double ttc);
@@ -473,8 +477,8 @@ int moldyn_bc_check(t_moldyn *moldyn);
 
 int get_line(int fd,char *line,int max);
 
-int visual_init(t_visual *v,char *filebase);
-int visual_atoms(t_visual *v,double time,t_atom *atom,int n);
+int visual_init(t_moldyn *moldyn,char *filebase);
+int visual_atoms(t_moldyn *moldyn);
 
 #endif