2 * mdrun.h - mdrun header file
4 * author: Frank Zirkelbach <frank.zirkelbach@physik.uni-augsburg.de>
11 #include <sys/types.h>
18 /* main molecular dynamics api */
25 #include "list/list.h"
28 #include "potentials/harmonic_oscillator.h"
29 #include "potentials/lennard_jones.h"
30 #include "potentials/albe.h"
32 #include "potentials/tersoff_orig.h"
34 #include "potentials/tersoff.h"
38 * datatypes & definitions
41 typedef struct s_stage {
47 #define STAGE_INSERT_ATOMS 0x01
48 #define STAGE_CONTINUE 0x02
49 #define STAGE_ANNEAL 0x03
50 #define STAGE_CHAATTR 0x04
51 #define STAGE_CHSATTR 0x05
53 typedef struct s_mdrun {
54 char cfile[128]; // config file
56 u8 intalgo; // integration algorithm
57 double timestep; // timestep
59 u8 potential; // potential
60 double cutoff; // cutoff radius
61 double nnd; // next neighbour distance
63 t_3dvec dim; // simulation volume
64 u8 pbcx; // periodic boundary conditions
68 int element1; // element 1
70 int element2; // element 2
72 double lc; // lattice constant
73 int lx; // amount of lc units
76 u8 lattice; // type of lattice
78 u8 sattr; // system attributes
79 double temperature; // temperature
80 double pressure; // pressure
83 int relax_steps; // amount of relaxation steps
85 int prerun; // amount of loops in first run
94 int avgskip; // average skip
95 char sdir[128]; // save root
97 t_list stage; // stages
98 int s_cnt; // stage counter
101 #define SATTR_PRELAX 0x01
102 #define SATTR_TRELAX 0x02
103 #define SATTR_AVGRST 0x04
105 typedef struct s_insert_atoms_params {
107 double x0,y0,z0,x1,y1,z1;
115 } t_insert_atoms_params;
117 #define INS_TOTAL 0x01
118 #define INS_REGION 0x02
120 typedef struct s_continue_params {
124 typedef struct s_anneal_params {
130 typedef struct s_chaattr_params {
138 #define CHAATTR_TOTALV 0x01
139 #define CHAATTR_REGION 0x02
140 #define CHAATTR_ELEMENT 0x04
142 typedef struct s_chsattr_params {
152 #define CHSATTR_PCTRL 0x01
153 #define CHSATTR_TCTRL 0x02
154 #define CHSATTR_PRELAX 0x04
155 #define CHSATTR_TRELAX 0x08
156 #define CHSATTR_AVGRST 0x10
157 #define CHSATTR_RSTEPS 0x20
160 * function prototypes