GAS IDEAL EN DOS DIMENSIONES

N partículas de igual masa chocan entre sí y con las paredes.

for (int it=0; it<N-1; it++){
      x[it]= x[it]+vx[it]*dt;
      y[it]= y[it]+vy[it]*dt;

      // Choque con las paredes
      if ( x[it]<0 || x[it]>L) {
           x[it] =x[it]-vx[it]*dt;
           vx[it]=-vx[it];
           }
      if ( y[it]<0 || y[it]>L) {
           y[it] =y[it]-vy[it]*dt;
           vy[it]=-vy[it];
           }

      for (int jt=it+1; jt<N; jt++){
      rij=Math.sqrt( Math.pow(x[it]-x[jt],2.) + Math.pow(y[it]-y[jt],2.));
       //Choque
      if (rij<2*R) {
           vcmx=(vx[it]+vx[jt])/2.;
           vcmy=(vy[it]+vy[jt])/2.;
           vpxi= vx[it] - vcmx;
           vpyi= vy[it] - vcmy;
           xij = x[jt] - x[it];
           yij = y[jt] - y[it];
           pe = vpxi*xij + vpyi*yij;
           if(pe>0) {
                     vpxin = vpxi - 2.* (vpxi*xij + vpyi*yij) / (rij*rij) * xij;
                     vpyin = vpyi - 2.* (vpxi*xij + vpyi*yij) / (rij*rij) * yij;
                     vx[it] = vcmx + vpxin;
                     vy[it] = vcmy + vpyin;
                     vx[jt] = vcmx - vpxin;
                     vy[jt] = vcmy - vpyin;
                     }
                }
         }
}


Autora: Mª José Nuñez