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);
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;
}
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;
}
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);
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;
}