OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
fhvis3.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23!||====================================================================
24!|| fhvis3 ../engine/source/elements/solid/solide/fhvis3.F
25!||--- called by ------------------------------------------------------
26!|| sforc3 ../engine/source/elements/solid/solide/sforc3.F
27!||--- uses -----------------------------------------------------
28!|| ale_mod ../common_source/modules/ale/ale_mod.f
29!||====================================================================
30 SUBROUTINE fhvis3(
31 1 PM, RHO, OFF, VX1,
32 2 VX2, VX3, VX4, VX5,
33 3 VX6, VX7, VX8, VY1,
34 4 VY2, VY3, VY4, VY5,
35 5 VY6, VY7, VY8, VZ1,
36 6 VZ2, VZ3, VZ4, VZ5,
37 7 VZ6, VZ7, VZ8, F11,
38 8 F21, F31, F12, F22,
39 9 F32, F13, F23, F33,
40 A F14, F24, F34, F15,
41 B F25, F35, F16, F26,
42 C F36, F17, F27, F37,
43 D F18, F28, F38, PX1H1,
44 E PX1H2, PX1H3, PX2H1, PX2H2,
45 F PX2H3, PX3H1, PX3H2, PX3H3,
46 G PX4H1, PX4H2, PX4H3, VOL,
47 H MAT, CXX, VIS, VD2,
48 I DELTAX, EANI, PID, GEO,
49 J PARTSAV, IPARTS, NEL, NFT,
50 K JLAG, JHBE)
51C-----------------------------------------------
52C M o d u l e s
53C-----------------------------------------------
54 USE ale_mod
55C-----------------------------------------------
56C I m p l i c i t T y p e s
57C-----------------------------------------------
58#include "implicit_f.inc"
59#include "comlock.inc"
60C-----------------------------------------------
61C G l o b a l P a r a m e t e r s
62C-----------------------------------------------
63#include "mvsiz_p.inc"
64C-----------------------------------------------
65C C o m m o n B l o c k s
66C-----------------------------------------------
67#include "param_c.inc"
68#include "com08_c.inc"
69C-----------------------------------------------
70C D u m m y A r g u m e n t s
71C-----------------------------------------------
72 INTEGER, INTENT(IN) :: NEL
73 INTEGER, INTENT(IN) :: NFT
74 INTEGER, INTENT(IN) :: JLAG
75 INTEGER, INTENT(IN) :: JHBE
76 INTEGER MAT(*),PID(*),IPARTS(*)
77 my_real
78 . PM(NPROPM,*),GEO(NPROPG,*), RHO(*),OFF(*),
79 . VX1(*),VX2(*),VX3(*),VX4(*),VX5(*),VX6(*),VX7(*),VX8(*),
80 . VY1(*),VY2(*),VY3(*),VY4(*),VY5(*),VY6(*),VY7(*),VY8(*),
81 . VZ1(*),VZ2(*),VZ3(*),VZ4(*),VZ5(*),VZ6(*),VZ7(*),VZ8(*),
82 . F11(*),F21(*),F31(*),F12(*),F22(*),F32(*),
83 . F13(*),F23(*),F33(*),F14(*),F24(*),F34(*),
84 . F15(*),F25(*),F35(*),F16(*),F26(*),F36(*),
85 . F17(*),F27(*),F37(*),F18(*),F28(*),F38(*),
86 . PX1H1(*), PX1H2(*), PX1H3(*),
87 . PX2H1(*), PX2H2(*), PX2H3(*),
88 . PX3H1(*), PX3H2(*), PX3H3(*),
89 . PX4H1(*), PX4H2(*), PX4H3(*),EANI(*),PARTSAV(NPSAV,*),
90 . VOL(*),CXX(*),VIS(*),VD2(*),DELTAX(*)
91C-----------------------------------------------
92C L o c a l V a r i a b l e s
93C-----------------------------------------------
94 INTEGER I, FLUID,MX, J, II, IC, JST(MVSIZ+1)
95C REAL
97 . caq(mvsiz), fcl(mvsiz), fcq(mvsiz),ehou(mvsiz),
98 . h11(mvsiz), h12(mvsiz), h13(mvsiz), h14(mvsiz),
99 . h15(mvsiz), h16(mvsiz), h17(mvsiz), h18(mvsiz),
100 . h21(mvsiz), h22(mvsiz), h23(mvsiz), h24(mvsiz),
101 . h25(mvsiz), h26(mvsiz), h27(mvsiz), h28(mvsiz),
102 . h31(mvsiz), h32(mvsiz), h33(mvsiz), h34(mvsiz),
103 . h35(mvsiz), h36(mvsiz), h37(mvsiz), h38(mvsiz),
104 . hx1(mvsiz), hx2(mvsiz), hx3(mvsiz), hx4(mvsiz),
105 . hy1(mvsiz), hy2(mvsiz), hy3(mvsiz), hy4(mvsiz),
106 . hz1(mvsiz), hz2(mvsiz), hz3(mvsiz), hz4(mvsiz),
107 . hgx1(mvsiz), hgx2(mvsiz), hgx3(mvsiz), hgx4(mvsiz),
108 . hgy1(mvsiz), hgy2(mvsiz), hgy3(mvsiz), hgy4(mvsiz),
109 . hgz1(mvsiz), hgz2(mvsiz), hgz3(mvsiz), hgz4(mvsiz),
110 . vx3478(mvsiz), vx2358(mvsiz), vx1467(mvsiz), vx1256(mvsiz),
111 . vy3478(mvsiz), vy2358(mvsiz), vy1467(mvsiz), vy1256(mvsiz),
112 . vz3478(mvsiz), vz2358(mvsiz), vz1467(mvsiz), vz1256(mvsiz),
113 . g11(mvsiz),g21(mvsiz),g31(mvsiz),g41(mvsiz),
114 . g51(mvsiz),g61(mvsiz),g71(mvsiz),g81(mvsiz),
115 . g12(mvsiz),g22(mvsiz),g32(mvsiz),g42(mvsiz),
116 . g52(mvsiz),g62(mvsiz),g72(mvsiz),g82(mvsiz),
117 . g13(mvsiz),g23(mvsiz),g33(mvsiz),g43(mvsiz),
118 . g53(mvsiz),g63(mvsiz),g73(mvsiz),g83(mvsiz),
119 . len(mvsiz),
120 . ehourt
121C-----------------------------------------------
122 DO i=1,nel
123 caq(i)=fourth*off(i)*geo(13,pid(i))
124 ENDDO
125C
126 IF(ale%UPWIND%UPWM > 1 .OR. jlag == 1)THEN
127 DO i=1,nel
128 IF(vis(i)>zero)THEN
129 fcq(i)=zero
130 fcl(i)=ten*caq(i)*vis(i)*deltax(i)
131 ELSE
132 fcq(i)=zero
133 fcl(i)=caq(i)*rho(i)*cxx(i)*deltax(i)**2
134 ENDIF
135 ENDDO
136 ELSEIF(ale%UPWIND%UPWM == 0)THEN
137 DO i=1,nel
138 fcl(i)=caq(i)*rho(i)*cxx(i)*vol(i)**two_third
139 fcq(i)=zero
140 ENDDO
141 ELSEIF(ale%UPWIND%UPWM == 1)THEN
142 DO i=1,nel
143 fcl(i)=caq(i)*rho(i)*deltax(i)**2
144 fcl(i)=min(fcl(i)*cxx(i),
145 . max(ten*caq(i)*vis(i)*deltax(i),fcl(i)*sqrt(vd2(i))))
146 fcq(i)=zero
147 ENDDO
148 ENDIF
149C
150 IF(jhbe == 0)THEN
151 DO i=1,nel
152 vx3478(i)=vx3(i)-vx4(i)-vx7(i)+vx8(i)
153 vx2358(i)=vx2(i)-vx3(i)-vx5(i)+vx8(i)
154 vx1467(i)=vx1(i)-vx4(i)-vx6(i)+vx7(i)
155 vx1256(i)=vx1(i)-vx2(i)-vx5(i)+vx6(i)
156C
157 vy3478(i)=vy3(i)-vy4(i)-vy7(i)+vy8(i)
158 vy2358(i)=vy2(i)-vy3(i)-vy5(i)+vy8(i)
159 vy1467(i)=vy1(i)-vy4(i)-vy6(i)+vy7(i)
160 vy1256(i)=vy1(i)-vy2(i)-vy5(i)+vy6(i)
161C
162 vz3478(i)=vz3(i)-vz4(i)-vz7(i)+vz8(i)
163 vz2358(i)=vz2(i)-vz3(i)-vz5(i)+vz8(i)
164 vz1467(i)=vz1(i)-vz4(i)-vz6(i)+vz7(i)
165 vz1256(i)=vz1(i)-vz2(i)-vz5(i)+vz6(i)
166 ENDDO
167C
168 DO i=1,nel
169 hgx1(i)=vx1467(i)-vx2358(i)
170 hgx2(i)=vx1467(i)+vx2358(i)
171 hgx3(i)=vx1256(i)-vx3478(i)
172 hgx4(i)=vx1256(i)+vx3478(i)
173C
174 hgy1(i)=vy1467(i)-vy2358(i)
175 hgy2(i)=vy1467(i)+vy2358(i)
176 hgy3(i)=vy1256(i)-vy3478(i)
177 hgy4(i)=vy1256(i)+vy3478(i)
178C
179 hgz1(i)=vz1467(i)-vz2358(i)
180 hgz2(i)=vz1467(i)+vz2358(i)
181 hgz3(i)=vz1256(i)-vz3478(i)
182 hgz4(i)=vz1256(i)+vz3478(i)
183 ENDDO
184C
185 DO i=1,nel
186 hx1(i)=hgx1(i)*(fcl(i)+abs(hgx1(i))*fcq(i))
187 hx2(i)=hgx2(i)*(fcl(i)+abs(hgx2(i))*fcq(i))
188 hx3(i)=hgx3(i)*(fcl(i)+abs(hgx3(i))*fcq(i))
189 hx4(i)=hgx4(i)*(fcl(i)+abs(hgx4(i))*fcq(i))
190C
191 hy1(i)=hgy1(i)*(fcl(i)+abs(hgy1(i))*fcq(i))
192 hy2(i)=hgy2(i)*(fcl(i)+abs(hgy2(i))*fcq(i))
193 hy3(i)=hgy3(i)*(fcl(i)+abs(hgy3(i))*fcq(i))
194 hy4(i)=hgy4(i)*(fcl(i)+abs(hgy4(i))*fcq(i))
195C
196 hz1(i)=hgz1(i)*(fcl(i)+abs(hgz1(i))*fcq(i))
197 hz2(i)=hgz2(i)*(fcl(i)+abs(hgz2(i))*fcq(i))
198 hz3(i)=hgz3(i)*(fcl(i)+abs(hgz3(i))*fcq(i))
199 hz4(i)=hgz4(i)*(fcl(i)+abs(hgz4(i))*fcq(i))
200 ENDDO
201C
202 DO i=1,nel
203 f11(i) =-hx1(i)-hx2(i)-hx3(i)-hx4(i)
204 f12(i) = hx1(i)-hx2(i)+hx3(i)+hx4(i)
205 f13(i) =-hx1(i)+hx2(i)+hx3(i)-hx4(i)
206 f14(i) = hx1(i)+hx2(i)-hx3(i)+hx4(i)
207 f15(i) =-hx1(i)+hx2(i)+hx3(i)+hx4(i)
208 f16(i) = hx1(i)+hx2(i)-hx3(i)-hx4(i)
209 f17(i) =-hx1(i)-hx2(i)-hx3(i)+hx4(i)
210 f18(i) = hx1(i)-hx2(i)+hx3(i)-hx4(i)
211C
212 f21(i) =-hy1(i)-hy2(i)-hy3(i)-hy4(i)
213 f22(i) = hy1(i)-hy2(i)+hy3(i)+hy4(i)
214 f23(i) =-hy1(i)+hy2(i)+hy3(i)-hy4(i)
215 f24(i) = hy1(i)+hy2(i)-hy3(i)+hy4(i)
216 f25(i) =-hy1(i)+hy2(i)+hy3(i)+hy4(i)
217 f26(i) = hy1(i)+hy2(i)-hy3(i)-hy4(i)
218 f27(i) =-hy1(i)-hy2(i)-hy3(i)+hy4(i)
219 f28(i) = hy1(i)-hy2(i)+hy3(i)-hy4(i)
220C
221 f31(i) =-hz1(i)-hz2(i)-hz3(i)-hz4(i)
222 f32(i) = hz1(i)-hz2(i)+hz3(i)+hz4(i)
223 f33(i) =-hz1(i)+hz2(i)+hz3(i)-hz4(i)
224 f34(i) = hz1(i)+hz2(i)-hz3(i)+hz4(i)
225 f35(i) =-hz1(i)+hz2(i)+hz3(i)+hz4(i)
226 f36(i) = hz1(i)+hz2(i)-hz3(i)-hz4(i)
227 f37(i) =-hz1(i)-hz2(i)-hz3(i)+hz4(i)
228 f38(i) = hz1(i)-hz2(i)+hz3(i)-hz4(i)
229 ENDDO
230 ELSEIF(jhbe >= 1) THEN
231 DO i=1,nel
232C 1 -1 1 -1 1 -1 1 -1
233 g11(i)= one-px1h1(i)
234 g21(i)=-one-px2h1(i)
235 g31(i)= one-px3h1(i)
236 g41(i)=-one-px4h1(i)
237 g51(i)= one+px3h1(i)
238 g61(i)=-one+px4h1(i)
239 g71(i)= one+px1h1(i)
240 g81(i)=-one+px2h1(i)
241 hgx1(i)=
242 & g11(i)*vx1(i)+g21(i)*vx2(i)+g31(i)*vx3(i)+g41(i)*vx4(i)
243 & +g51(i)*vx5(i)+g61(i)*vx6(i)+g71(i)*vx7(i)+g81(i)*vx8(i)
244 hgy1(i)=
245 & g11(i)*vy1(i)+g21(i)*vy2(i)+g31(i)*vy3(i)+g41(i)*vy4(i)
246 & +g51(i)*vy5(i)+g61(i)*vy6(i)+g71(i)*vy7(i)+g81(i)*vy8(i)
247 hgz1(i)=
248 & g11(i)*vz1(i)+g21(i)*vz2(i)+g31(i)*vz3(i)+g41(i)*vz4(i)
249 & +g51(i)*vz5(i)+g61(i)*vz6(i)+g71(i)*vz7(i)+g81(i)*vz8(i)
250 ENDDO
251C
252 DO i=1,nel
253C 1 1 -1 -1 -1 -1 1 1
254 g12(i)= one-px1h2(i)
255 g22(i)= one-px2h2(i)
256 g32(i)=-one-px3h2(i)
257 g42(i)=-one-px4h2(i)
258 g52(i)=-one+px3h2(i)
259 g62(i)=-one+px4h2(i)
260 g72(i)= one+px1h2(i)
261 g82(i)= one+px2h2(i)
262 hgx2(i)=
263 & g12(i)*vx1(i)+g22(i)*vx2(i)+g32(i)*vx3(i)+g42(i)*vx4(i)
264 & +g52(i)*vx5(i)+g62(i)*vx6(i)+g72(i)*vx7(i)+g82(i)*vx8(i)
265 hgy2(i)=
266 & g12(i)*vy1(i)+g22(i)*vy2(i)+g32(i)*vy3(i)+g42(i)*vy4(i)
267 & +g52(i)*vy5(i)+g62(i)*vy6(i)+g72(i)*vy7(i)+g82(i)*vy8(i)
268 hgz2(i)=
269 & g12(i)*vz1(i)+g22(i)*vz2(i)+g32(i)*vz3(i)+g42(i)*vz4(i)
270 & +g52(i)*vz5(i)+g62(i)*vz6(i)+g72(i)*vz7(i)+g82(i)*vz8(i)
271 ENDDO
272 DO i=1,nel
273C 1 -1 -1 1 -1 1 1 -1
274 g13(i)= one-px1h3(i)
275 g23(i)=-one-px2h3(i)
276 g33(i)=-one-px3h3(i)
277 g43(i)= one-px4h3(i)
278 g53(i)=-one+px3h3(i)
279 g63(i)= one+px4h3(i)
280 g73(i)= one+px1h3(i)
281 g83(i)=-one+px2h3(i)
282 hgx3(i)=
283 & g13(i)*vx1(i)+g23(i)*vx2(i)+g33(i)*vx3(i)+g43(i)*vx4(i)
284 & +g53(i)*vx5(i)+g63(i)*vx6(i)+g73(i)*vx7(i)+g83(i)*vx8(i)
285 hgy3(i)=
286 & g13(i)*vy1(i)+g23(i)*vy2(i)+g33(i)*vy3(i)+g43(i)*vy4(i)
287 & +g53(i)*vy5(i)+g63(i)*vy6(i)+g73(i)*vy7(i)+g83(i)*vy8(i)
288 hgz3(i)=
289 & g13(i)*vz1(i)+g23(i)*vz2(i)+g33(i)*vz3(i)+g43(i)*vz4(i)
290 & +g53(i)*vz5(i)+g63(i)*vz6(i)+g73(i)*vz7(i)+g83(i)*vz8(i)
291 ENDDO
292C
293 DO i=1,nel
294C 1 -1 1 -1 -1 1 -1 1
295 hgx4(i)=vx1(i)-vx2(i)+vx3(i)-vx4(i)-vx5(i)+vx6(i)-vx7(i)+vx8(i)
296 hgy4(i)=vy1(i)-vy2(i)+vy3(i)-vy4(i)-vy5(i)+vy6(i)-vy7(i)+vy8(i)
297 hgz4(i)=vz1(i)-vz2(i)+vz3(i)-vz4(i)-vz5(i)+vz6(i)-vz7(i)+vz8(i)
298 ENDDO
299C
300 DO i=1,nel
301 hx1(i)=hgx1(i)*(fcl(i)+abs(hgx1(i))*fcq(i))
302 hx2(i)=hgx2(i)*(fcl(i)+abs(hgx2(i))*fcq(i))
303 hx3(i)=hgx3(i)*(fcl(i)+abs(hgx3(i))*fcq(i))
304 hx4(i)=hgx4(i)*(fcl(i)+abs(hgx4(i))*fcq(i))
305C
306 hy1(i)=hgy1(i)*(fcl(i)+abs(hgy1(i))*fcq(i))
307 hy2(i)=hgy2(i)*(fcl(i)+abs(hgy2(i))*fcq(i))
308 hy3(i)=hgy3(i)*(fcl(i)+abs(hgy3(i))*fcq(i))
309 hy4(i)=hgy4(i)*(fcl(i)+abs(hgy4(i))*fcq(i))
310C
311 hz1(i)=hgz1(i)*(fcl(i)+abs(hgz1(i))*fcq(i))
312 hz2(i)=hgz2(i)*(fcl(i)+abs(hgz2(i))*fcq(i))
313 hz3(i)=hgz3(i)*(fcl(i)+abs(hgz3(i))*fcq(i))
314 hz4(i)=hgz4(i)*(fcl(i)+abs(hgz4(i))*fcq(i))
315 ENDDO
316C
317 DO i=1,nel
318 f11(i) =-g11(i)*hx1(i)-g12(i)*hx2(i)-g13(i)*hx3(i)-hx4(i)
319 f12(i) =-g21(i)*hx1(i)-g22(i)*hx2(i)-g23(i)*hx3(i)+hx4(i)
320 f13(i) =-g31(i)*hx1(i)-g32(i)*hx2(i)-g33(i)*hx3(i)-hx4(i)
321 f14(i) =-g41(i)*hx1(i)-g42(i)*hx2(i)-g43(i)*hx3(i)+hx4(i)
322 f15(i) =-g51(i)*hx1(i)-g52(i)*hx2(i)-g53(i)*hx3(i)+hx4(i)
323 f16(i) =-g61(i)*hx1(i)-g62(i)*hx2(i)-g63(i)*hx3(i)-hx4(i)
324 f17(i) =-g71(i)*hx1(i)-g72(i)*hx2(i)-g73(i)*hx3(i)+hx4(i)
325 f18(i) =-g81(i)*hx1(i)-g82(i)*hx2(i)-g83(i)*hx3(i)-hx4(i)
326C
327 f21(i) =-g11(i)*hy1(i)-g12(i)*hy2(i)-g13(i)*hy3(i)-hy4(i)
328 f22(i) =-g21(i)*hy1(i)-g22(i)*hy2(i)-g23(i)*hy3(i)+hy4(i)
329 f23(i) =-g31(i)*hy1(i)-g32(i)*hy2(i)-g33(i)*hy3(i)-hy4(i)
330 f24(i) =-g41(i)*hy1(i)-g42(i)*hy2(i)-g43(i)*hy3(i)+hy4(i)
331 f25(i) =-g51(i)*hy1(i)-g52(i)*hy2(i)-g53(i)*hy3(i)+hy4(i)
332 f26(i) =-g61(i)*hy1(i)-g62(i)*hy2(i)-g63(i)*hy3(i)-hy4(i)
333 f27(i) =-g71(i)*hy1(i)-g72(i)*hy2(i)-g73(i)*hy3(i)+hy4(i)
334 f28(i) =-g81(i)*hy1(i)-g82(i)*hy2(i)-g83(i)*hy3(i)-hy4(i)
335C
336 f31(i) =-g11(i)*hz1(i)-g12(i)*hz2(i)-g13(i)*hz3(i)-hz4(i)
337 f32(i) =-g21(i)*hz1(i)-g22(i)*hz2(i)-g23(i)*hz3(i)+hz4(i)
338 f33(i) =-g31(i)*hz1(i)-g32(i)*hz2(i)-g33(i)*hz3(i)-hz4(i)
339 f34(i) =-g41(i)*hz1(i)-g42(i)*hz2(i)-g43(i)*hz3(i)+hz4(i)
340 f35(i) =-g51(i)*hz1(i)-g52(i)*hz2(i)-g53(i)*hz3(i)+hz4(i)
341 f36(i) =-g61(i)*hz1(i)-g62(i)*hz2(i)-g63(i)*hz3(i)-hz4(i)
342 f37(i) =-g71(i)*hz1(i)-g72(i)*hz2(i)-g73(i)*hz3(i)+hz4(i)
343 f38(i) =-g81(i)*hz1(i)-g82(i)*hz2(i)-g83(i)*hz3(i)-hz4(i)
344 ENDDO
345 ENDIF
346C
347 ehourt = zero
348c
349 DO i=1,nel
350 ehou(i)= dt1*(
351 & hz1(i)*hgz1(i) + hz2(i)*hgz2(i) +
352 & hz3(i)*hgz3(i) + hz4(i)*hgz4(i) +
353 & hx1(i)*hgx1(i) + hx2(i)*hgx2(i) +
354 & hx3(i)*hgx3(i) + hx4(i)*hgx4(i) +
355 & hy1(i)*hgy1(i) + hy2(i)*hgy2(i) +
356 & hy3(i)*hgy3(i) + hy4(i)*hgy4(i) )
357 ehourt= ehourt+ehou(i)
358 ENDDO
359C a voir plus tard
360C FP 12/97
361C DANS LE CAS ALE ET EULERIEN, LE TRANSPORT DE l'ENERGIE d'HOURGLAS
362C N'EST PAS CALCULE, L'ENERGIE d'HOURGLASS CUMULE N'A PAS DE SENS
363C
364c IF(JLAG==1)THEN
365C
366c IF (IVECTOR==0) THEN
367c DO I=1,NEL
368c MX = IPARTS(I)
369c PARTSAV(8,MX)=PARTSAV(8,MX) + EHOU(I)
370c ENDDO
371c ELSE
372c IC=1
373c JST(IC)=1
374c DO J=1+1,NEL
375c IF (IPARTS(J)/=IPARTS(J-1)) THEN
376c IC=IC+1
377c JST(IC)=J
378c ENDIF
379c ENDDO
380c JST(IC+1)=NEL+1
381c DO II=1,IC
382c MX=IPARTS(JST(II))
383c IF (JST(II+1)-JST(II)>15) THEN
384c DO J=JST(II),JST(II+1)-1
385c PARTSAV(8,MX)=PARTSAV(8,MX) + EHOU(J)
386c ENDDO
387c ELSE
388c#include "vectorize.inc"
389c DO J=JST(II),JST(II+1)-1
390c PARTSAV(8,MX)=PARTSAV(8,MX) + EHOU(J)
391c ENDDO
392c ENDIF
393c ENDDO
394c ENDIF
395C !$OMP ATOMIC
396c EHOUR = EHOUR + EHOURT
397c ENDIF
398cC
399c IF((ANIM_E(25)==1).OR.(OUTP_CS(25)==1))THEN
400c DO I=1,NEL
401c EANI(NFT+I) = EANI(NFT+I)+EHOU(I)/MAX(EM30,RHO(I)*VOL(I))
402c ENDDO
403c ENDIF
404C
405 RETURN
406 END
#define my_real
Definition cppsort.cpp:32
subroutine fhvis3(pm, rho, off, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, px1h1, px1h2, px1h3, px2h1, px2h2, px2h3, px3h1, px3h2, px3h3, px4h1, px4h2, px4h3, vol, mat, cxx, vis, vd2, deltax, eani, pid, geo, partsav, iparts, nel, nft, jlag, jhbe)
Definition fhvis3.F:51
#define min(a, b)
Definition macros.h:20
#define max(a, b)
Definition macros.h:21
type(ale_) ale
Definition ale_mod.F:249