Code 2

You might also like

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 1

void init(double * x,double *xm, int N, double T, double box, double m, double dt)

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

You might also like