X-Git-Url: https://www.hackdaworld.org/gitweb/?a=blobdiff_plain;f=moldyn.c;h=515a27315bf8455c45a59d81eb278431b7d0f44c;hb=a40aa116ffcefe415a0146c9ea10918ce5b4f888;hp=a9785413ab55eec8ef5c4f6ba46e7a6f1f8b3726;hpb=56fe12b9eabe0cfa493e2f1b1d0d7d219ae8705b;p=physik%2Fposic.git diff --git a/moldyn.c b/moldyn.c index a978541..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; } @@ -618,10 +617,6 @@ int moldyn_integrate(t_moldyn *moldyn) { /* calculate initial forces */ potential_force_calc(moldyn); - /* accuracy check */ - ds=0.5*moldyn->tau_square*v3_norm(&(atom[0].f))/atom[0].mass; - if(ds>moldyn->lc. - /* zero absolute time */ moldyn->time=0.0;