changed signes -> more intuitive!
[physik/posic.git] / moldyn.h
index 51ad482..36e701e 100644 (file)
--- a/moldyn.h
+++ b/moldyn.h
@@ -33,11 +33,13 @@ typedef struct s_virial {
 
 /* the atom of the md simulation */
 typedef struct s_atom {
+       t_3dvec r_0;            /* initial position */
        t_3dvec r;              /* position */
        t_3dvec v;              /* velocity */
        t_3dvec f;              /* force */
        t_virial virial;        /* virial */
        double e;               /* site energy */
+       double ekin;            /* kinetic energy */
        int element;            /* number of element in pse */
        double mass;            /* atom mass */
        u8 brand;               /* brand id */
@@ -76,6 +78,9 @@ typedef struct s_moldyn_schedule {
 
 /* moldyn main structure */
 typedef struct s_moldyn {
+       int argc;               /* number of arguments */
+       char **args;            /* pointer to arguments */
+
        int count;              /* total amount of atoms */
        double mass;            /* total system mass */
        t_atom *atom;           /* pointer to the atoms */
@@ -322,7 +327,7 @@ typedef struct s_moldyn {
 #define ALBE_R_SI              (2.82-0.14)
 #define ALBE_S_SI              (2.82+0.14)
 #define ALBE_A_SI              (3.24*EV/0.842)
-#define ALBE_B_SI              (1.842*3.24*EV/0.842)
+#define ALBE_B_SI              (-1.842*3.24*EV/0.842)
 #define ALBE_R0_SI             2.232
 #define ALBE_LAMBDA_SI         (1.4761*sqrt(2.0*1.842))
 #define ALBE_MU_SI             (1.4761*sqrt(2.0/1.842))
@@ -336,7 +341,7 @@ typedef struct s_moldyn {
 #define ALBE_R_C               (2.00-0.15)
 #define ALBE_S_C               (2.00+0.15)
 #define ALBE_A_C               (6.00*EV/1.167)
-#define ALBE_B_C               (2.167*6.00*EV/1.167)
+#define ALBE_B_C               (-2.167*6.00*EV/1.167)
 #define ALBE_R0_C              1.4276
 #define ALBE_LAMBDA_C          (2.0099*sqrt(2.0*2.167))
 #define ALBE_MU_C              (2.0099*sqrt(2.0/2.167))
@@ -348,9 +353,9 @@ typedef struct s_moldyn {
 #define ALBE_LC_C              3.566
 
 #define ALBE_R_SIC             (2.40-0.20)
-#define ALBE_S_SIC             (2.40+0.10)
+#define ALBE_S_SIC             (2.40+0.20)
 #define ALBE_A_SIC             (4.36*EV/0.847)
-#define ALBE_B_SIC             (1.847*4.36*EV/0.847)
+#define ALBE_B_SIC             (-1.847*4.36*EV/0.847)
 #define ALBE_R0_SIC            1.79
 #define ALBE_LAMBDA_SIC                (1.6991*sqrt(2.0*1.847))
 #define ALBE_MU_SIC            (1.6991*sqrt(2.0/1.847))
@@ -410,11 +415,11 @@ int moldyn_log_shutdown(t_moldyn *moldyn);
 
 int create_lattice(t_moldyn *moldyn,u8 type,double lc,int element,double mass,
                    u8 attr,u8 brand,int a,int b,int c,t_3dvec *origin);
+int add_atom(t_moldyn *moldyn,int element,double mass,u8 brand,u8 attr,
+             t_3dvec *r,t_3dvec *v);
 int cubic_init(int a,int b,int c,double lc,t_atom *atom,t_3dvec *origin);
 int fcc_init(int a,int b,int c,double lc,t_atom *atom,t_3dvec *origin);
 int diamond_init(int a,int b,int c,double lc,t_atom *atom,t_3dvec *origin);
-int add_atom(t_moldyn *moldyn,int element,double mass,u8 brand,u8 attr,
-             t_3dvec *r,t_3dvec *v);
 int destroy_atoms(t_moldyn *moldyn);
 
 int thermal_init(t_moldyn *moldyn,u8 equi_init);