Você está na página 1de 18

parameter (ndim=500, ndti=50, nrbin=15, npt=15)

c
c----------------------------------------------------------------------
c ndim === for total number of nucleons.
c ndti === for number of time steps.
c nrbin === for number of rapidity bins.
c npt === for number of tranverse momentun bins.
c----------------------------------------------------------------------
dimension iso(ndti,ndim),id(ndti,ndim)
dimension ntime(ndti),rtime(ndti)
dimension pxdir(ndti),pxdirmf(ndti),pxdirfm(ndti),pxdircf(ndti),
& pxdir1(ndti),pxdir2(ndti),pxdir3(ndti),
& pxdirmf1(ndti),pxdirfm1(ndti),pxdircf1(ndti),
& pxdirmf2(ndti),pxdirfm2(ndti),pxdircf2(ndti),
& pxdirmf3(ndti),pxdirfm3(ndti),pxdircf3(ndti)
dimension adensp(ndti),avgrho(ndti),aelpf(ndti,npt),azg(ndti,npt),
& azg1(ndti,npt),
& afnp(ndti,nrbin),
& afpxy(ndti,nrbin),afpxy1(ndti,nrbin),afpxy2(ndti,nrbin),
& afpxy3(ndti,nrbin),adndy(ndti,nrbin),adndy1(ndti,nrbin),
& adndy2(ndti,nrbin),adndy3(ndti,nrbin)
dimension adrpt(ndti),adrptmf(ndti),adrptfm(ndti),adrptcf(ndti),
& adrpt1(ndti),adrpt2(ndti),adrpt3(ndti),
& adrptmf1(ndti),adrptfm1(ndti),adrptcf1(ndti),
& adrptmf2(ndti),adrptfm2(ndti),adrptcf2(ndti),
& adrptmf3(ndti),adrptfm3(ndti),adrptcf3(ndti)

common /iqmdwork/np,nzpr,nzta,npr,nta,mtimes,al,ybeam
common /iqmdout/x(ndti,ndim),y(ndti,ndim),z(ndti,ndim),
& px(ndti,ndim),py(ndti,ndim),pz(ndti,ndim),
& efm(ndti,ndim),iso(ndti,ndim)
common /flowcom/pxint(ndti,ndim),pxicnf(ndti,ndim),cf(ndti,ndim),
& drpt(ndti),drptmf(ndti),drptfm(ndti),drptcf(ndti)

common /flowden/dens(ndti,ndim),normden(ndti,ndim),
& densp(ndti),
& drpt1(ndti),drpt2(ndti),
& drpt3(ndti),
& drptmf1(ndti),drptfm1(ndti),drptcf1(ndti),
& drptmf2(ndti),drptfm2(ndti),drptcf2(ndti),
& drptmf3(ndti),drptfm3(ndti),drptcf3(ndti)
common /flowpxa/avpx(ndti,nrbin),dndy(ndti,nrbin),
& avpx1(ndti,nrbin),avpx2(ndti,nrbin),
& avpx3(ndti,nrbin),dndy1(ndti,nrbin),
& dndy2(ndti,nrbin),dndy3(ndti,nrbin),
& fpxy(ndti,nrbin),fpxy1(ndti,nrbin),
& fpxy2(ndti,nrbin),fpxy3(ndti,nrbin),
& yrpm(nrbin)
common/denvar/n1(ndti),n2(ndti),n3(ndti)
common /ellipticf/pt(ndti,npt),elpf(ndti,npt),ptw(npt),
& pqtt(ndti,npt),
& v2(ndti,npt),v2f(ndti,npt)
common /diffflowpxa/avpxp(ndti,nrbin),avpxn(ndti,nrbin),
& fpxyp(ndti,nrbin),fpxyn(ndti,nrbin),
& dyrpm(nrbin),fnp(ndti,nrbin)
common /azuang/aw(npt),nam(ndti,npt),naz,arp(nrbin)
integer rtime
real normden,anorm,dens,argu,pt
data pi/3.141592654/, amn/0.938/

nrunt=0
nyrp=15
nptt=10
naz=12
c ndyrp=15
dely=0.25
edely=0.1
adely=30
rdely=0.25
c ddely=0.25
amn2=2.0*amn
amnq=amn*amn
emev=1.
emnuc=0.938*emev

OPEN (1, FILE = 'a.dat',STATUS='OLD')


OPEN (2, FILE = 'a.out',STATUS='UNKNOWN')
OPEN (3, FILE = 'd.out',STATUS='UNKNOWN')

read(1,*)iflagcomp,iflagden,iflagpxa,iflagef,iflagdiff,iflagaz
read (1,*) mtimes,nfiles

do 101 nfile=1,nfiles
read(1,*)nfl
open(unit=11,file='sn3501',
& status='old')
c open (unit=12,file='/home/sakshi/test/iqmd/out1/2',status='old')
c open (unit=13,file='/home/sakshi/test/iqmd/out1/3',status='old')
c open (unit=14,file='/home/sakshi/test/iqmd/out1/4',status='old')

read(nfl,*,err=199,end=299) npr,nzpr,nta,nzta,elab
read(nfl,*,err=199,end=299) nruns,nt,dt,x00,dseed,bmin,bmax,eos,
& sigma,gw,esym
read(nfl,*,err=199,end=299) al,sal,vy,arang,alpha,beta,gamma

np = nta+npr

C CALCULATING BEAM RAPIDITY FOR GENERAL CASE

elab=elab/1000.*emev
pproj=sqrt(elab*(2.*emnuc+elab))
epp=elab+emnuc
frac=real(npr)/real(nta)
bcm=pproj/(epp+emnuc/frac)
gam=1./sqrt(1.-bcm**2)
pcm=gam*(pproj-bcm*epp)
tcm=frac*ppo
ecm=sqrt(pcm*pcm+emnuc*emnuc)
ybeam=0.5*alog((ecm+pcm)/(ecm-pcm))

do 102 kt=1,ndti
do 103 kk=1,ndim
x(kt,kk)=0.0
y(kt,kk)=0.0
z(kt,kk)=0.0
px(kt,kk)=0.0
py(kt,kk)=0.0
pz(kt,kk)=0.0
efm(kt,kk)=0.0
pxint(kt,kk)=0.0
pxicnf(kt,kk)=0.0
iso(kt,kk)=0
id(kt,kk)=0
103 continue
102 continue

do 104 i=1,mtimes
n1(i)=0
n2(i)=0
n3(i)=0
adrpt(i)=0.0
adrptmf(i)=0.0
adrptfm(i)=0.0
adrptcf(i)=0.0
adrpt1(i)=0.0
adrptmf1(i)=0.0
adrptfm1(i)=0.0
adrptcf1(i)=0.0
adrpt2(i)=0.0
adrptmf2(i)=0.0
adrptfm2(i)=0.0
adrptcf2(i)=0.0
adrpt3(i)=0.0
adrptmf3(i)=0.0
adrptfm3(i)=0.0
adrptcf3(i)=0.0
adensp(i)=0.0
104 continue

do 154 nl=1,mtimes
do 155 ln=1,nrbin
afpxy(nl,ln)=0.0
afpxy1(nl,ln)=0.0
afpxy2(nl,ln)=0.0
afpxy3(nl,ln)=0.0
adndy(nl,ln)=0.0
adndy1(nl,ln)=0.0
adndy2(nl,ln)=0.0
adndy3(nl,ln)=0.0
aelpf(nl,ln)=0.0
afnp(nl,ln)=0.0
155 continue
154 continue

do 754 av=1,mtimes
do 755 ay=1,naz
azg(av,ay)=0.0
azg1(av,ay)=0.0
755 continue
754 continue
do 105 nru=1,nruns
do 106 kt=1,mtimes
read(nfl,*,err=199,end=299)x00,nrn,nkt,ncolli,nblki
do 107 m = 1,np
read(nfl,*,err=199,end=299)
& x(kt,m),y(kt,m),z(kt,m),
& px(kt,m),py(kt,m),
& pz(kt,m),pxicnf(kt,m),
& pxint(kt,m),efm(kt,m),
& iso(kt,m),id(kt,m)

cf(kt,m)=px(kt,m)-pxicnf(kt,m)-pxint(kt,m)
pz(kt,m)=-pz(kt,m)
z(kt,m)=-z(kt,m)
107 continue
ntime(kt)=nkt
106 continue

if (iflagcomp .eq. 1)then


call PXCOMP
do 108 ii=1,mtimes
adrpt(ii)=adrpt(ii)+drpt(ii)
adrptmf(ii)=adrptmf(ii)+drptmf(ii)
adrptfm(ii)=adrptfm(ii)+drptfm(ii)
adrptcf(ii)=adrptcf(ii)+drptcf(ii)
108 continue
endif
if (iflagden .eq. 1)then
call PXDEN
do 109 jj=1,mtimes
adrpt1(jj)=adrpt1(jj)+drpt1(jj)
adrptmf1(jj)=adrptmf1(jj)+drptmf1(jj)
adrptfm1(jj)=adrptfm1(jj)+drptfm1(jj)
adrptcf1(jj)=adrptcf1(jj)+drptcf1(jj)
adrpt2(jj)=adrpt2(jj)+drpt2(jj)
adrptmf2(jj)=adrptmf2(jj)+drptmf2(jj)
adrptfm2(jj)=adrptfm2(jj)+drptfm2(jj)
adrptcf2(jj)=adrptcf2(jj)+drptcf2(jj)
adrpt3(jj)=adrpt3(jj)+drpt3(jj)
adrptmf3(jj)=adrptmf3(jj)+drptmf3(jj)
adrptfm3(jj)=adrptfm3(jj)+drptfm3(jj)
adrptcf3(jj)=adrptcf3(jj)+drptcf3(jj)
adensp(jj)=adensp(jj)+densp(jj)
109 continue
endif
if (iflagpxa .eq. 1)then
call PXA
do 150 jp=1,mtimes
do 151 kp=1,nrbin
afpxy(jp,kp)=afpxy(jp,kp)+fpxy(jp,kp)
afpxy1(jp,kp)=afpxy1(jp,kp)+fpxy1(jp,kp)
afpxy2(jp,kp)=afpxy2(jp,kp)+fpxy2(jp,kp)
afpxy3(jp,kp)=afpxy3(jp,kp)+fpxy3(jp,kp)
adndy(jp,kp)=adndy(jp,kp)+dndy(jp,kp)
adndy1(jp,kp)=adndy1(jp,kp)+dndy1(jp,kp)
adndy2(jp,kp)=adndy2(jp,kp)+dndy2(jp,kp)
adndy3(jp,kp)=adndy3(jp,kp)+dndy3(jp,kp)
151 continue
150 continue
endif
if (iflagef .eq. 1)then
call ELLIP
do 195 ko=1,mtimes
do 200 kq=1,nptt
aelpf(ko,kq)=aelpf(ko,kq)+v2f(ko,kq)
200 continue
195 continue
endif
if (iflagdiff .eq. 1)then
call DIFFFLOW
do 205 ka=1,mtimes
do 206 kb=1,nrbin
afnp(ka,kb)=afnp(ka,kb)+fnp(ka,kb)
206 continue
205 continue
endif
if (iflagaz .eq. 1)then
call azangle
do 719 kw=1,mtimes
do 720 kz=1,naz
azg(kw,kz)=azg(kw,kz)+nam(kw,kz)
azg1(kw,kz)=azg(kw,kz)/30.0
720 continue
719 continue
endif
nrunt=nrunt+1
105 continue
299 continue
go to 101
199 write(*,*)'error in reading files'
close(nfl)
101 continue

runs=float(nrunt)

do 152 pm=1,mtimes
do 153 pk=1,nrbin
afpxy(pm,pk)=afpxy(pm,pk)/runs
afpxy1(pm,pk)=afpxy1(pm,pk)/runs
afpxy2(pm,pk)=afpxy2(pm,pk)/runs
afpxy3(pm,pk)=afpxy3(pm,pk)/runs
adndy(pm,pk)=adndy(pm,pk)/runs
adndy1(pm,pk)=adndy1(pm,pk)/runs
adndy2(pm,pk)=adndy2(pm,pk)/runs
adndy3(pm,pk)=adndy3(pm,pk)/runs
153 continue
152 continue
do 110 kj=1,mtimes
rtime(kj)=float(ntime(kj))*dt
adrpt(kj)=adrpt(kj)/(np*runs)*1000.0
adrptmf(kj)=adrptmf(kj)/(np*runs)*1000.0
adrptfm(kj)=adrptfm(kj)/(np*runs)*1000.0
adrptcf(kj)=adrptcf(kj)/(np*runs)*1000.0
adensp(kj)=adensp(kj)/(np*runs)
if (n1(kj) .ne. 0)then
adrpt1(kj)=adrpt1(kj)/(n1(kj))*1000.0
adrptmf1(kj)=adrptmf1(kj)/(n1(kj))*1000.0
adrptfm1(kj)=adrptfm1(kj)/(n1(kj))*1000.0
adrptcf1(kj)=adrptcf1(kj)/(n1(kj))*1000.0
else
adrpt1(kj)=0.0
adrptmf1(kj)=0.0
adrptfm1(kj)=0.0
adrptcf1(kj)=0.0
endif
if (n2(kj) .ne. 0)then
adrpt2(kj)=adrpt2(kj)/(n2(kj))*1000.0
adrptmf2(kj)=adrptmf2(kj)/(n2(kj))*1000.0
adrptfm2(kj)=adrptfm2(kj)/(n2(kj))*1000.0
adrptcf2(kj)=adrptcf2(kj)/(n2(kj))*1000.0
else
adrpt2(kj)=0.0
adrptmf2(kj)=0.0
adrptfm2(kj)=0.0
adrptcf2(kj)=0.0
endif
if (n3(kj) .ne. 0)then
adrpt3(kj)=adrpt3(kj)/(n3(kj))*1000.0
adrptmf3(kj)=adrptmf3(kj)/(n3(kj))*1000.0
adrptfm3(kj)=adrptfm3(kj)/(n3(kj))*1000.0
adrptcf3(kj)=adrptcf3(kj)/(n3(kj))*1000.0
else
adrpt3(kj)=0.0
adrptmf3(kj)=0.0
adrptfm3(kj)=0.0
adrptcf3(kj)=0.0
endif
pxdir(kj)=adrpt(kj)
pxdirmf(kj)=adrptmf(kj)
pxdirfm(kj)=adrptfm(kj)
pxdircf(kj)=adrptcf(kj)
pxdir1(kj)=adrpt1(kj)
pxdirmf1(kj)=adrptmf1(kj)
pxdirfm1(kj)=adrptfm1(kj)
pxdircf1(kj)=adrptcf1(kj)
pxdir2(kj)=adrpt2(kj)
pxdirmf2(kj)=adrptmf2(kj)
pxdirfm2(kj)=adrptfm2(kj)
pxdircf2(kj)=adrptcf2(kj)
pxdir3(kj)=adrpt3(kj)
pxdirmf3(kj)=adrptmf3(kj)
pxdirfm3(kj)=adrptfm3(kj)
pxdircf3(kj)=adrptcf3(kj)
avgrho(kj)=adensp(kj)
110 continue
do 196 no=1,mtimes
do 194 nq = 1, nptt
aelpf(no,nq)=aelpf(no,nq)/runs
194 continue
196 continue
do 207 na=1,mtimes
do 208 nb = 1, nrbin
afnp(na,nb)=afnp(na,nb)/runs
208 continue
207 continue
do 796 ao=1,mtimes
do 794 aq = 1, naz
azg1(ao,aq)=azg1(ao,aq)/runs
794 continue
796 continue
c %%%%%%%%%%%%%%% WRITING OUTPUT %%%%%%%%%%%%%%%%%%%
c %%%%%%%%%%%%%%% REACTION PARAMETRES %%%%%%%%%%%%%%

write(2,111)runs,npr,nzpr,nta,nzta,mtimes,dt
111 format(/3x,'Nruns=',F6.1,2x,'(NPR,NZPR)=',2I3,2x,
& '(NTA,NZTA)=',2I3,2x,'Mtimes=',I3,2x,
& 'DT=',F5.2)
write(2,112)bmin,bmax,eos,sigma,gw,esym,elab*1000.
112 format(/3x,'bmin=',F4.2,2x,'bmax=',F4.2,2x,
& 'EOS=',F4.1,2x,'Sigma=',F4.2,2x,'GW=',F4.2,2x,
& 'Esym=',F8.3,2x,'Energy=',F7.2)

c %%%%%%%%%%%%%%% PX/A and RAPIDITY DISTRIBUTION %%%%%%%%%%%%%%


write(2,193)
193 format(2x,40('-'))
write(2,'(/)')
write(2,*)' PX/A and Rapidity Distribution '

do 166 nk=1,mtimes
write(2,163)yrpm(1),yrpm(15),dely,rtime(nk)
163 format(/1x,'*Rapidity Distribution*',2x,'From',f6.2,2x
& ,'To',f6.2,2x,'With Step Size',f5.2,2x,'At',i3,
& '(fm/c)'/)
write(2,*)'RAPIDITY DISTRIBUTION YCM/YBEAM'
165 format(/' bin',7x,'dndy',7x,'fpxy'/)
write(2,165)
do 167 kn=1,nrbin
write(2,168)yrpm(kn),adndy(nk,kn),
& afpxy(nk,kn)
168 format(5(3x,f10.3))
167 continue
166 continue
C %%%%%%% PX/A AND RAPIDITY DISTRIBUTION IN DIFFERENT DENSITY BINS %%%%%%

c %%%%%%%%%%%% DENSITY BIN 0-1.0 %%%%%%%%%%%%%%%%%%


write(2,190)
190 format(2x,40('-'))
write(2,'(/)')
write(2,*)' DENSITY BIN : 0.0-1.0 '
do 170 il=1,mtimes
write(2,171)yrpm(1),yrpm(15),dely,rtime(il)
171 format(/1x,'*Rapidity Distribution*',2x,'From',f6.2,2x
& ,'To',f6.2,2x,'With Step Size',f5.2,2x,'At',i3,
& '(fm/c)'/)
write(2,*)'RAPIDITY DISTRIBUTION YCM/YBEAM'
172 format(/' bin',7x,'dndy',7x,'fpxy'/)
write(2,172)
do 173 li=1,nrbin
write(2,174)yrpm(li),adndy1(il,li),afpxy1(il,li)
174 format(3(3x,f8.3))
173 continue
170 continue
c %%%%%%%%%%%% DENSITY BIN 1.0-7.0 %%%%%%%%%%%%%%%%%%
write(2,191)
191 format(2x,40('-'))
write(2,'(/)')
write(2,*)' DENSITY BIN : 1.0-7.0 '
do 175 lp=1,mtimes
write(2,176)yrpm(1),yrpm(15),dely,rtime(pl)
176 format(/1x,'*Rapidity Distribution*',2x,'From',f6.2,2x
& ,'To',f6.2,2x,'With Step Size',f5.2,2x,'At',i3,
& '(fm/c)'/)
write(2,*)'RAPIDITY DISTRIBUTION YCM/YBEAM'
177 format(/' bin',7x,'dndy',7x,'fpxy'/)
write(2,177)
do 178 pl=1,nrbin
write(2,179)yrpm(pl),adndy2(lp,pl),afpxy2(lp,pl)
179 format(3(3x,f8.3))
178 continue
175 continue
c %%%%%%%%%%%% DENSITY BIN 7.0-8.0 %%%%%%%%%%%%%%%%%%
write(2,192)
192 format(2x,40('-'))
write(2,'(/)')
write(2,*)' DENSITY BIN : 7.0-8.0 '
do 180 kl=1,mtimes
write(2,181)yrpm(1),yrpm(15),dely,rtime(kl)
181 format(/1x,'*Rapidity Distribution*',2x,'From',f6.2,2x
& ,'To',f6.2,2x,'With Step Size',f5.2,2x,'At',i3,
& '(fm/c)'/)
write(2,*)'RAPIDITY DISTRIBUTION YCM/YBEAM'
182 format(/' bin',7x,'dndy',7x,'fpxy'/)
write(2,182)
do 183 lk=1,nrbin
write(2,184)yrpm(lk),adndy3(kl,lk),afpxy3(kl,lk)
184 format(3(3x,f8.3))
183 continue
180 continue

c %%%%%%%%%%%%%%% TOTAL FLOW AND COMPONENTS %%%%%%%%%%%%%%


write(2,113)
113 format(2x,40('-'))
write(2,'(/)')
write(2,*)'TOTAL PXDIR, PXDIR DUE TO MEAN FIELD,FERMI, AND COLLISONS'
write(2,114)
114 format(/' Time',2x,'Px. Dir.',2x,'Px. Dir. MF',2x,
& 'Px. Dir. FM',2x,'Px. Dir. CF '/)

do 115 jk=1,mtimes
write(2,116)rtime(jk),pxdir(jk),pxdirmf(jk),pxdirfm(jk),
& pxdircf(jk)
116 format(1(4X,I3,4X),4(F7.2,5X))
115 continue
c %%%%%%%%%%%% TIME EVOLUTION OF AVERAGE DENSITY %%%%%%%%%%%
write(2,140)
140 format(2x,40('-'))
write(2,'(/)')
write(2,*)'TIME EVOLUTION OF AVERAGE DENSITY'
write(2,141)
141 format(/' Time',2x,'Density '/)

do 142 nm=1,mtimes
write(2,143)rtime(nm),avgrho(nm)
143 format(1(4X,I3,4X),1(F9.3,5X))
142 continue

C %%%%%%%%%%%%% FLOW IN DENSITY BINS %%%%%%%%%%%%%%%%%%%%%%%


write(2,117)
117 format(2x,40('-'))
write(2,'(/)')
write(2,*)'TOTAL PXDIR IN VARIOUS DENSITY BINS'
write(2,'(/)')

c %%%%%%%%%%%%%%%% DENSITY BIN 0-1 %%%%%%%%%%%%%


write(2,118)
118 format(/' Time',2x,'Px. Dir.',2x,
& 'Px. Dir. MF.',2x,
& 'Px. Dir. FM. ',2x,'Px. Dir. CF. '/)
do 119 jk=1,mtimes
write(2,120)rtime(jk),pxdir1(jk),pxdirmf1(jk),
& pxdirfm1(jk),pxdircf1(jk)
120 format(1(4X,I3,4X),4(F9.2,6X))
119 continue
c %%%%%%%%% DENSITY BIN 1-7 %%%%%%%%%%
write(2,133)
133 format(2x,40('-'))
write(2,'(/)')
write(2,*)' DENSITY BIN : 1.0-7.0 '
write(2,121)
121 format(/' Time',2x,'Px. Dir.',2x,'Px. Dir. MF.',2x,
& 'Px. Dir. FM.',2x,'Px. Dir. CF. '/)

do 122 mk=1,mtimes
write(2,123)rtime(mk),pxdir2(mk),pxdirmf2(mk),
& pxdirfm2(mk),pxdircf2(mk)
123 format(1(4X,I3,4X),4(F9.2,5X))
122 continue
C %%%%%%%%%%%% DENSITY BIN 7-8 %%%%%%%%%%%%%%%%%%
write(2,134)
134 format(2x,40('-'))
write(2,'(/)')
write(2,*)' DENSITY BIN : 7.0-8.0 '
write(2,124)
124 format(/' Time',2x,'Px. Dir.',2x,'Px. Dir. MF.',2x,
& 'Px. Dir. FM.',2x,'Px. Dir. CF. '/)
do 125 ik=1,mtimes
write(2,126)rtime(ik),pxdir3(ik),pxdirmf3(ik),
& pxdirfm3(ik),pxdircf3(ik)
126 format(1(4X,I3,4X),4(F9.2,5X))
125 continue
c %%%%%%%%%%%%%%% Pt vs ELLIPTIC FLOW %%%%%%%%%%%%%%
write(2,666)
666 format(2x,40('-'))
write(2,'(/)')
do 667 ns=1,mtimes
write(2,668)ptw(1),ptw(10),edely,rtime(ns)
668 format(/1x,'*Pt Distribution*',2x,'From',f6.2,2x
& ,'To',f6.2,2x,'With Step Size',f5.2,2x,'At',i3,
& '(fm/c)'/)
write(2,*)' ELLIPTIC FLOW '
669 format(/' Pt bin',7x,'v2'/)
write(2,669)
do 670 ms=1,nptt
write(2,671)ptw(ms),aelpf(ns,ms)
671 format(2(3x,f10.3))
670 continue
667 continue
c %%%%%%%%%%%%%%% n-p DIFFERENTIAL FLOW %%%%%%%%%%%%%%
write(2,209)
209 format(2x,40('-'))
write(2,'(/)')
write(2,*)' n-p DIFFERENTIAL FLOW '

do 210 nd=1,mtimes
write(2,211)dyrpm(1),dyrpm(15),dely,rtime(nd)
211 format(/1x,'*Rapidity Distribution*',2x,'From',f6.2,2x
& ,'To',f6.2,2x,'With Step Size',f5.2,2x,'At',i3,
& '(fm/c)'/)
write(2,*)'RAPIDITY DISTRIBUTION YCM/YBEAM'
212 format(/' bin',7x,'n-p Diff. Flow'/)
write(2,212)
do 213 kd=1,nrbin
write(2,214)dyrpm(kd),afnp(nd,kd)
214 format(5(2x,f10.3))
213 continue
210 continue

c %%%%%%%%%%%%%%% azumuthal angle %%%%%%%%%%%%%%


write(2,766)
766 format(2x,40('-'))
write(2,'(/)')
do 767 nz=1,mtimes
write(2,768)aw(1),aw(12),adely,rtime(nz)
768 format(/1x,'*angle Distribution*',2x,'From',2x,f6.2,2x
& ,'To',2x,f6.2,2x,'With Step Size',f5.2,2x,'At',i3,
& '(fm/c)'/)
write(2,*)' azimuthal angle '
769 format(/' bin',7x,'no of part'/)
write(2,769)
do 770 mz=1,naz
write(2,771)aw(mz),azg(nz,mz),azg1(nz,mz)
771 format(3(3x,f10.3))
770 continue
767 continue
stop
end

c--------------------------------------------------
subroutine PXCOMP
c----------------------------------------------------------------

parameter (ndim=500, ndti=50, nrbin=15, npt=15)

common /iqmdwork/np,nzpr,nzta,npr,nta,mtimes,al,ybeam

common /iqmdout/x(ndti,ndim),y(ndti,ndim),z(ndti,ndim),
& px(ndti,ndim),py(ndti,ndim),pz(ndti,ndim),
& efm(ndti,ndim),iso(ndti,ndim)
common /flowcom/pxint(ndti,ndim),pxicnf(ndti,ndim),cf(ndti,ndim),
& drpt(ndti),drptmf(ndti),drptfm(ndti),drptcf(ndti)

real pxx,pyy,pzz,pxmf,pxfm,pxcf,pxq,pyq,pzq,psq,engy,rpdt

do 201 kk=1,mtimes
drpt(kk)=0.0
drptmf(kk)=0.0
drptfm(kk)=0.0
drptcf(kk)=0.0
201 continue

do 202 kt=1,mtimes
do 203 i=1,np
pxx=px(kt,i)
pyy=py(kt,i)
pzz=pz(kt,i)
pxmf=pxint(kt,i)
pxfm=pxicnf(kt,i)
pxcf=cf(kt,i)
pxq=pxx*pxx
pyq=pyy*pyy
pzq=pzz*pzz
psq=pxq+pyq+pzq
engy=sqrt(psq+efm(kt,i)**2)
rpdt=0.5*alog((engy+pzz)/(engy-pzz))/ybeam
if (rpdt .ge. 0.0)then
drpt(kt)=drpt(kt)+pxx
drptmf(kt)=drptmf(kt)+pxmf
drptfm(kt)=drptfm(kt)+pxfm
drptcf(kt)=drptcf(kt)+pxcf
else
drpt(kt)=drpt(kt)-pxx
drptmf(kt)=drptmf(kt)-pxmf
drptfm(kt)=drptfm(kt)-pxfm
drptcf(kt)=drptcf(kt)-pxcf
endif
203 continue
202 continue
return
end

c-----------------------------------------------------------
subroutine PXDEN
c-----------------------------------------------------------

parameter (ndim=500, ndti=50, nrbin=15, npt=15)


common /iqmdwork/np,nzpr,nzta,npr,nta,mtimes,al,ybeam
common /iqmdout/x(ndti,ndim),y(ndti,ndim),z(ndti,ndim),
& px(ndti,ndim),py(ndti,ndim),pz(ndti,ndim),
& efm(ndti,ndim),iso(ndti,ndim)
common /flowcom/pxint(ndti,ndim),pxicnf(ndti,ndim),cf(ndti,ndim),
& drpt(ndti),drptmf(ndti),drptfm(ndti),drptcf(ndti)

common /flowden/dens(ndti,ndim),normden(ndti,ndim),
& densp(ndti),
& drpt1(ndti),drpt2(ndti),
& drpt3(ndti),
& drptmf1(ndti),drptfm1(ndti),drptcf1(ndti),
& drptmf2(ndti),drptfm2(ndti),drptcf2(ndti),
& drptmf3(ndti),drptfm3(ndti),drptcf3(ndti)
common/denvar/n1(ndti),n2(ndti),n3(ndti)

real pxx,pyy,pzz,pxq,pyq,pzq,psq,engy,rpdt
real normden,anorm,dens,argu,dpart

data pi/3.141592654/
rho_0=0.17

anorm=1.0/(2.*pi*al/4.)**1.50
do 301 kk=1,mtimes
drpt(kk)=0.0
drpt1(kk)=0.0
drptmf1(kk)=0.0
drptfm1(kk)=0.0
drptcf1(kk)=0.0
drpt2(kk)=0.0
drptmf2(kk)=0.0
drptfm2(kk)=0.0
drptcf2(kk)=0.0
drpt3(kk)=0.0
drptmf3(kk)=0.0
drptfm3(kk)=0.0
drptcf3(kk)=0.0
densp(kk)=0.0
301 continue

do 306 ll=1,ndti
do 302 ji=1,ndim
dens(ll,ji)=0.0
302 continue
306 continue

do 303 kt=1,mtimes
do 304 i=1,np
do 305 j=i+1,np
dr2=(x(kt,i)-x(kt,j))**2+(y(kt,i)-y(kt,j))**2+
& (z(kt,i)-z(kt,j))**2
argu=dr2/(al/2.)
if (argu .lt. 80.0)then
dpart=exp(-argu)
else
dpart=0.0
endif
dens(kt,i)=dens(kt,i)+dpart
dens(kt,j)=dens(kt,j)+dpart
305 continue
dens(kt,i)=anorm*(1.0+dens(kt,i))
normden(kt,i)=dens(kt,i)/rho_0
densp(kt)=densp(kt)+normden(kt,i)
denst=normden(kt,i)
pxx=px(kt,i)
pyy=py(kt,i)
pzz=pz(kt,i)
pxmf=pxint(kt,i)
pxfm=pxicnf(kt,i)
pxcf=cf(kt,i)
pxq=pxx*pxx
pyq=pyy*pyy
pzq=pzz*pzz
psq=pxq+pyq+pzq
engy=sqrt(psq+efm(kt,i)**2)
rpdt=0.5*alog((engy+pzz)/(engy-pzz))/ybeam
if (denst .ge. 0.0 .and. denst .lt. 1.0)then
n1(kt)=n1(kt)+1
if (rpdt .ge. 0.0)then
drpt1(kt)=drpt1(kt)+pxx
drptmf1(kt)=drptmf1(kt)+pxmf
drptfm1(kt)=drptfm1(kt)+pxfm
drptcf1(kt)=drptcf1(kt)+pxcf
else
drpt1(kt)=drpt1(kt)-pxx
drptmf1(kt)=drptmf1(kt)-pxmf
drptfm1(kt)=drptfm1(kt)-pxfm
drptcf1(kt)=drptcf1(kt)-pxcf
endif
else
if (denst .ge. 1.0 .and. denst .lt. 7.0)then
n2(kt)=n2(kt)+1
if (rpdt .ge. 0.0)then
drpt2(kt)=drpt2(kt)+pxx
drptmf2(kt)=drptmf2(kt)+pxmf
drptfm2(kt)=drptfm2(kt)+pxfm
drptcf2(kt)=drptcf2(kt)+pxcf
else
drpt2(kt)=drpt2(kt)-pxx
drptmf2(kt)=drptmf2(kt)-pxmf
drptfm2(kt)=drptfm2(kt)-pxfm
drptcf2(kt)=drptcf2(kt)-pxcf
endif
else
if (denst .ge. 7.0 .and. denst .lt. 8.0)then
n3(kt)=n3(kt)+1
if (rpdt .ge. 0.0)then
drpt3(kt)=drpt3(kt)+pxx
drptmf3(kt)=drptmf3(kt)+pxmf
drptfm3(kt)=drptfm3(kt)+pxfm
drptcf3(kt)=drptcf3(kt)+pxcf
else
drpt3(kt)=drpt3(kt)-pxx
drptmf3(kt)=drptmf3(kt)-pxmf
drptfm3(kt)=drptfm3(kt)-pxfm
drptcf3(kt)=drptcf3(kt)-pxcf
endif
endif
endif
endif
304 continue
303 continue
return
end
c-----------------------------------------------------------
subroutine PXA
c-----------------------------------------------------------

parameter (ndim=500, ndti=50, nrbin=15, npt=15)


common /iqmdwork/np,nzpr,nzta,npr,nta,mtimes,al,ybeam
common /iqmdout/x(ndti,ndim),y(ndti,ndim),z(ndti,ndim),
& px(ndti,ndim),py(ndti,ndim),pz(ndti,ndim),
& efm(ndti,ndim),iso(ndti,ndim)
common /flowden/dens(ndti,ndim),normden(ndti,ndim),
& densp(ndti),
& drpt1(ndti),drpt2(ndti),
& drpt3(ndti),
& drptmf1(ndti),drptfm1(ndti),drptcf1(ndti),
& drptmf2(ndti),drptfm2(ndti),drptcf2(ndti),
& drptmf3(ndti),drptfm3(ndti),drptcf3(ndti)
common /flowpxa/avpx(ndti,nrbin),dndy(ndti,nrbin),
& avpx1(ndti,nrbin),avpx2(ndti,nrbin),
& avpx3(ndti,nrbin),dndy1(ndti,nrbin),
& dndy2(ndti,nrbin),dndy3(ndti,nrbin),
& fpxy(ndti,nrbin),fpxy1(ndti,nrbin),
& fpxy2(ndti,nrbin),fpxy3(ndti,nrbin),
& yrpm(nrbin)

real pxx,pyy,pzz,pxq,pyq,pzq,psq,engy,rpdt,yyl,yyh
real normden,denst
integer mn,mn1,mn2,mn3

do 401 kt=1,mtimes
dely=0.25
yrpd=-1.875
nyrp=15
do 402 n=1,nyrp
yrpm(n)=yrpd+0.125
yyl=yrpd
yyh=yrpd+dely
dndy(kt,n)=0.0
dndy1(kt,n)=0.0
dndy2(kt,n)=0.0
dndy3(kt,n)=0.0
avpx(kt,n)=0.0
avpx1(kt,n)=0.0
avpx2(kt,n)=0.0
avpx3(kt,n)=0.0
fpxy(kt,n)=0.0
fpxy1(kt,n)=0.0
fpxy2(kt,n)=0.0
fpxy3(kt,n)=0.0
mn=0
mn1=0
mn2=0
mn3=0
do 403 i=1,np
pxx=px(kt,i)
pyy=py(kt,i)
pzz=pz(kt,i)
pxq=pxx*pxx
pyq=pyy*pyy
pzq=pzz*pzz
psq=pxq+pyq+pzq
engy=sqrt(psq+efm(kt,i)**2)
rpdt=0.5*alog((engy+pzz)/(engy-pzz))/ybeam
if (rpdt .ge. yyl .and. rpdt .lt. yyh)then
mn=mn+1
avpx(kt,n)=avpx(kt,n)+px(kt,i)
endif
denst=normden(kt,i)
if (denst .ge. 0.0 .and. denst .lt. 1.0)then
if (rpdt .ge. yyl .and. rpdt .lt. yyh)then
mn1=mn1+1
avpx1(kt,n)=avpx1(kt,n)+px(kt,i)
endif
else
if (denst .ge. 1.0 .and. denst .lt. 7.0)then
if (rpdt .ge. yyl .and. rpdt .lt. yyh)then
mn2=mn2+1
avpx2(kt,n)=avpx2(kt,n)+px(kt,i)
endif
else
if (denst .ge. 7.0 .and. denst .lt. 8.0)then
if (rpdt .ge. yyl .and. rpdt .lt. yyh)then
mn3=mn3+1
avpx3(kt,n)=avpx3(kt,n)+px(kt,i)
endif
endif
endif
endif
403 continue
if (mn .ne. 0)then
fpxy(kt,n)=fpxy(kt,n)+avpx(kt,n)/mn*1000.0
dndy(kt,n)=dndy(kt,n)+mn/dely
endif
if (mn1 .ne. 0)then
fpxy1(kt,n)=fpxy1(kt,n)+avpx1(kt,n)/mn1*1000.0
dndy1(kt,n)=dndy1(kt,n)+mn1/dely
endif
if (mn2 .ne. 0)then
fpxy2(kt,n)=fpxy2(kt,n)+avpx2(kt,n)/mn2*1000.0
dndy2(kt,n)=dndy2(kt,n)+mn2/dely
endif
if (mn3 .ne. 0)then
fpxy3(kt,n)=fpxy3(kt,n)+avpx3(kt,n)/mn3*1000.0
dndy3(kt,n)=dndy3(kt,n)+mn3/dely
endif
yrpd=yrpd+dely
402 continue
401 continue
return
end
c--------------------------------------------------
subroutine ELLIP
c----------------------------------------------------------------

parameter (ndim=500, ndti=50, nrbin=15, npt=15)

common /iqmdwork/np,nzpr,nzta,npr,nta,mtimes,al,ybeam

common /iqmdout/x(ndti,ndim),y(ndti,ndim),z(ndti,ndim),
& px(ndti,ndim),py(ndti,ndim),pz(ndti,ndim),
& efm(ndti,ndim),iso(ndti,ndim)
common /ellipticf/pt(ndti,npt),elpf(ndti,npt),ptw(npt),
& pqtt(ndti,npt),
& v2(ndti,npt),v2f(ndti,npt)
real pxx,pyy,pzz,pxq,pyq,pzq,pt,ptt,elpf,num,pqtt
real ptl, pth,v2,v2f,transpt,inipt
do 501 kt=1,mtimes
edely = 0.1
inipt = 0.0
nptt=10
do 502 n = 1,nptt
ptl = inipt
ptw(n) = inipt+0.05
pth = ptl+edely
npart = 0
v2(kt,n) = 0.0
v2f(kt,n)=0.0
c elpf(kt,n) = 0.0
do 503 i=1,np
elpf(kt,n) = 0.0
pt(kt,n)=0.0
pqtt(kt,n)=0.0
pxx=px(kt,i)
pyy=py(kt,i)
pzz=pz(kt,i)
pxq=pxx*pxx
pyq=pyy*pyy
pt(kt,n)=pt(kt,n)+pxq+pyq
ptt=pt(kt,n)
pqtt(kt,n)=pqtt(kt,n)+sqrt(pt(kt,n))
num=pxq-pyq
elpf(kt,n)=elpf(kt,n)+ num/ptt
transpt = pqtt(kt,n)
if(transpt .ge. ptl .and. transpt .lt. pth)then
npart = npart+1
v2(kt,n) = v2(kt,n)+(elpf(kt,n))
endif
503 continue
if(npart .ne. 0)then
v2f(kt,n) = v2f(kt,n)+(v2(kt,n)/npart)
endif
inipt = inipt+edely
502 continue
csakshi write(3,*)pqtt(kt),elpf(kt)
501 continue
return
end
c-----------------------------------------------------------
subroutine DIFFFLOW
c-----------------------------------------------------------

parameter (ndim=500, ndti=50, nrbin=15, npt=15)


common /iqmdwork/np,nzpr,nzta,npr,nta,mtimes,al,ybeam
common /iqmdout/x(ndti,ndim),y(ndti,ndim),z(ndti,ndim),
& px(ndti,ndim),py(ndti,ndim),pz(ndti,ndim),
& efm(ndti,ndim),iso(ndti,ndim)
common /diffflowpxa/avpxp(ndti,nrbin),avpxn(ndti,nrbin),
& fpxyp(ndti,nrbin),fpxyn(ndti,nrbin),
& dyrpm(nrbin),fnp(ndti,nrbin)

real pxx,pyy,pzz,pxq,pyq,pzq,psq,engy,rpdt,yyl,yyh
real mnp,mnn
integer isot

do 601 kt=1,mtimes
dely=0.25
yrpd=-1.875
nyrp=15
do 602 n=1,nyrp
dyrpm(n)=yrpd+0.125
yyl=yrpd
yyh=yrpd+dely
avpxp(kt,n)=0.0
avpxn(kt,n)=0.0
fpxyp(kt,n)=0.0
fpxyn(kt,n)=0.0
fnp(kt,n)=0.0
mnp=0.0
mnn=0.0
do 603 i=1,np
pxx=px(kt,i)
pyy=py(kt,i)
pzz=pz(kt,i)
pxq=pxx*pxx
pyq=pyy*pyy
pzq=pzz*pzz
psq=pxq+pyq+pzq
engy=sqrt(psq+efm(kt,i)**2)
rpdt=0.5*alog((engy+pzz)/(engy-pzz))/ybeam
isot=iso(kt,i)
if (isot .eq. 0)then
if (rpdt .ge. yyl .and. rpdt .lt. yyh)then
mnn=mnn+1.0
avpxn(kt,n)=avpxn(kt,n)+px(kt,i)
endif
else
if (isot .eq. 1)then
if (rpdt .ge. yyl .and. rpdt .lt. yyh)then
mnp=mnp+1.0
avpxp(kt,n)=avpxp(kt,n)+px(kt,i)
endif
endif
endif
603 continue
if (mnn .ne. 0.0)then
fpxyn(kt,n)=fpxyn(kt,n)+avpxn(kt,n)/mnn*1000.0
endif
if (mnp .ne. 0.0)then
fpxyp(kt,n)=fpxyp(kt,n)+avpxp(kt,n)/mnp*1000.0
endif
if (mnn .ne. 0.0 .or. mnp .ne. 0.0)then
fnp(kt,n)=fnp(kt,n)
& +(((mnn/(mnp+mnn))*fpxyn(kt,n))
& -((mnp/(mnp+mnn))*fpxyp(kt,n)))
endif
yrpd=yrpd+dely
602 continue
601 continue
return
end
c--------------------------------------------------
subroutine azangle
c----------------------------------------------------------------
parameter (ndim=500, ndti=50, nrbin=15, npt=15)

common /iqmdwork/np,nzpr,nzta,npr,nta,mtimes,al,ybeam

common /iqmdout/x(ndti,ndim),y(ndti,ndim),z(ndti,ndim),
& px(ndti,ndim),py(ndti,ndim),pz(ndti,ndim),
& efm(ndti,ndim),iso(ndti,ndim)
common /azuang/aw(npt),nam(ndti,npt),naz,arp(nrbin)
real pxx,pyy,pzz,pxq,pyq,psq,egy,yy1,yyh
real al,ah,inia
do 701 kt=1,mtimes
c rdely=0.25
c arpd=-1.875
c nyrp=15
adely = 30
inia = -180
naz=12
c do 772 a=1,nyrp
c arp(a)=arpd+0.125
c yy1=arpd
c yyh=arpd+rdely
do 702 n = 1,naz
al = inia
aw(n) = inia+15
ah = al+adely
nam(kt,n)=0.0

do 703 i=1,np
pxx=px(kt,i)
pyy=py(kt,i)
pxq=pxx*pxx
pyq=pyy*pyy
pzq=pzz*pzz
psq=pxq+pyq+pzq
engy=sqrt(psq+efm(kt,i)**2)
rpdt=0.5*alog((engy+pzz)/(engy-pzz))/ybeam
ang=pyy/pxx
angle1= atan(ang)
angle=(angle1*180.0)/3.14
c write(3,*)angle, rpdt
if (rpdt .ge.-0.25 .and. rpdt .lt.0.25)then
if(angle .ge. al .and. angle .lt. ah)then
nam(kt,n)= nam(kt,n)+1
endif
endif
703 continue
c write(3,*)aw(n),nam(kt,n),aw(1),naz
inia = inia+adely
702 continue
c arpd=arpd +rdely
c 772 continue
701 continue
return
end

Você também pode gostar