OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
aleflow.F File Reference
#include "implicit_f.inc"
#include "comlock.inc"
#include "com01_c.inc"
#include "com04_c.inc"
#include "com08_c.inc"
#include "param_c.inc"
#include "vect01_c.inc"
#include "mvsiz_p.inc"
#include "lockon.inc"
#include "lockoff.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine aleflow (pm, mat, x, mbuf, nel, ixs, ale_connect, v, a, w, dfe, frho0, alpha, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, phi1, phi2, flux, flu1, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, vdx1, vdx2, vdx3, vdx4, vdx5, vdx6, vdx7, vdx8, vdy1, vdy2, vdy3, vdy4, vdy5, vdy6, vdy7, vdy8, vdz1, vdz2, vdz3, vdz4, vdz5, vdz6, vdz7, vdz8, vdx, vdy, vdz, vd2, lvx1, lvx2, lvx3, lvx4, lvx5, lvx6, lvx7, lvx8, lvy1, lvy2, lvy3, lvy4, lvy5, lvy6, lvy7, lvy8, lvz1, lvz2, lvz3, lvz4, lvz5, lvz6, lvz7, lvz8, por, icontact, ifoam)

Function/Subroutine Documentation

◆ aleflow()

subroutine aleflow ( pm,
integer, dimension(*) mat,
x,
type(buf_mat_) mbuf,
integer nel,
integer, dimension(nixs,*) ixs,
type(t_ale_connectivity), intent(in) ale_connect,
v,
a,
w,
dfe,
frho0,
alpha,
integer, dimension(*) nc1,
integer, dimension(*) nc2,
integer, dimension(*) nc3,
integer, dimension(*) nc4,
integer, dimension(*) nc5,
integer, dimension(*) nc6,
integer, dimension(*) nc7,
integer, dimension(*) nc8,
x1,
x2,
x3,
x4,
x5,
x6,
x7,
x8,
y1,
y2,
y3,
y4,
y5,
y6,
y7,
y8,
z1,
z2,
z3,
z4,
z5,
z6,
z7,
z8,
phi1,
phi2,
flux,
flu1,
vx1,
vx2,
vx3,
vx4,
vx5,
vx6,
vx7,
vx8,
vy1,
vy2,
vy3,
vy4,
vy5,
vy6,
vy7,
vy8,
vz1,
vz2,
vz3,
vz4,
vz5,
vz6,
vz7,
vz8,
vdx1,
vdx2,
vdx3,
vdx4,
vdx5,
vdx6,
vdx7,
vdx8,
vdy1,
vdy2,
vdy3,
vdy4,
vdy5,
vdy6,
vdy7,
vdy8,
vdz1,
vdz2,
vdz3,
vdz4,
vdz5,
vdz6,
vdz7,
vdz8,
vdx,
vdy,
vdz,
vd2,
lvx1,
lvx2,
lvx3,
lvx4,
lvx5,
lvx6,
lvx7,
lvx8,
lvy1,
lvy2,
lvy3,
lvy4,
lvy5,
lvy6,
lvy7,
lvy8,
lvz1,
lvz2,
lvz3,
lvz4,
lvz5,
lvz6,
lvz7,
lvz8,
por,
integer, dimension(*) icontact,
integer, dimension(*) ifoam )

Definition at line 34 of file aleflow.F.

59C-----------------------------------------------
60C D e s c r i p t i o n
61C-----------------------------------------------
62C This subroutine is related to porous material law 77
63C-----------------------------------------------
64C M o d u l e s
65C-----------------------------------------------
66 USE elbufdef_mod
68C-----------------------------------------------
69C I m p l i c i t T y p e s
70C-----------------------------------------------
71#include "implicit_f.inc"
72#include "comlock.inc"
73C-----------------------------------------------
74C C o m m o n B l o c k s
75C-----------------------------------------------
76#include "com01_c.inc"
77#include "com04_c.inc"
78#include "com08_c.inc"
79#include "param_c.inc"
80#include "vect01_c.inc"
81#include "mvsiz_p.inc"
82C-----------------------------------------------
83C D u m m y A r g u m e n t s
84C-----------------------------------------------
85 INTEGER NEL
86 INTEGER NC1(*),NC2(*),NC3(*),NC4(*),NC5(*),NC6(*),NC7(*),NC8(*),IXS(NIXS,*),MAT(*),ICONTACT(*),IFOAM(*)
88 . v(3,numnod),w(3,numnod) ,flux(mvsiz,6),
89 . phi1(*),phi2(*),a(3,numnod),
90 . flu1(*) ,x1(*) ,x2(*) ,x3(*) ,x4(*) ,
91 . x5(*) ,x6(*) ,x7(*) ,x8(*) ,y1(*) ,y2(*) ,
92 . y3(*) ,y4(*) ,y5(*) ,y6(*) ,y7(*) ,y8(*) ,
93 . z1(*) ,z2(*) ,z3(*) ,z4(*) ,z5(*) ,z6(*) ,
94 . z7(*) ,z8(*) ,
95 . vx1(*) ,vx2(*) ,vx3(*) ,vx4(*) ,vx5(*) ,vx6(*) ,
96 . vx7(*) ,vx8(*) ,vy1(*) ,vy2(*) ,vy3(*) ,vy4(*) ,
97 . vy5(*) ,vy6(*) ,vy7(*) ,vy8(*) ,vz1(*) ,vz2(*) ,
98 . vz3(*) ,vz4(*) ,vz5(*) ,vz6(*) ,vz7(*) ,vz8(*) ,
99 . vdx1(*) ,vdx2(*) ,vdx3(*) ,vdx4(*) ,vdx5(*) ,vdx6(*) ,
100 . vdx7(*) ,vdx8(*) ,vdy1(*) ,vdy2(*) ,vdy3(*) ,vdy4(*) ,
101 . vdy5(*) ,vdy6(*) ,vdy7(*) ,vdy8(*) ,vdz1(*) ,vdz2(*) ,
102 . vdz3(*) ,vdz4(*) ,vdz5(*) ,vdz6(*) ,vdz7(*) ,vdz8(*),
103 . dfe(mvsiz,3), frho0(*),pm(npropm,nummat), alpha(*),vdx(*),
104 . vdy(*), vdz(*),vd2(*),x(3,*),
105 . lvx1(*) ,lvx2(*) ,lvx3(*) ,lvx4(*) ,lvx5(*) ,lvx6(*) ,
106 . lvx7(*) ,lvx8(*) ,lvy1(*) ,lvy2(*) ,lvy3(*) ,lvy4(*) ,
107 . lvy5(*) ,lvy6(*) ,lvy7(*) ,lvy8(*) ,lvz1(*) ,lvz2(*) ,
108 . lvz3(*) ,lvz4(*) ,lvz5(*) ,lvz6(*) ,lvz7(*) ,lvz8(*),
109 . por(*)
110C-----------------------------------------------,
111 TYPE(BUF_MAT_) :: MBUF
112 TYPE(t_ale_connectivity), INTENT(IN) :: ALE_CONNECT
113C-----------------------------------------------
114C L o c a l V a r i a b l e s
115C-----------------------------------------------
116 INTEGER J,IV,IE,MX,IAD2
117 my_real fac, vfe(3),afe(3),dtinv,rv,rexch(mvsiz,6), alpha0,rhoext(mvsiz),eiext(mvsiz),kk(mvsiz)
118 my_real aa,bb,taux
119 INTEGER NVAR,I
120 INTEGER ICLOS,II,ICONGAS
121C-----------------------------------------------
122C S o u r c e L i n e s
123C-----------------------------------------------
124 DO i = 1, nel
125 rhoext(i) = zero
126 eiext(i) = zero
127
128 vx1(i)=v(1,nc1(i))
129 vy1(i)=v(2,nc1(i))
130 vz1(i)=v(3,nc1(i))
131
132 vx2(i)=v(1,nc2(i))
133 vy2(i)=v(2,nc2(i))
134 vz2(i)=v(3,nc2(i))
135
136 vx3(i)=v(1,nc3(i))
137 vy3(i)=v(2,nc3(i))
138 vz3(i)=v(3,nc3(i))
139
140 vx4(i)=v(1,nc4(i))
141 vy4(i)=v(2,nc4(i))
142 vz4(i)=v(3,nc4(i))
143
144 vx5(i)=v(1,nc5(i))
145 vy5(i)=v(2,nc5(i))
146 vz5(i)=v(3,nc5(i))
147
148 vx6(i)=v(1,nc6(i))
149 vy6(i)=v(2,nc6(i))
150 vz6(i)=v(3,nc6(i))
151
152 vx7(i)=v(1,nc7(i))
153 vy7(i)=v(2,nc7(i))
154 vz7(i)=v(3,nc7(i))
155
156 vx8(i)=v(1,nc8(i))
157 vy8(i)=v(2,nc8(i))
158 vz8(i)=v(3,nc8(i))
159
160 vdx1(i)=v(1,nc1(i)) - w(1,nc1(i))
161 vdy1(i)=v(2,nc1(i)) - w(2,nc1(i))
162 vdz1(i)=v(3,nc1(i)) - w(3,nc1(i))
163
164 vdx2(i)=v(1,nc2(i)) - w(1,nc2(i))
165 vdy2(i)=v(2,nc2(i)) - w(2,nc2(i))
166 vdz2(i)=v(3,nc2(i)) - w(3,nc2(i))
167
168 vdx3(i)=v(1,nc3(i)) - w(1,nc3(i))
169 vdy3(i)=v(2,nc3(i)) - w(2,nc3(i))
170 vdz3(i)=v(3,nc3(i)) - w(3,nc3(i))
171
172 vdx4(i)=v(1,nc4(i)) - w(1,nc4(i))
173 vdy4(i)=v(2,nc4(i)) - w(2,nc4(i))
174 vdz4(i)=v(3,nc4(i)) - w(3,nc4(i))
175
176 vdx5(i)=v(1,nc5(i)) - w(1,nc5(i))
177 vdy5(i)=v(2,nc5(i)) - w(2,nc5(i))
178 vdz5(i)=v(3,nc5(i)) - w(3,nc5(i))
179
180 vdx6(i)=v(1,nc6(i)) - w(1,nc6(i))
181 vdy6(i)=v(2,nc6(i)) - w(2,nc6(i))
182 vdz6(i)=v(3,nc6(i)) - w(3,nc6(i))
183
184 vdx7(i)=v(1,nc7(i)) - w(1,nc7(i))
185 vdy7(i)=v(2,nc7(i)) - w(2,nc7(i))
186 vdz7(i)=v(3,nc7(i)) - w(3,nc7(i))
187
188 vdx8(i)=v(1,nc8(i)) - w(1,nc8(i))
189 vdy8(i)=v(2,nc8(i)) - w(2,nc8(i))
190 vdz8(i)=v(3,nc8(i)) - w(3,nc8(i))
191
192C coordinates
193 x1(i)=x(1,nc1(i))
194 y1(i)=x(2,nc1(i))
195 z1(i)=x(3,nc1(i))
196 x2(i)=x(1,nc2(i))
197 y2(i)=x(2,nc2(i))
198 z2(i)=x(3,nc2(i))
199 x3(i)=x(1,nc3(i))
200 y3(i)=x(2,nc3(i))
201 z3(i)=x(3,nc3(i))
202 x4(i)=x(1,nc4(i))
203 y4(i)=x(2,nc4(i))
204 z4(i)=x(3,nc4(i))
205 x5(i)=x(1,nc5(i))
206 y5(i)=x(2,nc5(i))
207 z5(i)=x(3,nc5(i))
208 x6(i)=x(1,nc6(i))
209 y6(i)=x(2,nc6(i))
210 z6(i)=x(3,nc6(i))
211 x7(i)=x(1,nc7(i))
212 y7(i)=x(2,nc7(i))
213 z7(i)=x(3,nc7(i))
214 x8(i)=x(1,nc8(i))
215 y8(i)=x(2,nc8(i))
216 z8(i)=x(3,nc8(i))
217 ENDDO
218
219C different Alpha values
220 DO i=1,nel
221 ie =nft+i
222 iad2 = ale_connect%ee_connect%iad_connect(ie)
223 alpha(i) = por(ie)
224 DO j=1,6
225 iv=ale_connect%ee_connect%connected(iad2 + j - 1)
226 rexch(i,j)= alpha(i)
227 IF(iv /= 0) THEN
228 rv = por(iv)
229 rexch(i,j) = min(alpha(i),rv)
230 ENDIF
231 ENDDO
232 ENDDO
233C External gas
234 mx = mat(1)
235 icongas = nint(pm(201, mx))
236 IF(icongas > 0) THEN
237 DO i= 1,nel
238 rhoext(i) = pm(199, mx)
239 eiext(i) = pm(200, mx)
240 ENDDO
241 ENDIF
242C
243C with interface
244C
245 iclos = nint(pm(198, mat(1)))
246 IF(iclos == 2 .AND. intbag > 0 ) THEN
247 DO i=1,nel
248 iad2 = ale_connect%ee_connect%iad_connect(i+nft)
249 ii=ale_connect%ee_connect%connected(iad2 + 1 - 1)
250 IF(ii == 0) THEN
251 alpha0 = rexch(i,1)
252 IF(icontact(nc1(i)) > 0)rexch(i,1)=rexch(i,1)-fourth*alpha0
253 IF(icontact(nc2(i)) > 0)rexch(i,1)=rexch(i,1)-fourth*alpha0
254 IF(icontact(nc3(i)) > 0)rexch(i,1)=rexch(i,1)-fourth*alpha0
255 IF(icontact(nc4(i)) > 0)rexch(i,1)=rexch(i,1)-fourth*alpha0
256 ENDIF
257 ii=ale_connect%ee_connect%connected(iad2 + 2 - 1)
258 IF(ii == 0) THEN
259 alpha0 = rexch(i,2)
260 IF(icontact(nc3(i)) > 0)rexch(i,2)=rexch(i,2)-fourth*alpha0
261 IF(icontact(nc4(i)) > 0)rexch(i,2)=rexch(i,2)-fourth*alpha0
262 IF(icontact(nc7(i)) > 0)rexch(i,2)=rexch(i,2)-fourth*alpha0
263 IF(icontact(nc8(i)) > 0)rexch(i,2)=rexch(i,2)-fourth*alpha0
264 ENDIF
265 ii=ale_connect%ee_connect%connected(iad2 + 3 - 1)
266 IF(ii == 0) THEN
267 alpha0 = rexch(i,3)
268 IF(icontact(nc5(i)) > 0)rexch(i,3)=rexch(i,3)-fourth*alpha0
269 IF(icontact(nc6(i)) > 0)rexch(i,3)=rexch(i,3)-fourth*alpha0
270 IF(icontact(nc7(i)) > 0)rexch(i,3)=rexch(i,3)-fourth*alpha0
271 IF(icontact(nc8(i)) > 0)rexch(i,3)=rexch(i,3)-fourth*alpha0
272 ENDIF
273
274 ii=ale_connect%ee_connect%connected(iad2 + 4 - 1)
275 IF(ii == 0) THEN
276 alpha0 = rexch(i,4)
277 IF(icontact(nc1(i)) > 0)rexch(i,4)=rexch(i,4)-fourth*alpha0
278 IF(icontact(nc2(i)) > 0)rexch(i,4)=rexch(i,4)-fourth*alpha0
279 IF(icontact(nc5(i)) > 0)rexch(i,4)=rexch(i,4)-fourth*alpha0
280 IF(icontact(nc6(i)) > 0)rexch(i,4)=rexch(i,4)-fourth*alpha0
281 ENDIF
282 ii=ale_connect%ee_connect%connected(iad2 + 5 - 1)
283 IF(ii == 0) THEN
284 alpha0 = rexch(i,5)
285 IF(icontact(nc2(i)) > 0)rexch(i,5)=rexch(i,5)-fourth*alpha0
286 IF(icontact(nc3(i)) > 0)rexch(i,5)=rexch(i,5)-fourth*alpha0
287 IF(icontact(nc6(i)) > 0)rexch(i,5)=rexch(i,5)-fourth*alpha0
288 IF(icontact(nc7(i)) > 0)rexch(i,5)=rexch(i,5)-fourth*alpha0
289 ENDIF
290 ii=ale_connect%ee_connect%connected(iad2 + 6 - 1)
291 IF(ii == 0) THEN
292 alpha0 = rexch(i,6)
293 IF(icontact(nc1(i)) > 0)rexch(i,6)=rexch(i,6)-fourth*alpha0
294 IF(icontact(nc4(i)) > 0)rexch(i,6)=rexch(i,6)-fourth*alpha0
295 IF(icontact(nc5(i)) > 0)rexch(i,6)=rexch(i,6)-fourth*alpha0
296 IF(icontact(nc8(i)) > 0)rexch(i,6)=rexch(i,6)-fourth*alpha0
297 ENDIF
298 ENDDO
299 ENDIF
300C
301C
302C Closed foam
303C
304
305 IF(iclos == 1 ) THEN
306#include "lockon.inc"
307 DO i=1,nel
308 iad2 = ale_connect%ee_connect%iad_connect(i + nft)
309 ii=ale_connect%ee_connect%connected(iad2 + 1 - 1)
310 IF(ii == 0)THEN
311
312 vdx1(i) = zero
313 vdx2(i) = zero
314 vdx3(i) = zero
315 vdx4(i) = zero
316
317 vdy1(i) = zero
318 vdy2(i) = zero
319 vdy3(i) = zero
320 vdy4(i) = zero
321
322 vdz1(i) = zero
323 vdz2(i) = zero
324 vdz3(i) = zero
325 vdz4(i) = zero
326
327 vx1(i) = lvx1(i)
328 vx2(i) = lvx2(i)
329 vx3(i) = lvx3(i)
330 vx4(i) = lvx4(i)
331
332 vy1(i) = lvy1(i)
333 vy2(i) = lvy2(i)
334 vy3(i) = lvy3(i)
335 vy4(i) = lvy4(i)
336
337 vz1(i) = lvz1(i)
338 vz2(i) = lvz2(i)
339 vz3(i) = lvz3(i)
340 vz4(i) = lvz4(i)
341
342 ifoam(nc1(i)) = 1
343 ifoam(nc2(i)) = 1
344 ifoam(nc3(i)) = 1
345 ifoam(nc4(i)) = 1
346
347 ENDIF
348 ii=ale_connect%ee_connect%connected(iad2 + 2 - 1)
349 IF(ii == 0) THEN
350
351 vdx3(i) = zero
352 vdx4(i) = zero
353 vdx7(i) = zero
354 vdx8(i) = zero
355
356 vdy3(i) = zero
357 vdy4(i) = zero
358 vdy7(i) = zero
359 vdy8(i) = zero
360
361 vdz3(i) = zero
362 vdz4(i) = zero
363 vdz7(i) = zero
364 vdz8(i) = zero
365
366 vx3(i) = lvx3(i)
367 vx4(i) = lvx4(i)
368 vx7(i) = lvx7(i)
369 vx8(i) = lvx8(i)
370
371 vy3(i) = lvy3(i)
372 vy4(i) = lvy4(i)
373 vy7(i) = lvy7(i)
374 vy8(i) = lvy8(i)
375
376 vz3(i) = lvz3(i)
377 vz4(i) = lvz4(i)
378 vz7(i) = lvz7(i)
379 vz8(i) = lvz8(i)
380
381 ifoam(nc3(i)) = 1
382 ifoam(nc4(i)) = 1
383 ifoam(nc7(i)) = 1
384 ifoam(nc8(i)) = 1
385
386 ENDIF
387 ii=ale_connect%ee_connect%connected(iad2 + 3 - 1)
388 IF(ii == 0)THEN
389
390 vdx5(i) = zero
391 vdx6(i) = zero
392 vdx7(i) = zero
393 vdx8(i) = zero
394
395 vdy5(i) = zero
396 vdy6(i) = zero
397 vdy7(i) = zero
398 vdy8(i) = zero
399
400 vdz5(i) = zero
401 vdz6(i) = zero
402 vdz7(i) = zero
403 vdz8(i) = zero
404
405 vx5(i) = lvx5(i)
406 vx6(i) = lvx6(i)
407 vx7(i) = lvx7(i)
408 vx8(i) = lvx8(i)
409
410 vy5(i) = lvy5(i)
411 vy6(i) = lvy6(i)
412 vy7(i) = lvy7(i)
413 vy8(i) = lvy8(i)
414
415 vz5(i) = lvz5(i)
416 vz6(i) = lvz6(i)
417 vz7(i) = lvz7(i)
418 vz8(i) = lvz8(i)
419
420 ifoam(nc5(i)) =1
421 ifoam(nc6(i)) =1
422 ifoam(nc7(i)) =1
423 ifoam(nc8(i)) =1
424
425 ENDIF
426 ii=ale_connect%ee_connect%connected(iad2 + 4 - 1)
427 IF(ii == 0)THEN
428
429 vdx1(i) = zero
430 vdx2(i) = zero
431 vdx5(i) = zero
432 vdx6(i) = zero
433
434 vdy1(i) = zero
435 vdy2(i) = zero
436 vdy5(i) = zero
437 vdy6(i) = zero
438
439 vdz1(i) = zero
440 vdz2(i) = zero
441 vdz5(i) = zero
442 vdz6(i) = zero
443
444 vx1(i) = lvx1(i)
445 vx2(i) = lvx2(i)
446 vx5(i) = lvx5(i)
447 vx6(i) = lvx6(i)
448
449 vy1(i) = lvy1(i)
450 vy2(i) = lvy2(i)
451 vy5(i) = lvy5(i)
452 vy6(i) = lvy6(i)
453
454 vz1(i) = lvz1(i)
455 vz2(i) = lvz2(i)
456 vz5(i) = lvz5(i)
457 vz6(i) = lvz6(i)
458
459 ifoam(nc1(i)) = 1
460 ifoam(nc2(i)) = 1
461 ifoam(nc5(i)) = 1
462 ifoam(nc6(i)) = 1
463
464 ENDIF
465 ii=ale_connect%ee_connect%connected(iad2 + 5 - 1)
466 IF(ii == 0)THEN
467
468 vdx2(i) = zero
469 vdx3(i) = zero
470 vdx6(i) = zero
471 vdx7(i) = zero
472
473 vdy2(i) = zero
474 vdy3(i) = zero
475 vdy6(i) = zero
476 vdy7(i) = zero
477
478 vdz2(i) = zero
479 vdz3(i) = zero
480 vdz6(i) = zero
481 vdz7(i) = zero
482
483 vx2(i) = lvx2(i)
484 vx3(i) = lvx3(i)
485 vx6(i) = lvx6(i)
486 vx7(i) = lvx7(i)
487
488 vy2(i) = lvy2(i)
489 vy3(i) = lvy3(i)
490 vy6(i) = lvy6(i)
491 vy7(i) = lvy7(i)
492
493 vz2(i) = lvz2(i)
494 vz3(i) = lvz3(i)
495 vz6(i) = lvz6(i)
496 vz7(i) = lvz7(i)
497
498 ifoam(nc2(i)) = 1
499 ifoam(nc3(i)) = 1
500 ifoam(nc6(i)) = 1
501 ifoam(nc7(i)) = 1
502
503 ENDIF
504 ii=ale_connect%ee_connect%connected(iad2 + 6 - 1)
505 IF(ii == 0)THEN
506
507 vdx1(i) = zero
508 vdx4(i) = zero
509 vdx5(i) = zero
510 vdx8(i) = zero
511
512 vdy1(i) = zero
513 vdy4(i) = zero
514 vdy5(i) = zero
515 vdy8(i) = zero
516
517 vdz1(i) = zero
518 vdz4(i) = zero
519 vdz5(i) = zero
520 vdz8(i) = zero
521
522 vx1(i) = lvx1(i)
523 vx4(i) = lvx4(i)
524 vx5(i) = lvx5(i)
525 vx8(i) = lvx8(i)
526
527 vy1(i) = lvy1(i)
528 vy4(i) = lvy4(i)
529 vy5(i) = lvy5(i)
530 vy8(i) = lvy8(i)
531
532 vz1(i) = lvz1(i)
533 vz4(i) = lvz4(i)
534 vz5(i) = lvz5(i)
535 vz8(i) = lvz8(i)
536
537 ifoam(nc1(i)) = 1
538 ifoam(nc4(i)) = 1
539 ifoam(nc5(i)) = 1
540 ifoam(nc8(i)) = 1
541 ENDIF
542 ENDDO
543#include "lockoff.inc"
544 ELSEIF(iclos == 2 .AND. intbag > 0 ) THEN
545#include "lockon.inc"
546 DO i=1,nel
547 iad2 = ale_connect%ee_connect%iad_connect(i + nft)
548 ii=ale_connect%ee_connect%connected(iad2 + 1 - 1)
549 IF(ii == 0 .AND. rexch(i,1) < em15 )THEN
550
551 vdx1(i) = zero
552 vdx2(i) = zero
553 vdx3(i) = zero
554 vdx4(i) = zero
555
556 vdy1(i) = zero
557 vdy2(i) = zero
558 vdy3(i) = zero
559 vdy4(i) = zero
560
561 vdz1(i) = zero
562 vdz2(i) = zero
563 vdz3(i) = zero
564 vdz4(i) = zero
565
566 vx1(i) = lvx1(i)
567 vx2(i) = lvx2(i)
568 vx3(i) = lvx3(i)
569 vx4(i) = lvx4(i)
570
571
572 vy1(i) = lvy1(i)
573 vy2(i) = lvy2(i)
574 vy3(i) = lvy3(i)
575 vy4(i) = lvy4(i)
576
577 vz1(i) = lvz1(i)
578 vz2(i) = lvz2(i)
579 vz3(i) = lvz3(i)
580 vz4(i) = lvz4(i)
581
582 ifoam(nc1(i)) = 1
583 ifoam(nc2(i)) = 1
584 ifoam(nc3(i)) = 1
585 ifoam(nc4(i)) = 1
586 ENDIF
587 ii=ale_connect%ee_connect%connected(iad2 + 2 - 1)
588 IF(ii == 0 .AND. rexch(i,2) < em15) THEN
589
590 vdx3(i) = zero
591 vdx4(i) = zero
592 vdx7(i) = zero
593 vdx8(i) = zero
594
595 vdy3(i) = zero
596 vdy4(i) = zero
597 vdy7(i) = zero
598 vdy8(i) = zero
599
600 vdz3(i) = zero
601 vdz4(i) = zero
602 vdz7(i) = zero
603 vdz8(i) = zero
604
605 vx3(i) = lvx3(i)
606 vx4(i) = lvx4(i)
607 vx7(i) = lvx7(i)
608 vx8(i) = lvx8(i)
609
610 vy3(i) = lvy3(i)
611 vy4(i) = lvy4(i)
612 vy7(i) = lvy7(i)
613 vy8(i) = lvy8(i)
614
615 vz3(i) = lvz3(i)
616 vz4(i) = lvz4(i)
617 vz7(i) = lvz7(i)
618 vz8(i) = lvz8(i)
619
620 ifoam(nc3(i)) = 1
621 ifoam(nc4(i)) = 1
622 ifoam(nc7(i)) = 1
623 ifoam(nc8(i)) = 1
624 ENDIF
625 ii=ale_connect%ee_connect%connected(iad2 + 3 - 1)
626 IF(ii == 0 .AND. rexch(i,3) < em15)THEN
627
628 vdx5(i) = zero
629 vdx6(i) = zero
630 vdx7(i) = zero
631 vdx8(i) = zero
632
633 vdy5(i) = zero
634 vdy6(i) = zero
635 vdy7(i) = zero
636 vdy8(i) = zero
637
638 vdz5(i) = zero
639 vdz6(i) = zero
640 vdz7(i) = zero
641 vdz8(i) = zero
642
643 vx5(i) = lvx5(i)
644 vx6(i) = lvx6(i)
645 vx7(i) = lvx7(i)
646 vx8(i) = lvx8(i)
647
648 vy5(i) = lvy5(i)
649 vy6(i) = lvy6(i)
650 vy7(i) = lvy7(i)
651 vy8(i) = lvy8(i)
652
653 vz5(i) = lvz5(i)
654 vz6(i) = lvz6(i)
655 vz7(i) = lvz7(i)
656 vz8(i) = lvz8(i)
657
658 ifoam(nc5(i)) = 1
659 ifoam(nc6(i)) = 1
660 ifoam(nc7(i)) = 1
661 ifoam(nc8(i)) = 1
662
663 ENDIF
664 ii=ale_connect%ee_connect%connected(iad2 + 4 - 1)
665 IF(ii == 0 .AND. rexch(i,4) < em15)THEN
666
667 vdx1(i) = zero
668 vdx2(i) = zero
669 vdx5(i) = zero
670 vdx6(i) = zero
671
672 vdy1(i) = zero
673 vdy2(i) = zero
674 vdy5(i) = zero
675 vdy6(i) = zero
676
677 vdz1(i) = zero
678 vdz2(i) = zero
679 vdz5(i) = zero
680 vdz6(i) = zero
681
682 vx1(i) = lvx1(i)
683 vx2(i) = lvx2(i)
684 vx5(i) = lvx5(i)
685 vx6(i) = lvx6(i)
686
687 vy1(i) = lvy1(i)
688 vy2(i) = lvy2(i)
689 vy5(i) = lvy5(i)
690 vy6(i) = lvy6(i)
691
692 vz1(i) = lvz1(i)
693 vz2(i) = lvz2(i)
694 vz5(i) = lvz5(i)
695 vz6(i) = lvz6(i)
696
697 ifoam(nc1(i)) = 1
698 ifoam(nc2(i)) = 1
699 ifoam(nc5(i)) = 1
700 ifoam(nc6(i)) = 1
701 ENDIF
702 ii=ale_connect%ee_connect%connected(iad2 + 5 - 1)
703 IF(ii == 0 .AND. rexch(i,5) < em15)THEN
704
705 vdx2(i) = zero
706 vdx3(i) = zero
707 vdx6(i) = zero
708 vdx7(i) = zero
709
710 vdy2(i) = zero
711 vdy3(i) = zero
712 vdy6(i) = zero
713 vdy7(i) = zero
714
715 vdz2(i) = zero
716 vdz3(i) = zero
717 vdz6(i) = zero
718 vdz7(i) = zero
719
720 vx2(i) = lvx2(i)
721 vx3(i) = lvx3(i)
722 vx6(i) = lvx6(i)
723 vx7(i) = lvx7(i)
724
725 vy2(i) = lvy2(i)
726 vy3(i) = lvy3(i)
727 vy6(i) = lvy6(i)
728 vy7(i) = lvy7(i)
729
730 vz2(i) = lvz2(i)
731 vz3(i) = lvz3(i)
732 vz6(i) = lvz6(i)
733 vz7(i) = lvz7(i)
734
735 ifoam(nc2(i)) = 1
736 ifoam(nc3(i)) = 1
737 ifoam(nc6(i)) = 1
738 ifoam(nc7(i)) = 1
739 ENDIF
740 ii=ale_connect%ee_connect%connected(iad2 + 6 - 1)
741 IF(ii == 0 .AND. rexch(i,6) < em15)THEN
742
743 vdx1(i) = zero
744 vdx4(i) = zero
745 vdx5(i) = zero
746 vdx8(i) = zero
747
748 vdy1(i) = zero
749 vdy4(i) = zero
750 vdy5(i) = zero
751 vdy8(i) = zero
752
753 vdz1(i) = zero
754 vdz4(i) = zero
755 vdz5(i) = zero
756 vdz8(i) = zero
757
758 vx1(i) = lvx1(i)
759 vx4(i) = lvx4(i)
760 vx5(i) = lvx5(i)
761 vx8(i) = lvx8(i)
762
763 vy1(i) = lvy1(i)
764 vy4(i) = lvy4(i)
765 vy5(i) = lvy5(i)
766 vy8(i) = lvy8(i)
767
768 vz1(i) = lvz1(i)
769 vz4(i) = lvz4(i)
770 vz5(i) = lvz5(i)
771 vz8(i) = lvz8(i)
772
773 ifoam(nc1(i)) = 1
774 ifoam(nc4(i)) = 1
775 ifoam(nc5(i)) = 1
776 ifoam(nc8(i)) = 1
777 ENDIF
778 ENDDO
779#include "lockoff.inc"
780 ENDIF
781C----------------------------
782C CALCULATION OF CONVECTIVE FLUXES
783C MASSES SET TO ZERO
784C-----------------------------
785C
786 CALL aleflux(pm ,ixs ,
787 . x1 ,x2 ,x3 ,x4 ,
788 . x5 ,x6 ,x7 ,x8 ,y1 ,y2 ,y3 ,
789 . y4 ,y5 ,y6 ,y7 ,y8 ,z1 ,z2 ,
790 . z3 ,z4 ,z5 ,z6 ,z7 ,z8 ,
791 . vdx1,vdx2,vdx3,vdx4,vdx5,vdx6,vdx7,vdx8,
792 . vdy1,vdy2,vdy3,vdy4,vdy5,vdy6,vdy7,vdy8,
793 . vdz1,vdz2,vdz3,vdz4,vdz5,vdz6,vdz7,vdz8,
794 . flux,flu1,ale_connect,rexch )
795
796 IF(icongas == 0) THEN
797#include "lockon.inc"
798 DO i=1,nel
799 iad2 = ale_connect%ee_connect%iad_connect(i + nft)
800 ii=ale_connect%ee_connect%connected(iad2 + 1 - 1)
801 IF(ii == 0 .AND. flux(i,1) < zero )THEN
802
803 vdx1(i) = zero
804 vdx2(i) = zero
805 vdx3(i) = zero
806 vdx4(i) = zero
807
808 vdy1(i) = zero
809 vdy2(i) = zero
810 vdy3(i) = zero
811 vdy4(i) = zero
812
813 vdz1(i) = zero
814 vdz2(i) = zero
815 vdz3(i) = zero
816 vdz4(i) = zero
817
818 vx1(i) = lvx1(i)
819 vx2(i) = lvx2(i)
820 vx3(i) = lvx3(i)
821 vx4(i) = lvx4(i)
822
823
824 vy1(i) = lvy1(i)
825 vy2(i) = lvy2(i)
826 vy3(i) = lvy3(i)
827 vy4(i) = lvy4(i)
828
829 vz1(i) = lvz1(i)
830 vz2(i) = lvz2(i)
831 vz3(i) = lvz3(i)
832 vz4(i) = lvz4(i)
833
834 ifoam(nc1(i)) = 1
835 ifoam(nc2(i)) = 1
836 ifoam(nc3(i)) = 1
837 ifoam(nc4(i)) = 1
838 ENDIF
839 ii=ale_connect%ee_connect%connected(iad2 + 2 - 1)
840 IF(ii == 0 .AND. flux(i,2) < zero) THEN
841
842 vdx3(i) = zero
843 vdx4(i) = zero
844 vdx7(i) = zero
845 vdx8(i) = zero
846
847 vdy3(i) = zero
848 vdy4(i) = zero
849 vdy7(i) = zero
850 vdy8(i) = zero
851
852 vdz3(i) = zero
853 vdz4(i) = zero
854 vdz7(i) = zero
855 vdz8(i) = zero
856
857 vx3(i) = lvx3(i)
858 vx4(i) = lvx4(i)
859 vx7(i) = lvx7(i)
860 vx8(i) = lvx8(i)
861
862 vy3(i) = lvy3(i)
863 vy4(i) = lvy4(i)
864 vy7(i) = lvy7(i)
865 vy8(i) = lvy8(i)
866
867 vz3(i) = lvz3(i)
868 vz4(i) = lvz4(i)
869 vz7(i) = lvz7(i)
870 vz8(i) = lvz8(i)
871
872 ifoam(nc3(i)) = 1
873 ifoam(nc4(i)) = 1
874 ifoam(nc7(i)) = 1
875 ifoam(nc8(i)) = 1
876 ENDIF
877 ii=ale_connect%ee_connect%connected(iad2 + 3 - 1)
878 IF(ii == 0 .AND. flux(i,3) < zero)THEN
879
880 vdx5(i) = zero
881 vdx6(i) = zero
882 vdx7(i) = zero
883 vdx8(i) = zero
884
885 vdy5(i) = zero
886 vdy6(i) = zero
887 vdy7(i) = zero
888 vdy8(i) = zero
889
890 vdz5(i) = zero
891 vdz6(i) = zero
892 vdz7(i) = zero
893 vdz8(i) = zero
894
895 vx5(i) = lvx5(i)
896 vx6(i) = lvx6(i)
897 vx7(i) = lvx7(i)
898 vx8(i) = lvx8(i)
899
900 vy5(i) = lvy5(i)
901 vy6(i) = lvy6(i)
902 vy7(i) = lvy7(i)
903 vy8(i) = lvy8(i)
904
905 vz5(i) = lvz5(i)
906 vz6(i) = lvz6(i)
907 vz7(i) = lvz7(i)
908 vz8(i) = lvz8(i)
909
910 ifoam(nc5(i)) = 1
911 ifoam(nc6(i)) = 1
912 ifoam(nc7(i)) = 1
913 ifoam(nc8(i)) = 1
914
915 ENDIF
916 ii=ale_connect%ee_connect%connected(iad2 + 4 - 1)
917 IF(ii == 0 .AND. flux(i,4) < zero)THEN
918
919 vdx1(i) = zero
920 vdx2(i) = zero
921 vdx5(i) = zero
922 vdx6(i) = zero
923
924 vdy1(i) = zero
925 vdy2(i) = zero
926 vdy5(i) = zero
927 vdy6(i) = zero
928
929 vdz1(i) = zero
930 vdz2(i) = zero
931 vdz5(i) = zero
932 vdz6(i) = zero
933
934 vx1(i) = lvx1(i)
935 vx2(i) = lvx2(i)
936 vx5(i) = lvx5(i)
937 vx6(i) = lvx6(i)
938
939 vy1(i) = lvy1(i)
940 vy2(i) = lvy2(i)
941 vy5(i) = lvy5(i)
942 vy6(i) = lvy6(i)
943
944 vz1(i) = lvz1(i)
945 vz2(i) = lvz2(i)
946 vz5(i) = lvz5(i)
947 vz6(i) = lvz6(i)
948
949 ifoam(nc1(i)) = 1
950 ifoam(nc2(i)) = 1
951 ifoam(nc5(i)) = 1
952 ifoam(nc6(i)) = 1
953 ENDIF
954 ii=ale_connect%ee_connect%connected(iad2 + 5 - 1)
955 IF(ii == 0 .AND. flux(i,5) < zero)THEN
956
957 vdx2(i) = zero
958 vdx3(i) = zero
959 vdx6(i) = zero
960 vdx7(i) = zero
961
962 vdy2(i) = zero
963 vdy3(i) = zero
964 vdy6(i) = zero
965 vdy7(i) = zero
966
967 vdz2(i) = zero
968 vdz3(i) = zero
969 vdz6(i) = zero
970 vdz7(i) = zero
971
972 vx2(i) = lvx2(i)
973 vx3(i) = lvx3(i)
974 vx6(i) = lvx6(i)
975 vx7(i) = lvx7(i)
976
977 vy2(i) = lvy2(i)
978 vy3(i) = lvy3(i)
979 vy6(i) = lvy6(i)
980 vy7(i) = lvy7(i)
981
982 vz2(i) = lvz2(i)
983 vz3(i) = lvz3(i)
984 vz6(i) = lvz6(i)
985 vz7(i) = lvz7(i)
986
987 ifoam(nc2(i)) = 1
988 ifoam(nc3(i)) = 1
989 ifoam(nc6(i)) = 1
990 ifoam(nc7(i)) = 1
991 ENDIF
992 ii=ale_connect%ee_connect%connected(iad2 + 6 - 1)
993 IF(ii == 0 .AND. flux(i,6) < zero)THEN
994
995 vdx1(i) = zero
996 vdx4(i) = zero
997 vdx5(i) = zero
998 vdx8(i) = zero
999
1000 vdy1(i) = zero
1001 vdy4(i) = zero
1002 vdy5(i) = zero
1003 vdy8(i) = zero
1004
1005 vdz1(i) = zero
1006 vdz4(i) = zero
1007 vdz5(i) = zero
1008 vdz8(i) = zero
1009
1010 vx1(i) = lvx1(i)
1011 vx4(i) = lvx4(i)
1012 vx5(i) = lvx5(i)
1013 vx8(i) = lvx8(i)
1014
1015 vy1(i) = lvy1(i)
1016 vy4(i) = lvy4(i)
1017 vy5(i) = lvy5(i)
1018 vy8(i) = lvy8(i)
1019
1020 vz1(i) = lvz1(i)
1021 vz4(i) = lvz4(i)
1022 vz5(i) = lvz5(i)
1023 vz8(i) = lvz8(i)
1024
1025 ifoam(nc1(i)) = 1
1026 ifoam(nc4(i)) = 1
1027 ifoam(nc5(i)) = 1
1028 ifoam(nc8(i)) = 1
1029 ENDIF
1030 ENDDO
1031#include "lockoff.inc"
1032 ENDIF
1033
1034C-----------------------------
1035C CONVECTION OF ENERGY AND MASS ...
1036C-----------------------------
1037 nvar = 1
1038 CALL aleconve(mbuf%VAR((nvar-1)*nel+1),flux ,flu1 ,phi1 ,ale_connect ,rhoext )
1039 nvar = 2
1040 CALL aleconve(mbuf%VAR((nvar-1)*nel+1),flux ,flu1 ,phi2 ,ale_connect ,eiext )
1041C-----------
1042C Darcy force computed from flow velocity
1043C------------
1044 aa = pm(194,mat(1))
1045 bb = pm(195,mat(1))
1046 taux = pm(196,mat(1))
1047
1048 dtinv = dt1/max(dt1*dt1, em20)
1049
1050 mx = mat(1)
1051 DO i=1,nel
1052 frho0(i) =pm(192,mx)
1053 kk(i) = mbuf%VAR(21*nel + i)
1054 fac = one_over_8*(one - alpha(i))/max(em20,kk(i))
1055
1056 vdx(i)=one_over_8*(vdx1(i)+vdx2(i)+vdx3(i)+vdx4(i)+vdx5(i)+vdx6(i)+vdx7(i)+vdx8(i))
1057 vdy(i)=one_over_8*(vdy1(i)+vdy2(i)+vdy3(i)+vdy4(i)+vdy5(i)+vdy6(i)+vdy7(i)+vdy8(i))
1058 vdz(i)=one_over_8*(vdz1(i)+vdz2(i)+vdz3(i)+vdz4(i)+vdz5(i)+vdz6(i)+vdz7(i)+vdz8(i))
1059 vd2(i)=(vdx(i)**2+vdy(i)**2+vdz(i)**2)
1060C darcy forces
1061 vfe(1) = one_over_8*(vdx1(i) + vdx2(i) + vdx3(i) + vdx4(i) +vdx5(i) + vdx6(i) + vdx7(i) + vdx8(i))
1062 vfe(2) = one_over_8*(vdy1(i) + vdy2(i) + vdy3(i) + vdy4(i) +vdy5(i) + vdy6(i) + vdy7(i) + vdy8(i))
1063 vfe(3) = one_over_8*(vdz1(i) + vdz2(i) + vdz3(i) + vdz4(i) +vdz5(i) + vdz6(i) + vdz7(i) + vdz8(i))
1064C acceleration
1065C But is always A=Zero is not activated. Is the Gaz acceleration .
1066C if is required we should use the relative acceleration as velocity
1067C A= (A_gaz - A_foam).
1068 afe(1) = one_over_8*(a(1,nc1(i)) + a(1,nc2(i)) + a(1,nc3(i)) +
1069 . a(1,nc4(i)) + a(1,nc5(i)) + a(1,nc6(i)) + a(1,nc7(i)) + a(1,nc8(i)))
1070C
1071 afe(2) = one_over_8*(a(2,nc1(i)) + a(2,nc2(i)) + a(2,nc3(i)) +
1072 . a(2,nc4(i)) + a(2,nc5(i)) + a(2,nc6(i)) + a(2,nc7(i)) + a(2,nc8(i)))
1073C
1074 afe(3) = one_over_8*(a(3,nc1(i)) + a(3,nc2(i)) + a(3,nc3(i)) +
1075 . a(3,nc4(i)) + a(3,nc5(i)) + a(3,nc6(i)) + a(3,nc7(i)) + a(3,nc8(i)))
1076C
1077 dfe(i,1)=fac*(aa*vfe(1) + bb*abs(vfe(1))*vfe(1) + taux*afe(1))
1078 dfe(i,2)=fac*(aa*vfe(2) + bb*abs(vfe(2))*vfe(2) + taux*afe(2))
1079 dfe(i,3)=fac*(aa*vfe(3) + bb*abs(vfe(3))*vfe(3) + taux*afe(3))
1080 ENDDO
1081c-----------
1082 RETURN
subroutine aleconve(var, flux, flu1, phi, ale_connect, phiv)
Definition aleconv.F:33
subroutine aleflux(pm, ixs, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, vdx1, vdx2, vdx3, vdx4, vdx5, vdx6, vdx7, vdx8, vdy1, vdy2, vdy3, vdy4, vdy5, vdy6, vdy7, vdy8, vdz1, vdz2, vdz3, vdz4, vdz5, vdz6, vdz7, vdz8, flux, flu1, ale_connect, alpha)
Definition aleflux.F:40
#define my_real
Definition cppsort.cpp:32
#define alpha
Definition eval.h:35
#define min(a, b)
Definition macros.h:20
#define max(a, b)
Definition macros.h:21
integer function nvar(text)
Definition nvar.F:32