2 * albe.h - albe potential header file
4 * author: Frank Zirkelbach <frank.zirkelbach@physik.uni-augsburg.de>
11 #define ALBE_MAXN 16*27
13 /* albe exchange type */
14 typedef struct s_albe_exchange {
20 t_3dvec dist_ik[ALBE_MAXN];
21 double d_ik2[ALBE_MAXN];
22 double d_ik[ALBE_MAXN];
24 double f_c_ik[ALBE_MAXN];
25 double df_c_ik[ALBE_MAXN];
29 double cos_theta[ALBE_MAXN];
46 /* albe mult (2!) potential parameters */
47 typedef struct s_albe_mult_params {
48 double S[2]; /* albe cutoff radii */
49 double S2[2]; /* albe cutoff radii squared */
50 double R[2]; /* albe cutoff radii */
51 double Smixed; /* mixed S radius */
52 double S2mixed; /* mixed S radius squared */
53 double Rmixed; /* mixed R radius */
54 double A[2]; /* factor of albe attractive part */
55 double B[2]; /* factor of albe repulsive part */
56 double r0[2]; /* r_0 */
57 double Amixed; /* mixed A factor */
58 double Bmixed; /* mixed B factor */
59 double r0_mixed; /* mixed r_0 */
60 double lambda[2]; /* albe lambda */
61 double lambda_m; /* mixed lambda */
62 double mu[2]; /* albe mu */
63 double mu_m; /* mixed mu */
74 t_albe_exchange exchange; /* exchange between 2bp and 3bp calc */
77 /* function prototypes */
78 int albe_mult_complete_params(t_albe_mult_params *p);
79 int albe_mult_3bp_j1(t_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc);
80 int albe_mult_3bp_k1(t_moldyn *moldyn,
81 t_atom *ai,t_atom *aj,t_atom *ak,u8 bc);
82 int albe_mult_3bp_j2(t_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc);
83 int albe_mult_3bp_k2(t_moldyn *moldyn,
84 t_atom *ai,t_atom *aj,t_atom *ak,u8 bc);