mdrun iinit. untested + not working by now!
[physik/posic.git] / mdrun.h
1 /*
2  * mdrun.h - mdrun header file
3  *
4  * author: Frank Zirkelbach <frank.zirkelbach@physik.uni-augsburg.de>
5  *
6  */
7
8 #ifndef MDRUN_H
9 #define MDRUN_H
10
11 #include <sys/types.h>
12 #include <sys/stat.h>
13 #include <fcntl.h>
14
15 #include <math.h>
16
17 /* main molecular dynamics api */
18 #include "moldyn.h"
19
20 /* list api */
21 #include "list/list.h"
22
23 /* potentials */
24 #include "potentials/harmonic_oscillator.h"
25 #include "potentials/lennard_jones.h"
26 #include "potentials/albe.h"
27 #ifdef TERSOFF_ORIG
28 #include "potentials/tersoff_orig.h"
29 #else
30 #include "potentials/tersoff.h"
31 #endif
32
33 /*
34  * datatypes
35  */
36
37 typedef struct s_stage {
38         u8 type;
39         u8 attr;
40         int runs;
41 } t_stage;
42
43 typedef struct s_mdrun {
44         char cfile[128];                        // config file
45         u8 intalgo;                             // integration algorithm
46         double timestep;                        // timestep
47         u8 potential;                           // potential
48         double cutoff;                          // cutoff radius
49         t_3dvec dim;                            // simulation volume
50         u8 pbcx;                                // periodic boundary conditions
51         u8 pbcy;
52         u8 pbcz;
53         int element1;                           // element 1
54         double m1;
55         int element2;                           // element 2
56         double m2;
57         double lc;                              // lattice constant
58         int lx;                                 // amount of lc units
59         int ly;
60         int lz;
61         u8 aattrib;                             // atom attributes
62         u8 lattice;                             // type of lattice
63         double temperature;                     // temperature
64         double pressure;                        // pressure
65         double p_tau;                           // pressure tau
66         double t_tau;                           // temperature tau
67         int prerun;                             // amount of loops in first run
68         int elog;                               // logging
69         int tlog;
70         int plog;
71         int vlog;
72         int save;
73         int visualize;
74         u8 vis;
75         int avgskip;                            // average skip
76         char sdir[128];                         // save root
77         t_list stage;                           // list of stages
78 } t_mdrun;
79
80 /*
81  * function prototypes
82  */
83
84
85 #endif