X-Git-Url: https://www.hackdaworld.org/gitweb/?a=blobdiff_plain;f=potentials%2Ftersoff.h;fp=potentials%2Ftersoff.h;h=52e848f787b522feb6204c6e4d158bc12d629bbf;hb=0b96eb313c9bfec6272b1f8de0d99c4ce26d1686;hp=a04ed0246c15eee1d531b7b23ccd95d1ed4ed90a;hpb=ea612b88a0588b8f46fafaebf3b37fb46c83c0cf;p=physik%2Fposic.git diff --git a/potentials/tersoff.h b/potentials/tersoff.h index a04ed02..52e848f 100644 --- a/potentials/tersoff.h +++ b/potentials/tersoff.h @@ -8,45 +8,41 @@ #ifndef TERSOFF_H #define TERSOFF_H +#define TERSOFF_MAXN 16*27 + /* tersoff exchange type */ typedef struct s_tersoff_echange { - double f_c,df_c; - double f_a,df_a; t_3dvec dist_ij; double d_ij2; double d_ij; - double chi; + t_3dvec dist_ik[TERSOFF_MAXN]; + double d_ik2[TERSOFF_MAXN]; + double d_ik[TERSOFF_MAXN]; + + double f_c_ik[TERSOFF_MAXN]; + double df_c_ik[TERSOFF_MAXN]; + + double g[TERSOFF_MAXN]; + double dg[TERSOFF_MAXN]; + double cos_theta[TERSOFF_MAXN]; double *beta_i; - double *beta_j; double *n_i; - double *n_j; double *c_i; - double *c_j; double *d_i; - double *d_j; double *h_i; - double *h_j; double ci2; - double cj2; double di2; - double dj2; double ci2di2; - double cj2dj2; double betaini; - double betajnj; - - u8 run3bp; - u8 run2bp_post; - u8 d_ij_between_rs; double zeta_ij; - double zeta_ji; - t_3dvec dzeta_ij; - t_3dvec dzeta_ji; + double pre_dzeta; + + int kcount; } t_tersoff_exchange; /* tersoff mult (2!) potential parameters */ @@ -81,7 +77,11 @@ typedef struct s_tersoff_mult_params { int tersoff_mult_complete_params(t_tersoff_mult_params *p); int tersoff_mult_1bp(t_moldyn *moldyn,t_atom *ai); int tersoff_mult_2bp(t_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc); -int tersoff_mult_post_2bp(t_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc); -int tersoff_mult_3bp(t_moldyn *moldyn,t_atom *ai,t_atom *aj,t_atom *ak,u8 bc); +int tersoff_mult_3bp_j1(t_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc); +int tersoff_mult_3bp_k1(t_moldyn *moldyn, + t_atom *ai,t_atom *aj,t_atom *ak,u8 bc); +int tersoff_mult_3bp_j2(t_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc); +int tersoff_mult_3bp_k2(t_moldyn *moldyn, + t_atom *ai,t_atom *aj,t_atom *ak,u8 bc); #endif