2 * albe_orig.h - albe potential header file
4 * author: Frank Zirkelbach <frank.zirkelbach@physik.uni-augsburg.de>
14 #define ALBE_ORIG_MAXN 16*27
16 /* albe exchange type */
17 typedef struct s_albe_orig_exchange {
23 t_3dvec dist_ik[ALBE_ORIG_MAXN];
24 double d_ik2[ALBE_ORIG_MAXN];
25 double d_ik[ALBE_ORIG_MAXN];
27 double f_c_ik[ALBE_ORIG_MAXN];
28 double df_c_ik[ALBE_ORIG_MAXN];
30 double g[ALBE_ORIG_MAXN];
31 double dg[ALBE_ORIG_MAXN];
32 double cos_theta[ALBE_ORIG_MAXN];
47 } t_albe_orig_exchange;
49 /* albe mult (2!) potential parameters */
50 typedef struct s_albe_orig_mult_params {
51 double S[2]; /* albe cutoff radii */
52 double S2[2]; /* albe cutoff radii squared */
53 double R[2]; /* albe cutoff radii */
54 double Smixed; /* mixed S radius */
55 double S2mixed; /* mixed S radius squared */
56 double Rmixed; /* mixed R radius */
57 double A[2]; /* factor of albe attractive part */
58 double B[2]; /* factor of albe repulsive part */
59 double r0[2]; /* r_0 */
60 double Amixed; /* mixed A factor */
61 double Bmixed; /* mixed B factor */
62 double r0_mixed; /* mixed r_0 */
63 double lambda[2]; /* albe lambda */
64 double lambda_m; /* mixed lambda */
65 double mu[2]; /* albe mu */
66 double mu_m; /* mixed mu */
83 t_albe_orig_exchange exchange; /* exchange between 2bp and 3bp calc */
84 } t_albe_orig_mult_params;
86 /* function prototypes */
87 int albe_orig_mult_set_params(t_moldyn *moldyn,int element1,int elemnt2);
88 int albe_orig_mult_3bp_j1(t_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc);
89 int albe_orig_mult_3bp_k1(t_moldyn *moldyn,
90 t_atom *ai,t_atom *aj,t_atom *ak,u8 bc);
91 int albe_orig_mult_3bp_j2(t_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc);
92 int albe_orig_mult_3bp_k2(t_moldyn *moldyn,
93 t_atom *ai,t_atom *aj,t_atom *ak,u8 bc);
94 int albe_orig_mult_check_2b_bond(t_moldyn *moldyn,
95 t_atom *itom,t_atom *jtom,u8 bc);
97 /* albe potential parameter defines */