introduce a 2body bond function with callback, modified pair corr calc
[physik/posic.git] / moldyn.h
index 83b3a86..1647c1c 100644 (file)
--- a/moldyn.h
+++ b/moldyn.h
@@ -219,6 +219,19 @@ typedef struct s_moldyn {
        double debug;           /* debugging stuff, ignore */
 } t_moldyn;
 
+typedef struct s_pcc {
+       int o1;
+       int o2;
+       double dr;
+       double *stat;
+} t_pcc;
+
+typedef struct s_ba {
+       int *acnt;
+       int *bcnt;
+       int tcnt;
+} t_ba;
+
 /*
  *
  *  defines
@@ -494,12 +507,21 @@ int check_per_bound(t_moldyn *moldyn,t_3dvec *a);
 int moldyn_bc_check(t_moldyn *moldyn);
 
 int moldyn_read_save_file(t_moldyn *moldyn,char *file);
+int moldyn_free_save_file(t_moldyn *moldyn);
 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 get_line(int fd,char *line,int max);
 
 int pair_correlation_init(t_moldyn *moldyn,double dr);
 int calculate_diffusion_coefficient(t_moldyn *moldyn,double *dc);
+int calculate_pair_correlation_process(t_moldyn *moldyn,t_atom *itom,
+                                       t_atom *jtom,void *data,u8 bc);
 int calculate_pair_correlation(t_moldyn *moldyn,double dr,void *ptr);
+int bond_analyze_process(t_moldyn *moldyn,t_atom *itom,t_atom *jtom,
+                         void *data,u8 bc);
+int bond_analyze(t_moldyn *moldyn,double *quality);
 
 int visual_init(t_moldyn *moldyn,char *filebase);
 int visual_atoms(t_moldyn *moldyn);