/* main molecular dynamics api */
#include "moldyn.h"
-/* elements */
-#include "pse.h"
-
/* list api */
#include "list/list.h"
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
#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;
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;
#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
*/