Professional Documents
Culture Documents
Code 2
Code 2
Code 2
{
int j,i;
double sumv[3],sumv2,l,d,fs;
double *v; // local array of velocities
sumv2=0.;
for(j=0;j<3;j++)
sumv[j]=0.;
for(i=0;i<N;i++)
{
particle_on_lattice(x[3*i],N,i);
for(j=0;j<3;j++)
{
v[3*i+j]=(double)rand()/(double)RAND_MAX-0.5;
sumv[j]+=v[3*i+j];
sumv2+=v[3*i+j]*v[3*i+j];
}
}
for(j=0;j<3;j++)sumv[j]/=N;
fs=sqrt(T/(m*sumv2/(3*N)));
for(i=0;i<N;i++)
{
for(j=0;j<3;j++)
{
v[3*i+j]=(v[3*i+j]-sumv[j])*fs;
xm[3*i+j]=x[3*i+j]-v[3*i+j]*dt;
}
}
}