X-Git-Url: https://hackdaworld.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=mdrun.h;h=b1c2e0660c52b1ee4d5fb0c7df7b4df0e4100e55;hb=e8532955ada77f2fc4d330a063284b28b2be47f2;hp=20d68d7f5aae59cd3d44fbc3b99154267eec7056;hpb=3592f3b0cf641729566674a7cdfd8eff3f61f59a;p=physik%2Fposic.git diff --git a/mdrun.h b/mdrun.h index 20d68d7..b1c2e06 100644 --- 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,21 +41,26 @@ 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 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 u8 potential; // potential - double cutoff; // cutoff radius + double nnd; // next neighbour distance + t_3dvec dim; // simulation volume u8 pbcx; // periodic boundary conditions u8 pbcy; @@ -101,6 +103,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; @@ -113,8 +120,21 @@ 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 cr; +} t_insert_mixed_atoms_params; + #define INS_TOTAL 0x01 #define INS_REGION 0x02 +#define INS_POS 0x03 typedef struct s_continue_params { int runs;