X-Git-Url: https://hackdaworld.org/gitweb/?a=blobdiff_plain;f=mdrun.h;h=3f2c6ecb0665794304cf89009f95e26d2a3ea0aa;hb=c8a82a10a403a5e8efc9e83ee36f5d6d35ab639e;hp=d065d5767faa6e9517a25146e7ba1d77bdd1a214;hpb=d1c8623aedde670da01eb2e85cf36d0b2a7c340f;p=physik%2Fposic.git diff --git a/mdrun.h b/mdrun.h index d065d57..3f2c6ec 100644 --- a/mdrun.h +++ b/mdrun.h @@ -43,10 +43,15 @@ typedef struct s_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 +#define STAGE_FILL 0x09 +#define STAGE_THERMAL_INIT 0x10 typedef struct s_mdrun { char cfile[128]; // config file @@ -66,13 +71,9 @@ typedef struct s_mdrun { u8 pbcz; int element1; // element 1 - double m1; int element2; // element 2 - double m2; + double lc; // lattice constant - int lx; // amount of lc units - int ly; - int lz; u8 lattice; // type of lattice u8 sattr; // system attributes @@ -119,9 +120,23 @@ 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 +#define INS_RECT 0x02 +#define INS_SPHERE 0x03 +#define INS_POS 0x04 typedef struct s_continue_params { int runs; @@ -131,6 +146,7 @@ typedef struct s_anneal_params { int runs; int count; double dt; + int interval; } t_anneal_params; typedef struct s_chaattr_params { @@ -162,9 +178,32 @@ 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; + +typedef struct s_fill_params { + double lc; // lattice constant + int lx; // amount of lc units + int ly; + int lz; + u8 lattice; + int fill_element; + u8 fill_brand; + t_part_params p_params; + t_defect_params d_params; +} t_fill_params; + /* * function prototypes */ - #endif