fixed bond analyze, introduced more comfortable set potential function,
[physik/posic.git] / moldyn.h
index 1647c1c..de6157c 100644 (file)
--- a/moldyn.h
+++ b/moldyn.h
@@ -217,6 +217,10 @@ typedef struct s_moldyn {
        t_random random;        /* random interface */
 
        double debug;           /* debugging stuff, ignore */
+
+       /* potential 2 body check function */
+       int (*check_2b_bond)(struct s_moldyn *moldyn,
+                            t_atom *itom,t_atom *jtom,u8 bc);
 } t_moldyn;
 
 typedef struct s_pcc {
@@ -288,6 +292,7 @@ typedef struct s_ba {
 #define MOLDYN_POTENTIAL_HO            0x00
 #define MOLDYN_POTENTIAL_LJ            0x01
 #define MOLDYN_POTENTIAL_TM            0x02
+#define MOLDYN_POTENTIAL_AM            0x03
 
 #define LOG_TOTAL_ENERGY               0x01
 #define LOG_TOTAL_MOMENTUM             0x02
@@ -330,77 +335,6 @@ typedef struct s_ba {
 //#define LJ_SIGMA_SI          (0.5*sqrt(2.0)*LC_SI/1.122462)          /* A */
 #define LJ_EPSILON_SI          (2.1678*EV)                             /* NA */
 
-#define TM_R_SI                        2.7                             /* A */
-#define TM_S_SI                        3.0                             /* A */
-#define TM_A_SI                        (1830.8*EV)                     /* NA */
-#define TM_B_SI                        (471.18*EV)                     /* NA */
-#define TM_LAMBDA_SI           2.4799                          /* 1/A */
-#define TM_MU_SI               1.7322                          /* 1/A */
-#define TM_BETA_SI             1.1000e-6
-#define TM_N_SI                        0.78734
-#define TM_C_SI                        1.0039e5
-#define TM_D_SI                        16.217
-#define TM_H_SI                        -0.59825
-
-#define TM_R_C                 1.8                             /* A */
-#define TM_S_C                 2.1                             /* A */
-#define TM_A_C                 (1393.6*EV)                     /* NA */
-#define TM_B_C                 (346.7*EV)                      /* NA */
-#define TM_LAMBDA_C            3.4879                          /* 1/A */
-#define TM_MU_C                        2.2119                          /* 1/A */
-#define TM_BETA_C              1.5724e-7
-#define TM_N_C                 0.72751
-#define TM_C_C                 3.8049e4
-#define TM_D_C                 4.384
-#define TM_H_C                 -0.57058
-
-#define TM_CHI_SIC             0.9776
-
-#define TM_LC_SIC              4.32                            /* A */
-
-#define ALBE_R_SI              (2.82-0.14)
-#define ALBE_S_SI              (2.82+0.14)
-#define ALBE_A_SI              (3.24*EV/0.842)
-#define ALBE_B_SI              (-1.842*3.24*EV/0.842)
-#define ALBE_R0_SI             2.232
-#define ALBE_LAMBDA_SI         (1.4761*sqrt(2.0*1.842))
-#define ALBE_MU_SI             (1.4761*sqrt(2.0/1.842))
-#define ALBE_GAMMA_SI          0.114354
-#define ALBE_C_SI              2.00494
-#define ALBE_D_SI              0.81472
-#define ALBE_H_SI              0.259
-
-#define ALBE_LC_SI             5.429
-
-#define ALBE_R_C               (2.00-0.15)
-#define ALBE_S_C               (2.00+0.15)
-#define ALBE_A_C               (6.00*EV/1.167)
-#define ALBE_B_C               (-2.167*6.00*EV/1.167)
-#define ALBE_R0_C              1.4276
-#define ALBE_LAMBDA_C          (2.0099*sqrt(2.0*2.167))
-#define ALBE_MU_C              (2.0099*sqrt(2.0/2.167))
-#define ALBE_GAMMA_C           0.11233
-#define ALBE_C_C               181.910
-#define ALBE_D_C               6.28433
-#define ALBE_H_C               0.5556
-
-#define ALBE_LC_C              3.566
-
-#define ALBE_R_SIC             (2.40-0.20)
-#define ALBE_S_SIC             (2.40+0.20)
-#define ALBE_A_SIC             (4.36*EV/0.847)
-#define ALBE_B_SIC             (-1.847*4.36*EV/0.847)
-#define ALBE_R0_SIC            1.79
-#define ALBE_LAMBDA_SIC                (1.6991*sqrt(2.0*1.847))
-#define ALBE_MU_SIC            (1.6991*sqrt(2.0/1.847))
-#define ALBE_GAMMA_SIC         0.011877
-#define ALBE_C_SIC             273987
-#define ALBE_D_SIC             180.314
-#define ALBE_H_SIC             0.68
-
-#define ALBE_LC_SIC            4.359
-
-
 /*
  * lattice types
  */
@@ -415,10 +349,6 @@ typedef struct s_ba {
  *
  */
 
-typedef int (*pf_func1b)(t_moldyn *,t_atom *);
-typedef int (*pf_func2b)(t_moldyn *,t_atom *,t_atom *,u8);
-typedef int (*pf_func3b)(t_moldyn *,t_atom *,t_atom *,t_atom *,u8);
-
 int moldyn_init(t_moldyn *moldyn,int argc,char **argv);
 int moldyn_shutdown(t_moldyn *moldyn);
 
@@ -431,14 +361,7 @@ int set_pt_scale(t_moldyn *moldyn,u8 ptype,double ptc,u8 ttype,double ttc);
 int set_dim(t_moldyn *moldyn,double x,double y,double z,u8 visualize);
 int set_nn_dist(t_moldyn *moldyn,double dist);
 int set_pbc(t_moldyn *moldyn,u8 x,u8 y,u8 z);
-int set_potential1b(t_moldyn *moldyn,pf_func1b func);
-int set_potential2b(t_moldyn *moldyn,pf_func2b func);
-int set_potential3b_j1(t_moldyn *moldyn,pf_func2b func);
-int set_potential3b_j2(t_moldyn *moldyn,pf_func2b func);
-int set_potential3b_j3(t_moldyn *moldyn,pf_func2b func);
-int set_potential3b_k1(t_moldyn *moldyn,pf_func3b func);
-int set_potential3b_k2(t_moldyn *moldyn,pf_func3b func);
-int set_potential_params(t_moldyn *moldyn,void *params);
+int set_potential(t_moldyn *moldyn,u8 type);
 
 int set_avg_skip(t_moldyn *moldyn,int skip);