LAM/MPI logo

LAM/MPI General User's Mailing List Archives

  |   Home   |   Download   |   Documentation   |   FAQ   |   all just in this list

From: KHOJ HAI (khojmpi_at_[hidden])
Date: 2006-05-30 09:07:08


Dear programers, i need yours help to convert DO loop
into MPICH , code is pasted below. Pls help me in
this issue. i want to run this code in parallel using
mpich-2. i just want to parallise DO LOOP . THNAKS for
yours coperation.

subroutine move
   implicit real*8 (a-h,o-z)
   integer step,deltim,dmptim,iseed
   parameter (n=4096)
   parameter (nlayer=128)
   common /control/
seth,setl,dt,yxrat,yxrat2,rnd,delr,
   &
nsp1,nstep,mcstep,ndump,deltim,dmptim,step,iseed
   common /posvel/ isp(n),rx(n),ry(n),rz(n),
   & vx(n),vy(n),vz(n),ax(n),ay(n),az(n)
   common /potential/ s11,s12,s22,
   & rc11,rc11sq,rc12,rc12sq,rc22,rc22sq,
   & ep11,ep12,ep22,xm(2),grav
   dt2=dt/2.0d0

   do 1000 i=1,n
  vx(i)=vx(i)+ax(i)*dt2
  vy(i)=vy(i)+ay(i)*dt2
  vz(i)=vz(i)+az(i)*dt2
  rx(i)=rx(i)+vx(i)*dt
  if (rx(i).ge.1.0d0) rx(i)=rx(i)-1.0d0
  if (rx(i).lt.0.0d0) rx(i)=rx(i)+1.0d0
  ry(i)=ry(i)+vy(i)*dt
  if (ry(i).ge.yxrat) ry(i)=ry(i)-yxrat
  if (ry(i).lt.0.0d0) ry(i)=ry(i)+yxrat
  rz(i)=rz(i)+vz(i)*dt
  if (rz(i).ge.yxrat) rz(i)=rz(i)-yxrat
  if (rz(i).lt.0.0d0) rz(i)=rz(i)+yxrat
1000 continue
  call force
   do 1100 i=1,n
   vx(i)=vx(i)+ax(i)*dt2
   vy(i)=vy(i)+ay(i)*dt2
   vz(i)=vz(i)+az(i)*dt2
   1100 continue
  
   return
   end
  

__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com