--- /dev/null
+/*
+ * harmonic_oscillator.h - harmonic oscillator potential header file
+ *
+ * author: Frank Zirkelbach <frank.zirkelbach@physik.uni-augsburg.de>
+ *
+ */
+
+#ifndef HARMONIC_OSCILLATOR_H
+#define HARMONIC_OSCILLATOR_H
+
+/* types */
+typedef struct s_ho_params {
+ double spring_constant;
+ double equilibrium_distance;
+} t_ho_params;
+
+/* function prototype */
+int harmonic_oscillator(t_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc);
+
+#endif
--- /dev/null
+/*
+ * lennard_jones.h - lennard jones potential header file
+ *
+ * author: Frank Zirkelbach <frank.zirkelbach@physik.uni-augsburg.de>
+ *
+ */
+
+#ifndef LENNARD_JONES_H
+#define LENNARD_JONES_H
+
+/* types */
+typedef struct s_lj_params {
+ double sigma6;
+ double sigma12;
+ double epsilon4;
+ double uc;
+} t_lj_params;
+
+/* function prototype */
+int lennard_jones(t_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc);
+
+#endif
--- /dev/null
+/*
+ * tersoff.h - tersoff potential header file
+ *
+ * author: Frank Zirkelbach <frank.zirkelbach@physik.uni-augsburg.de>
+ *
+ */
+
+#ifndef TERSOFF_H
+#define TERSOFF_H
+
+/* 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;
+
+ 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;
+} t_tersoff_exchange;
+
+/* tersoff mult (2!) potential parameters */
+typedef struct s_tersoff_mult_params {
+ double S[2]; /* tersoff cutoff radii */
+ double S2[2]; /* tersoff cutoff radii squared */
+ double R[2]; /* tersoff cutoff radii */
+ double Smixed; /* mixed S radius */
+ double S2mixed; /* mixed S radius squared */
+ double Rmixed; /* mixed R radius */
+ double A[2]; /* factor of tersoff attractive part */
+ double B[2]; /* factor of tersoff repulsive part */
+ double Amixed; /* mixed A factor */
+ double Bmixed; /* mixed B factor */
+ double lambda[2]; /* tersoff lambda */
+ double lambda_m; /* mixed lambda */
+ double mu[2]; /* tersoff mu */
+ double mu_m; /* mixed mu */
+
+ double chi;
+
+ double beta[2];
+ double n[2];
+ double c[2];
+ double d[2];
+ double h[2];
+
+ t_tersoff_exchange exchange; /* exchange between 2bp and 3bp calc */
+} t_tersoff_mult_params;
+
+/* function prototypes */
+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);
+
+#endif