X-Git-Url: https://www.hackdaworld.org/gitweb/?a=blobdiff_plain;f=moldyn.c;h=515a27315bf8455c45a59d81eb278431b7d0f44c;hb=a40aa116ffcefe415a0146c9ea10918ce5b4f888;hp=eb2c6068caae95cd7efac77c5dff1e7e0eb285b8;hpb=3ce21f4433c04699bb6f47f0332a6f0e3c462f5e;p=physik%2Fposic.git diff --git a/moldyn.c b/moldyn.c index eb2c606..515a273 100644 --- a/moldyn.c +++ b/moldyn.c @@ -41,9 +41,9 @@ int moldyn_init(t_moldyn *moldyn,int argc,char **argv) { int moldyn_shutdown(t_moldyn *moldyn) { + printf("[moldyn] shutdown\n"); moldyn_log_shutdown(moldyn); link_cell_shutdown(moldyn); - moldyn_log_shutdown(moldyn); rand_close(&(moldyn->random)); free(moldyn->atom); @@ -171,9 +171,10 @@ int moldyn_set_log(t_moldyn *moldyn,u8 type,char *fb,int timer) { int moldyn_log_shutdown(t_moldyn *moldyn) { + printf("[moldyn] log shutdown\n"); if(moldyn->efd) close(moldyn->efd); if(moldyn->mfd) close(moldyn->mfd); - if(moldyn->visual) visual_tini(moldyn->visual); + if(&(moldyn->vis)) visual_tini(&(moldyn->vis)); return 0; } @@ -184,17 +185,15 @@ int create_lattice(t_moldyn *moldyn,u8 type,double lc,int element,double mass, int count; int ret; t_3dvec origin; - t_atom *atom; count=a*b*c; - atom=moldyn->atom; if(type==FCC) count*=4; if(type==DIAMOND) count*=8; - atom=malloc(count*sizeof(t_atom)); - if(atom==NULL) { + moldyn->atom=malloc(count*sizeof(t_atom)); + if(moldyn->atom==NULL) { perror("malloc (atoms)"); return -1; } @@ -203,10 +202,10 @@ int create_lattice(t_moldyn *moldyn,u8 type,double lc,int element,double mass, switch(type) { case FCC: - ret=fcc_init(a,b,c,lc,atom,&origin); + ret=fcc_init(a,b,c,lc,moldyn->atom,&origin); break; case DIAMOND: - ret=diamond_init(a,b,c,lc,atom,&origin); + ret=diamond_init(a,b,c,lc,moldyn->atom,&origin); break; default: printf("unknown lattice type (%02x)\n",type); @@ -224,10 +223,10 @@ int create_lattice(t_moldyn *moldyn,u8 type,double lc,int element,double mass, moldyn->count=count; while(count) { - atom[count-1].element=element; - atom[count-1].mass=mass; - atom[count-1].attr=attr; - atom[count-1].bnum=bnum; + moldyn->atom[count-1].element=element; + moldyn->atom[count-1].mass=mass; + moldyn->atom[count-1].attr=attr; + moldyn->atom[count-1].bnum=bnum; count-=1; }