30
31
32
33#include "implicit_f.inc"
34
35
36
37 INTEGER NSFLSW
38 INTEGER NEFLSW(*), NNFLSW(8,*)
39
41 . crflsw(6,*), flsw(9,*), x(3,*
42
43
44
45#include "com08_c.inc"
46#include "units_c.inc"
47
48
49
50 INTEGER I2, IS, NEL, I1, I, IN, N1, N2, N3, N4, ND, IB2, IB3, IB4,
51 . IB5, IB6, IB10, IB11, IB12, J
52
54 . crx, cry, crz, cnx, cny, cnz, srt, sv2, flvm, pre, ene, rho,
55 . vol, tke, tem, tde, x1, y1, z1, x2, y2, z2, x3, y3, z3, x4, y4,
56 . z4, vx1, vy1, vz1, vx2, vy2, vz2, vx3, vy3, vz3, vx4, vy4, vz4,
57 . vmx, vmy, vmz, omx, omy, omz, sfx, sfy, sfz, vl2, vlm, sfm,
58 . flv, sw1, sw2
59
60 i2=0
61 DO 500 is = 1, nsflsw
62
63 flsw(1,is) = zero
64 flsw(2,is) = zero
65 flsw(3,is) = zero
66 flsw(4,is) = zero
67 flsw(5,is) = zero
68 flsw(6,is) = zero
69 flsw(7,is) = zero
70 flsw(8,is) = zero
71 flsw(9,is) = zero
72
73 nel = neflsw(is)
74 i1=i2+1
75 i2=i2+nel
76 crx = crflsw(1,is)
77 cry = crflsw(2,is)
78 crz = crflsw(3,is)
79 cnx = crflsw(4,is)
80 cny = crflsw(5,is)
81 cnz = crflsw(6,is)
82 srt = zero
83 sv2 = zero
84 flvm = zero
85
86 DO 400 i = i1, i2
87 in = nnflsw(1,i)
88 n1 = nnflsw(2,i)
89 n2 = nnflsw(3,i)
90 n3 = nnflsw(4,i)
91 n4 = nnflsw(5,i)
92 nd = nnflsw(6,i)
93 ib2 = nnflsw(7,i)
94 ib3 = nnflsw(8,i)
95
96 ib4 = ib3 + in
97 ib5 = ib4 + in
98 ib6 = ib5 + in
99 ib10= ib6 + in
100 ib11= ib10+ in
101 ib12= ib11+ in
102 pre = -(elbuf(ib2)+elbuf(ib2+1)+elbuf(ib2+2))*third
103 ene = elbuf(ib3)
104 rho = elbuf(ib4)
105 vol = elbuf(ib6)
106 tke = elbuf(ib10)
107 tem = elbuf(ib11)
108 tde = elbuf(ib12)
109
110 x1 = x(1,n1)
111 y1 = x(2,n1)
112 z1 = x(3,n1)
113
114 x2 = x(1,n2)
115 y2 = x(2,n2)
116 z2 = x(3,n2)
117
118 x3 = x(1,n3)
119 y3 = x(2,n3)
120 z3 = x(3,n3)
121
122 x4 = x(1,n4)
123 y4 = x(2,n4)
124 z4 = x(3,n4)
125
126 vx1 = v(1,n1)
127 vy1 = v(2,n1)
128 vz1 = v(3,n1)
129
130 vx2 = v(1,n2)
131 vy2 = v(2,n2)
132 vz2 = v(3,n2)
133
134 vx3 = v(1,n3)
135 vy3 = v(2,n3)
136 vz3 = v(3,n3)
137
138 vx4 = v(1,n4)
139 vy4 = v(2,n4)
140 vz4 = v(3,n4)
141
142 vmx = (vx1+vx2+vx3+vx4)/nd
143 vmy = (vy1+vy2+vy3+vy4)/nd
144 vmz = (vz1+vz2+vz3+vz4)/nd
145
146 omx = .25*(x1 +x2 +x3 +x4) - crx
147 omy = .25*(y1 +y2 +y3 +y4) - cry
148 omz = .25*(z1 +z2 +z3 +z4) - crz
149
150 sfx = half*((y3-y1)*(z4-z2)-
151 1 (z3-z1)*(y4-y2))
152 sfy =half*((z3-z1)*(x4-x2)-
153 1 (x3-x1)*(z4-z2))
154 sfz = half*((x3-x1)*(y4-y2)-
155 1 (y3-y1)*(x4-x2))
156
157 vl2 = vmx*vmx+vmy*vmy+vmz*vmz
158 vlm = sqrt(vl2)
159 sfm = sqrt(sfx*sfx+sfy*sfy+sfz*sfz)
160 flv = vmx*sfx + vmy*sfy + vmz*sfz
161 sw1 = sfx * (omy*vmz - omz*vmy) +
162 1 sfy * (omz*vmx - omx*vmz) +
163 2 sfz * (omx*vmy - omy*vmx)
164 sw2 = (omx*omx + omy*omy + omz*omz)*
165 1 (cnx *sfx + cny *sfy + cnz *sfz)-
166 2 (omx*cnx + omy*cny + omz*cnz )*
167 3 (omx*sfx + omy*sfy + omz*sfz)
168
169 srt = srt + sfm
170 sv2 = sv2 + sfm*vl2
171 flvm = flvm + flv
172 flsw(1,is) = flsw(1,is) + flv*rho
173 flsw(2,is) = flsw(2,is) + sw1
174 flsw(3,is) = flsw(3,is) + sw2
175 flsw(4,is) = flsw(4,is) + vlm*sfm
176 flsw(5,is) = flsw(5,is) + rho*sfm
177 flsw(6,is) = flsw(6,is) + pre*sfm
178 flsw(7,is) = flsw(7,is) + ene*sfm
179 flsw(8,is) = flsw(8,is) + tke*sfm
180 flsw(9,is) = flsw(9,is) + tde*sfm
181
182 400 CONTINUE
183
184 flsw(2,is) = flsw(2,is)/flsw(3,is)
185 flsw(4,is) = flsw(4,is)/srt
186 flsw(5,is) = flsw(5,is)/srt
187 flsw(6,is) = flsw(6,is)/srt
188 flsw(7,is) = flsw(7,is)/srt
189 flsw(8,is) = flsw(8,is)/srt
190 flsw(9,is) = flsw(9,is)/srt
191
192 flsw(3,is) = sqrt( sv2/srt - (flvm/srt)**2 )
193 IF(flsw(4,is)==zero)THEN
194 flsw(3,is)=zero
195 ELSE
196 flsw(3,is)=flsw(3,is)/flsw(4,is)
197 ENDIF
198
199 500 CONTINUE
200
201 WRITE (iout, 1000) tt
202 DO 600 is = 1, nsflsw
203 WRITE (iout,1100) is, (flsw(j,is),j=1,9)
204 600 CONTINUE
205
206 1000 FORMAT (3h t=,1pe9.3,11h m. flux ,11h rotation ,
207 . 11h std error,11h velocity ,
208 . 11h density ,11h pressure ,
209 . 11h energie ,11h ener. t. ,
210 . 11h diss. t. )
211 1100 FORMAT (4h set,i5,3x,1p9e11.3)
212 RETURN