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
|