} t_atom;
typedef struct s_linkcell {
+ int listfd;
int nx,ny,nz;
+ int cells;
double x,y,z;
t_list *subcell;
} t_linkcell;
/* energy */
double energy;
/* logging & visualization */
+ t_visual vis;
unsigned char lvstat;
unsigned int ewrite;
char efb[64];
void *visual;
/* moldyn general status */
unsigned char status;
+ /* random */
+ t_random random;
} t_moldyn;
typedef struct s_ho_params {
#define MOLDYN_TEMP 273.0
#define MOLDYN_TAU 1.0e-15
+#define MOLDYN_CUTOFF 10.0e-9
#define MOLDYN_RUNS 1000000
#define MOLDYN_INTEGRATE_VERLET 0x00
int moldyn_usage(char **argv);
int moldyn_parse_argv(t_moldyn *moldyn,int argc,char **argv);
-int moldyn_log_init(t_moldyn *moldyn,void *v);
+int moldyn_log_init(t_moldyn *moldyn);
+int moldyn_init(t_moldyn *moldyn,int argc,char **argv);
int moldyn_shutdown(t_moldyn *moldyn);
int create_lattice(unsigned char type,int element,double mass,double lc,
int a,int b,int c,t_atom **atom);
int destroy_lattice(t_atom *atom);
-int thermal_init(t_moldyn *moldyn,t_random *random);
+int thermal_init(t_moldyn *moldyn);
int scale_velocity(t_moldyn *moldyn);
double get_e_kin(t_atom *atom,int count);
double get_e_pot(t_moldyn *moldyn);