added set_temp and set_timestep stages
[physik/posic.git] / mdrun.h
diff --git a/mdrun.h b/mdrun.h
index 83a8196..9030072 100644 (file)
--- a/mdrun.h
+++ b/mdrun.h
@@ -18,9 +18,6 @@
 /* main molecular dynamics api */
 #include "moldyn.h"
 
-/* elements */
-#include "pse.h"
-
 /* list api */
 #include "list/list.h"
 
@@ -44,15 +41,21 @@ typedef struct s_stage {
        u8 executed;
 } t_stage;
 
+#define STAGE_DISPLACE_ATOM                    0x00
 #define STAGE_INSERT_ATOMS                     0x01
-#define STAGE_CONTINUE                         0x02
-#define STAGE_ANNEAL                           0x03
-#define STAGE_CHAATTR                          0x04
-#define STAGE_CHSATTR                          0x05
+#define STAGE_INSERT_MIXED_ATOMS               0x02
+#define STAGE_CONTINUE                         0x03
+#define STAGE_ANNEAL                           0x04
+#define STAGE_CHAATTR                          0x05
+#define STAGE_CHSATTR                          0x06
+#define STAGE_SET_TEMP                         0x07
+#define STAGE_SET_TIMESTEP                     0x08
 
 typedef struct s_mdrun {
        char cfile[128];                        // config file
 
+       char continue_file[128];                // moldyn save file to continue
+
        u8 intalgo;                             // integration algorithm
        double timestep;                        // timestep
 
@@ -102,6 +105,11 @@ typedef struct s_mdrun {
 #define SATTR_TRELAX                           0x02
 #define SATTR_AVGRST                           0x04
 
+typedef struct s_displace_atom_params {
+       int nr;
+       double dx,dy,dz;
+} t_displace_atom_params;
+
 typedef struct s_insert_atoms_params {
        u8 type;
        double x0,y0,z0,x1,y1,z1;
@@ -114,8 +122,22 @@ typedef struct s_insert_atoms_params {
        u8 attr;
 } t_insert_atoms_params;
 
+typedef struct s_insert_mixed_atoms_params {
+       int element1;
+       int element2;
+       int amount1;
+       int amount2;
+       u8 brand1;
+       u8 brand2;
+       u8 attr1;
+       u8 attr2;
+       double crmin;
+       double crmax;
+} t_insert_mixed_atoms_params;
+
 #define INS_TOTAL                              0x01
 #define INS_REGION                             0x02
+#define INS_POS                                        0x03
 
 typedef struct s_continue_params {
        int runs;
@@ -156,6 +178,18 @@ typedef struct s_chsattr_params {
 #define CHSATTR_AVGRST                         0x10
 #define CHSATTR_RSTEPS                         0x20
 
+typedef struct s_set_temp_params {
+       u8 type;
+       double val;
+} t_set_temp_params;
+
+#define SET_TEMP_CURRENT                       0x01
+#define SET_TEMP_VALUE                         0x02
+
+typedef struct s_set_timestep_params {
+       double tau;
+} t_set_timestep_params;
+
 /*
  * function prototypes
  */