double cutoff; /* cutoff radius */
double cutoff_square; /* square of the cutoff radius */
+ double nnd; /* nearest neighbour distance (optional) */
- t_linkcell lc; /* linked cell method */
+ t_linkcell lc; /* linked cell list interface */
double t; /* temperature */
#define MOLDYN_STAT_PBY 0x10 /* y */
#define MOLDYN_STAT_PBZ 0x20 /* and z direction */
-#define MOLDYN_1BP 0x00
-#define MOLDYN_2BP 0x01
-#define MOLDYN_3BP 0x02
+#define MOLDYN_1BP 0x00 /* care about single */
+#define MOLDYN_2BP 0x01 /* 2 body */
+#define MOLDYN_3BP 0x02 /* and 3 body particle pots */
+
+#define VSCALE_INIT_EQUI 0x00 /* initial, eq positions */
+#define VSCALE_BERENDSEN 0x01 /* berendsen control */
/*
#define K_BOLTZMANN 1.3807e-27 /* Nm/K */
#define AMU 1.660540e-27 /* kg */
+#define EV 1.60217733e-19 /* Nm */
#define FCC 0x01
#define DIAMOND 0x02
#define LJ_SIGMA_SI ((0.25*sqrt(3.0)*LC_SI)/1.122462) /* m */
#define LJ_EPSILON_SI (2.1678*1.60e-19) /* Nm */
+#define TM_R_SI 2.7e-10 /* m */
+#define TM_S_SI 3.0e-10 /* m */
+#define TM_A_SI (1830.8*EV) /* Nm */
+#define TM_B_SI (471.18*EV) /* Nm */
+#define TM_LAMBDA_SI 2.4799e10 /* 1/m */
+#define TM_MU_SI 1.7322e10 /* 1/m */
+#define TM_BETA_SI 1.1000e-6
+#define TM_N_SI 0.78734
+#define TM_C_SI 1.0039e5
+#define TM_D_SI 1.62170
+#define TM_H_SI (-0.59825)
+
+#define TM_R_C 1.8e-10 /* m */
+#define TM_S_C 2.1e-10 /* m */
+#define TM_A_C (1393.6*EV) /* Nm */
+#define TM_B_C (346.7*EV) /* Nm */
+#define TM_LAMBDA_C 3.4879e10 /* 1/m */
+#define TM_MU_C 2.2119e10 /* 1/m */
+#define TM_BETA_C 1.5724e-7
+#define TM_N_C 0.72751
+#define TM_C_C 3.8049e4
+#define TM_D_C 4.384
+#define TM_H_C (-0.57058)
+
+#define TM_CHI_SIC 0.9776
+
/*
*
int set_cutoff(t_moldyn *moldyn,double cutoff);
int set_temperature(t_moldyn *moldyn,double t);
int set_dim(t_moldyn *moldyn,double x,double y,double z,u8 visualize);
+int set_nn_dist(t_moldyn *moldyn,double dist);
int set_pbc(t_moldyn *moldyn,u8 x,u8 y,u8 z);
int set_potential1b(t_moldyn *moldyn,pf_func1b func,void *params);
int set_potential2b(t_moldyn *moldyn,pf_func2b func,void *params);
int destroy_atoms(t_moldyn *moldyn);
int thermal_init(t_moldyn *moldyn);
-int scale_velocity(t_moldyn *moldyn);
+int scale_velocity(t_moldyn *moldyn,u8 type);
double get_e_kin(t_moldyn *moldyn);
double get_e_pot(t_moldyn *moldyn);
int check_per_bound(t_moldyn *moldyn,t_3dvec *a);
int harmonic_oscillator(t_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc);
int lennard_jones(t_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc);
+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_3bp(t_moldyn *moldyn,t_atom *ai,t_atom *aj,t_atom *ak,u8 bc);