Merge branch 'leadoff'
[physik/posic.git] / mdrun.h
diff --git a/mdrun.h b/mdrun.h
index fad1f62..b8ed70c 100644 (file)
--- a/mdrun.h
+++ b/mdrun.h
@@ -52,6 +52,9 @@ typedef struct s_stage {
 #define STAGE_SET_TIMESTEP                     0x08
 #define STAGE_FILL                             0x09
 #define STAGE_THERMAL_INIT                     0x10
+#define STAGE_DEL_ATOMS                                0x11
+#define STAGE_MODIFY_ATOMS                     0x12
+#define STAGE_CRT                              0x13
 
 typedef struct s_mdrun {
        char cfile[128];                        // config file
@@ -108,6 +111,17 @@ typedef struct s_displace_atom_params {
        double dx,dy,dz;
 } t_displace_atom_params;
 
+typedef struct s_del_atoms_params {
+       double r;
+       t_3dvec o;
+} t_del_atoms_params;
+
+typedef struct s_modify_aoms_params {
+       u8 type;
+       int tag;
+       t_3dvec ekin;
+} t_modify_atoms_params;
+
 typedef struct s_insert_atoms_params {
        u8 type;
        double x0,y0,z0,x1,y1,z1;
@@ -134,8 +148,10 @@ typedef struct s_insert_mixed_atoms_params {
 } t_insert_mixed_atoms_params;
 
 #define INS_TOTAL                              0x01
-#define INS_REGION                             0x02
-#define INS_POS                                        0x03
+#define INS_RECT                               0x02
+#define INS_SPHERE                             0x03
+#define INS_POS                                        0x04
+#define INS_RELPOS                             0x05
 
 typedef struct s_continue_params {
        int runs;
@@ -159,6 +175,7 @@ typedef struct s_chaattr_params {
 #define CHAATTR_TOTALV                         0x01
 #define CHAATTR_REGION                         0x02
 #define CHAATTR_ELEMENT                                0x04
+#define CHAATTR_NUMBER                         0x08
 
 typedef struct s_chsattr_params {
        u8 type;
@@ -199,8 +216,27 @@ typedef struct s_fill_params {
        u8 fill_brand;
        t_part_params p_params;
        t_defect_params d_params;
+       t_offset_params o_params;
 } t_fill_params;
 
+typedef struct s_crt_params {
+       u8 type;
+       char file[128];
+       t_3dvec *r_fin;
+       u8 *constraints;
+       int steps;
+       int count;
+} t_crt_params;
+
+/*
+ * extern variables
+ */
+
+// constraint relaxation technique
+extern u8 crtt;
+extern u8 *constraints;
+extern double *trafo_angle;
+
 /*
  * function prototypes
  */