1 | subroutine output(ne,nbuffer,outcor,nsize,mt) |
---|
2 | c------------------------------------------------------------------------ |
---|
3 | save |
---|
4 | c |
---|
5 | include 'param_sz.h' |
---|
6 | include 'constcom.h' |
---|
7 | include 'coordcom.h' |
---|
8 | include 'ncordscom.h' |
---|
9 | include 'outcom.h' |
---|
10 | include 'syscom.h' |
---|
11 | include 'tstepcom.h' |
---|
12 | include 'ucom.h' |
---|
13 | c |
---|
14 | common/back/bmax,byz0,byzs,pzowmin,pzowmax,iback |
---|
15 | common/cout7/corout7(6,imaa),bgs,nelal,nbufl,iout7 |
---|
16 | common/ct/var,rp,dzmin,dzmax,wrm,dwbm,xrmsbg,yrmsbg, |
---|
17 | 1xsmax,xpsmax,ysmax,ypsmax,istat,nebm |
---|
18 | dimension outcor(8,nsize) |
---|
19 | c-------------------------------------------------------------------------- |
---|
20 | c* |
---|
21 | data iflagb/0/ |
---|
22 | if(ne.gt.0) then |
---|
23 | print *,' element of ref. part. is ',ne |
---|
24 | endif |
---|
25 | if (iflagb.ne.0)go to 9 |
---|
26 | iflagb=1 |
---|
27 | write(nnout,*)' ' |
---|
28 | write(nnout, 5) |
---|
29 | 5 format(' ne np ref phase zr zr-zmin zmax-zr' |
---|
30 | * , ' Wr Wmin Wmax') |
---|
31 | write(nnout,6) |
---|
32 | 6 format(' deg cm deg deg ' |
---|
33 | * , ' MeV MeV MeV') |
---|
34 | 9 continue |
---|
35 | c for snap-shot |
---|
36 | if(cord(7,1).le.5.) then |
---|
37 | do 3 i=1,ngood |
---|
38 | write(nsnap) wt,(cord(j,i),j=1,6,2) |
---|
39 | 3 continue |
---|
40 | endif |
---|
41 | if (ne.ne.0) go to 20 |
---|
42 | rp=wt |
---|
43 | prm=amod(wt,360.) |
---|
44 | np=ngood |
---|
45 | zr=cord(5,1) |
---|
46 | zmin=zr |
---|
47 | zmax=zr |
---|
48 | bgmax=cord(6,1) |
---|
49 | bgmin=bgmax |
---|
50 | xsmin=cord(1,1) |
---|
51 | xsmax=xsmin |
---|
52 | xpsmin=cord(2,1) |
---|
53 | xpsmax=xpsmin |
---|
54 | ysmin=cord(3,1) |
---|
55 | ysmax=ysmin |
---|
56 | ypsmin=cord(4,1) |
---|
57 | ypsmax=ypsmin |
---|
58 | do 15 n=1,ngood |
---|
59 | if(cord(1,n).lt.xsmin)xsmin=cord(1,n) |
---|
60 | if(cord(1,n).gt.xsmax)xsmax=cord(1,n) |
---|
61 | if(cord(2,n).lt.xpsmin)xpsmin=cord(2,n) |
---|
62 | if(cord(2,n).gt.xpsmax)xpsmax=cord(2,n) |
---|
63 | if(cord(3,n).lt.ysmin)ysmin=cord(3,n) |
---|
64 | if(cord(3,n).gt.ysmax)ysmax=cord(3,n) |
---|
65 | if(cord(4,n).lt.ypsmin)ypsmin=cord(4,n) |
---|
66 | if(cord(5,n).lt.ypsmax)ypsmax=cord(4,n) |
---|
67 | if(cord(5,n).lt.zmin)zmin=cord(5,n) |
---|
68 | if(cord(5,n).gt.zmax)zmax=cord(5,n) |
---|
69 | if(cord(6,n).lt.bgmin)bgmin=cord(6,n) |
---|
70 | if(cord(6,n).gt.bgmax)bgmax=cord(6,n) |
---|
71 | 15 continue |
---|
72 | wrm=(sqrt(1.+cord(6,1)**2)-1.)*erest |
---|
73 | wmin=(sqrt(1.+bgmin**2)-1.)*erest |
---|
74 | wmax=(sqrt(1.+bgmax**2)-1.)*erest |
---|
75 | dzmin=zr-zmin |
---|
76 | dzmax=zmax-zr |
---|
77 | go to 30 |
---|
78 | 20 continue |
---|
79 | np=nbuffer |
---|
80 | rp=pr(ne) |
---|
81 | prm=amod(rp,360.) |
---|
82 | zr=zloc(ne) |
---|
83 | zmin=rp |
---|
84 | zmax=rp |
---|
85 | wrm=wr(ne) |
---|
86 | wmin=wrm |
---|
87 | wmax=wrm |
---|
88 | xsmin=outcor(1,1) |
---|
89 | xsmax=xsmin |
---|
90 | xpsmin=outcor(2,1) |
---|
91 | xpsmax=xpsmin |
---|
92 | ysmin=outcor(3,1) |
---|
93 | ysmax=ysmin |
---|
94 | ypsmin=outcor(4,1) |
---|
95 | ypsmax=ypsmin |
---|
96 | if(nbuffer.gt.nsize)then |
---|
97 | write(ndiag,*)'nbuf greater than nsize in output',nbuffer,nsize |
---|
98 | nbuffer=nsize |
---|
99 | endif |
---|
100 | do 25 n=1,nbuffer |
---|
101 | if(outcor(1,n).lt.xsmin)xsmin=outcor(1,n) |
---|
102 | if(outcor(1,n).gt.xsmax)xsmax=outcor(1,n) |
---|
103 | if(outcor(2,n).lt.xpsmin)xpsmin=outcor(2,n) |
---|
104 | if(outcor(2,n).gt.xpsmax)xpsmax=outcor(2,n) |
---|
105 | if(outcor(3,n).lt.ysmin)ysmin=outcor(2,n) |
---|
106 | if(outcor(3,n).gt.ysmax)ysmax=outcor(3,n) |
---|
107 | if(outcor(4,n).lt.ypsmin)ypsmin=outcor(4,n) |
---|
108 | if(outcor(5,n).lt.zmin)zmin=outcor(5,n) |
---|
109 | if(outcor(5,n).gt.zmax)zmax=outcor(5,n) |
---|
110 | if(outcor(6,n).lt.wmin)wmin=outcor(6,n) |
---|
111 | if(outcor(6,n).gt.wmax)wmax=outcor(6,n) |
---|
112 | 25 continue |
---|
113 | dzmin=rp-zmin |
---|
114 | dzmax=zmax-rp |
---|
115 | 30 continue |
---|
116 | dwbm=wmax-wmin |
---|
117 | nebm=ne |
---|
118 | write(nnout, 35)ne,np,rp,prm,zr,dzmin,dzmax,wrm,wmin,wmax |
---|
119 | 35 format(i4,i5,f8.1,'(',f4.0,')',3f8.1,3f8.3) |
---|
120 | do 5994 ii=1,nbuffer |
---|
121 | do 5995 iii=1,6 |
---|
122 | if(ne.eq.0) then |
---|
123 | corout7(iii,ii)=cord(iii,ii) |
---|
124 | else |
---|
125 | corout7(iii,ii)=outcor(iii,ii) |
---|
126 | endif |
---|
127 | 5995 continue |
---|
128 | 5994 continue |
---|
129 | bgs=sqrt(wrm/erest*(2.+wrm/erest)) |
---|
130 | nbufl=nbuffer |
---|
131 | nelal=ne |
---|
132 | if(ne.gt.0) then |
---|
133 | iout7=iout7+1 |
---|
134 | call outlaldp ! output |
---|
135 | iout7=iout7+1 |
---|
136 | else |
---|
137 | endif |
---|
138 | nsub=optcon(1) |
---|
139 | if(nsub.eq.1)call out1(ne,nbuffer,outcor,nsize) |
---|
140 | if(nsub.eq.2)call out2(ne,nbuffer,outcor,nsize) |
---|
141 | if(nsub.eq.3)call out3(ne,nbuffer,outcor,nsize) |
---|
142 | if(nsub.eq.4)call out4(ne,nbuffer,outcor,nsize) |
---|
143 | if(nsub.eq.5)call out5(ne,nbuffer,outcor,nsize) |
---|
144 | if(nsub.eq.6)call out6dp(1,1) |
---|
145 | return |
---|
146 | end |
---|
147 | c++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++* |
---|