nearly finished tersoff potential ...
[physik/posic.git] / moldyn.h
index d98b428..9c63307 100644 (file)
--- a/moldyn.h
+++ b/moldyn.h
@@ -122,18 +122,58 @@ typedef struct s_lj_params {
        double epsilon4;
 } t_lj_params;
 
-typedef struct s_tersoff_params {
+/* tersoff exchange structure to exchange 2bp and 3bp calculated values */
+
+typedef struct s_tersoff_exchange {
+       double f_c,df_c;
+
+       t_3dvec dist_ij;
+       double d_ij;
+       double d_ij2;
+
+       double chi;
+
+       double *B;
+       double *mu;
+
+       double *beta;
+       double *n;
+       double *c;
+       double *d;
+       double *h;
+
+       double c2;
+       double d2;
+       double c2d2;
+
+       u8 run3bp;
+} t_tersoff_exchange;
+
+/* tersoff multi (2!) potential parameters */
+
+typedef struct s_tersoff_mult_params {
        double S[2];            /* tersoff cutoff radii */
        double R[2];            /* tersoff cutoff radii */
-       double Smixed           /* mixed S radius */
-       double Rmixed           /* mixed R radius */
-
-       double l_1,l_2;
-       double m_1,m_2;
-       double a_1,a_2;
-       double b_1,b_2;
-       double r_1,r_2;
-       double s_1,s_2;
+       double Smixed;          /* mixed S radius */
+       double Rmixed;          /* mixed R radius */
+       double A[2];            /* factor of tersoff attractive part */
+       double B[2];            /* factor of tersoff repulsive part */
+       double Amixed;          /* mixed A factor */
+       double Bmixed;          /* mixed B factor */
+       double lambda[2];       /* tersoff lambda */
+       double lambda_m;        /* mixed lambda */
+       double mu[2];           /* tersoff mu */
+       double mu_m;            /* mixed mu */
+
+       double chi;
+
+       double beta[2];
+       double n[2];
+       double c[2];
+       double d[2];
+       double h[2];
+
+       t_tersoff_exchange exchange;    /* exchange between 2bp and 3bp calc */
 } t_tersoff_params;
 
 /*