double lj1,lj2,lj;
/* silicon */
- amount_si=AMOUNT_SI;
+ //amount_si=AMOUNT_SI;
+ amount_si=2;
printf("simulating %d silicon atoms\n",amount_si);
si=malloc(amount_si*sizeof(t_atom));
if(!si) {
/* init */
printf("placing silicon atoms\n");
+ /*
for(i=0;i<amount_si;i++) {
si[i].x=RAND(LEN_X);
si[i].y=RAND(LEN_Y);
si[i].fy=.0;
si[i].fz=.0;
}
+ */
+ si[0].x=-2.0;
+ si[1].x=+2.0;
+ si[0].y=0;
+ si[0].z=0;
+ si[1].y=0;
+ si[1].z=0;
/* time */
time=.0;
si[i].vx+=(tau*si[i].fx/m2);
si[i].vy+=(tau*si[i].fy/m2);
si[i].vz+=(tau*si[i].fz/m2);
+ /* reset of forces */
+ si[i].fx=.0;
+ si[i].fy=.0;
+ si[i].fz=.0;
}
for(i=0;i<amount_si;i++) {
/* calculation of forces at new positions r(t+h) */
lj1*=LJ_SIGMA_12;
lj2*=LJ_SIGMA_06;
lj=-2*lj1+lj2;
- si[i].fx=lj*deltax;
- si[i].fy=lj*deltay;
- si[i].fz=lj*deltaz;
- si[i].fx=-lj*deltax;
- si[i].fy=-lj*deltay;
- si[i].fz=-lj*deltaz;
+ si[i].fx-=lj*deltax;
+ si[i].fy-=lj*deltay;
+ si[i].fz-=lj*deltaz;
+ si[j].fx+=lj*deltax;
+ si[j].fy+=lj*deltay;
+ si[j].fz+=lj*deltaz;
}
}
+ }
+ for(i=0;i<amount_si;i++) {
/* calculation of new velocities v(t+h) */
si[i].vx+=(tau*si[i].fx/m2);
si[i].vy+=(tau*si[i].fy/m2);
si[i].vz+=(tau*si[i].fz/m2);
}
- if(!(runs%10)) {
+ if(!(runs%100)) {
/* rasmol script & xyz file */
sprintf(xyz,"./saves/si-%.15f.xyz",time);
return -1;
}
dprintf(fd2,"load xyz %s\n",xyz);
- dprintf(fd2,"spacefill 200\n");
+ //dprintf(fd2,"spacefill 200\n");
+ dprintf(fd2,"spacefill\n");
dprintf(fd2,"rotate x 11\n");
dprintf(fd2,"rotate y 13\n");
dprintf(fd2,"set ambient 20\n");
dprintf(fd2,"set specular on\n");
dprintf(fd2,"write ppm %s\n",ppm);
dprintf(fd2,"zap\n");
- dprintf(fd1,"%d\nsilicon\n",amount_si);
+ dprintf(fd1,"%d\nsilicon\n",amount_si+9);
for(i=0;i<amount_si;i++)
dprintf(fd1,"Si %f %f %f %f\n",
si[i].x,si[i].y,si[i].z,time);
+ dprintf(fd1,"H 0.0 0.0 0.0 %f\n",time);
+ dprintf(fd1,"He %f %f %f %f\n",LX,LY,LZ,time);
+ dprintf(fd1,"He %f %f %f %f\n",-LX,LY,LZ,time);
+ dprintf(fd1,"He %f %f %f %f\n",LX,-LY,LZ,time);
+ dprintf(fd1,"He %f %f %f %f\n",LX,LY,-LZ,time);
+ dprintf(fd1,"He %f %f %f %f\n",-LX,-LY,LZ,time);
+ dprintf(fd1,"He %f %f %f %f\n",-LX,LY,-LZ,time);
+ dprintf(fd1,"He %f %f %f %f\n",LX,-LY,-LZ,time);
+ dprintf(fd1,"He %f %f %f %f\n",-LX,-LY,-LZ,time);
close(fd1);
}