2 * tersoff_orig.h - tersoff potential header file
4 * author: Frank Zirkelbach <frank.zirkelbach@physik.uni-augsburg.de>
11 /* tersoff exchange type */
12 typedef struct s_tersoff_echange {
52 /* tersoff mult (2!) potential parameters */
53 typedef struct s_tersoff_mult_params {
54 double S[2]; /* tersoff cutoff radii */
55 double S2[2]; /* tersoff cutoff radii squared */
56 double R[2]; /* tersoff cutoff radii */
57 double Smixed; /* mixed S radius */
58 double S2mixed; /* mixed S radius squared */
59 double Rmixed; /* mixed R radius */
60 double A[2]; /* factor of tersoff attractive part */
61 double B[2]; /* factor of tersoff repulsive part */
62 double Amixed; /* mixed A factor */
63 double Bmixed; /* mixed B factor */
64 double lambda[2]; /* tersoff lambda */
65 double lambda_m; /* mixed lambda */
66 double mu[2]; /* tersoff mu */
67 double mu_m; /* mixed mu */
77 t_tersoff_exchange exchange; /* exchange between 2bp and 3bp calc */
78 } t_tersoff_mult_params;
80 /* function prototypes */
81 int tersoff_mult_complete_params(t_tersoff_mult_params *p);
82 int tersoff_mult_1bp(t_moldyn *moldyn,t_atom *ai);
83 int tersoff_mult_2bp(t_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc);
84 int tersoff_mult_post_2bp(t_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc);
85 int tersoff_mult_3bp(t_moldyn *moldyn,t_atom *ai,t_atom *aj,t_atom *ak,u8 bc);