2 * tersoff.h - tersoff potential header file
4 * author: Frank Zirkelbach <frank.zirkelbach@physik.uni-augsburg.de>
11 #define TERSOFF_MAXN 16*27
13 /* tersoff exchange type */
14 typedef struct s_tersoff_echange {
20 t_3dvec dist_ik[TERSOFF_MAXN];
21 double d_ik2[TERSOFF_MAXN];
22 double d_ik[TERSOFF_MAXN];
24 double f_c_ik[TERSOFF_MAXN];
25 double df_c_ik[TERSOFF_MAXN];
27 double g[TERSOFF_MAXN];
28 double dg[TERSOFF_MAXN];
29 double cos_theta[TERSOFF_MAXN];
37 /* tersoff mult (2!) potential parameters */
38 typedef struct s_tersoff_mult_params {
39 double S[2]; /* tersoff cutoff radii */
40 double S2[2]; /* tersoff cutoff radii squared */
41 double R[2]; /* tersoff cutoff radii */
42 double Smixed; /* mixed S radius */
43 double S2mixed; /* mixed S radius squared */
44 double Rmixed; /* mixed R radius */
45 double A[2]; /* factor of tersoff attractive part */
46 double B[2]; /* factor of tersoff repulsive part */
47 double Amixed; /* mixed A factor */
48 double Bmixed; /* mixed B factor */
49 double lambda[2]; /* tersoff lambda */
50 double lambda_m; /* mixed lambda */
51 double mu[2]; /* tersoff mu */
52 double mu_m; /* mixed mu */
67 t_tersoff_exchange exchange; /* exchange between 2bp and 3bp calc */
68 } t_tersoff_mult_params;
70 /* function prototypes */
71 int tersoff_mult_set_params(t_moldyn *moldyn,int element1,int element2);
72 //int tersoff_mult_1bp(t_moldyn *moldyn,t_atom *ai);
73 int tersoff_mult_2bp(t_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc);
74 int tersoff_mult_3bp_j1(t_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc);
75 int tersoff_mult_3bp_k1(t_moldyn *moldyn,
76 t_atom *ai,t_atom *aj,t_atom *ak,u8 bc);
77 int tersoff_mult_3bp_j2(t_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc);
78 int tersoff_mult_3bp_k2(t_moldyn *moldyn,
79 t_atom *ai,t_atom *aj,t_atom *ak,u8 bc);
80 int tersoff_mult_check_2b_bond(t_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc);
82 /* tersoff potential paramter defines */
85 #define TM_R_SI 2.7 /* A */
86 #define TM_S_SI 3.0 /* A */
87 #define TM_A_SI (1830.8*EV) /* NA */
88 #define TM_B_SI (471.18*EV) /* NA */
89 #define TM_LAMBDA_SI 2.4799 /* 1/A */
90 #define TM_MU_SI 1.7322 /* 1/A */
91 #define TM_BETA_SI 1.1000e-6
92 #define TM_N_SI 0.78734
93 #define TM_C_SI 1.0039e5
94 #define TM_D_SI 16.217
95 #define TM_H_SI -0.59825
98 #define TM_R_C 1.8 /* A */
99 #define TM_S_C 2.1 /* A */
100 #define TM_A_C (1393.6*EV) /* NA */
101 #define TM_B_C (346.7*EV) /* NA */
102 #define TM_LAMBDA_C 3.4879 /* 1/A */
103 #define TM_MU_C 2.2119 /* 1/A */
104 #define TM_BETA_C 1.5724e-7
105 #define TM_N_C 0.72751
106 #define TM_C_C 3.8049e4
108 #define TM_H_C -0.57058
110 // mixed: silicon carbide
111 #define TM_CHI_SIC 0.9776
112 #define TM_LC_SIC 4.32 /* A */