33 2 VEUL ,ALE_CONNECT ,IPM ,
54#include "implicit_f.inc"
62#include
"vect01_c.inc"
70 INTEGER :: IXS(NIXS,NUMELS), NV46, IPM(NPROPMI,*),NEL
71 my_real :: PM(NPROPM,NUMMAT), FLUX(6,*), FLU1(*), VEUL(LVEUL,*),X(3,NUMNOD)
76 INTEGER MAT(MVSIZ), I, II,J,IMAT,IALEFVM_FLG,IDV,ICF(4,6),IX1,IX2,IX3,IX4
78 . n2x(mvsiz), n3x(mvsiz), n4x(mvsiz), n5x(mvsiz), n6x(mvsiz), n1y(mvsiz), n2y(mvsiz), n3y(mvsiz),
79 . n4y(mvsiz), n5y(mvsiz), n6y(mvsiz), n1z(mvsiz), n2z(mvsiz), n3z(mvsiz), n4z(mvsiz), n5z(mvsiz),
80 . n6z(mvsiz), flux1(mvsiz), flux2(mvsiz), flux3(mvsiz), flux4(mvsiz), flux5(mvsiz),
81 . flux6(mvsiz), vx1(mvsiz), vx2(mvsiz), vx3(mvsiz), vx4(mvsiz), vx5(mvsiz), vx6(mvsiz),
82 . vy1(mvsiz), vy2(mvsiz), vy3(mvsiz), vy4(mvsiz), vy5(mvsiz), vy6(mvsiz), vz1(mvsiz), vz2(mvsiz),
83 . vz3(mvsiz), vz4(mvsiz), vz5(mvsiz), vz6(mvsiz),
84 . reduc,upwl(6,mvsiz),valvois(6,nv46,mvsiz), valel(6,mvsiz), vec(3,6),cf(3,mvsiz),
85 . z(3),zadj(3),zcf(3),zzadj(3),zzadj_,ps,lambda,sr1,sr2, srf, surf(6),term2
87 INTEGER :: idbf,idbl,NC(8,MVSIZ),IAD2,LGTH
89 DATA icf/1,4,3,2,3,4,8,7,5,6,7,8,1,2,6,5,2,3,7,6,1,5,8,4/
112 ialefvm_flg = ipm(251,imat)
113 IF(ialefvm_flg <= 1)
RETURN
129 iad2 = ale_connect%ee_connect%iad_connect(ii)
130 lgth = ale_connect%ee_connect%iad_connect(ii+1) - iad2
138 idv = ale_connect%ee_connect%connected(iad2 + j - 1)
207 vec(1,j) = half * (valel(1,i)/valel(4,i) + valvois(1,j,i)/valvois(4,j,i))
208 vec(2,j) = half * (valel(2,i)/valel(4,i) + valvois(2,j,i)/valvois(4,j,i))
209 vec(3,j) = half * (valel(3,i)/valel(4,i) + valvois(3,j,i)/valvois(4,j,i))
247 vec(1,j) = (valel(1,i) + valvois(1,j,i)) / (valel(4,i)+valvois(4,j,i))
248 vec(2,j) = (valel(2,i) + valvois(2,j,i)) / (valel(4,i)+valvois(4,j,i))
249 vec(3,j) = (valel(3,i) + valvois(3,j,i)) / (valel(4,i)+valvois(4,j,i))
286 sr1 = sqrt(valel(4,i))
288 sr2 = sqrt(valvois(4,j,i))
289 vec(1,j) = (valel(1,i)/sr1 + valvois(1,j,i)/sr2) / (sr1+sr2)
290 vec(2,j) = (valel(2,i)/sr1 + valvois(2,j,i)/sr2) / (sr1+sr2)
291 vec(3,j) = (valel(3,i)/sr1 + valvois(3,j,i)/sr2) / (sr1+sr2)
330 vec(1,j) = (valel(1,i) + valvois(1,j,i)
331 . / (valel(4,i) + valvois(4,j,i) )
332 vec(2,j) = (valel(2,i) + valvois
333 . / (valel(4,i) + valvois(4,j,i
334 vec(3,j) = (valel(3,i) + valvois(3,j,i) )
335 . / (valel(4,i) + valvois(4,j,i) )
337 vec(1,j) = (valel(1,i)*valel(5,i) + valvois(1,j,i)*valvois(5,j,i))
338 . / (valel(4,i)*valel(5,i) + valvois(4,j,i)*valvois(5,j,i))
339 vec(2,j) = (valel(2,i)*valel(5,i) + valvois(2,j,i)*valvois(5,j,i))
340 . / (valel(4,i)*valel(5,i) + valvois(4,j,i)*valvois(5,j,i))
341 vec(3,j) = (valel(3,i)*valel(5,i) + valvois(3,j,i)*valvois(5,j,i))
342 . / (valel(4,i)*valel(5,i) + valvois(4,j,i)*valvois(5,j,i))
382 vec(1,j) = (valel(1,i) + valvois(1,j,i))
383 . / (valel(4,i) + valvois(4,j,i))
384 vec(2,j) = (valel(2,i) + valvois(2,j,i))
385 . / (valel(4,i) + valvois(
386 vec(3,j) = (valel(3,i) + valvois(3,j,i))
391 surf(1) = one/sqrt(n1x(i)*n1x(i)+n1y(i)*n1y(i)+n1z(i)*n1z(i))
392 surf(2) = one/sqrt(n2x(i)*n2x(i)+n2y
393 surf(3) = one/sqrt(n3x(i)*n3x(i)+n3y(i)*n3y(i)+n3z(i)*n3z(i))
394 surf(4) = one/sqrt(n4x(i)*n4x(i)+n4y(i)*n4y(i)+n4z(i)*n4z(i))
395 surf(5) = one/sqrt(n5x
396 surf(6) = one/sqrt(n6x(i)*n6x(i)+n6y(i)*n6y(i)+n6z(i)*n6z(i))
399 term2 = +surf(j) * ( valel(6,i)-valvois
400 vec(1,j) = (valel(1,i)*valel(5,i) + valvois(1,j,i)*valvois(5,j,i))
401 . / (valel(4,i)*valel(5,i)+valvois(4,j,i)*valvois(5,j,i)) + term2*veul(14-1+j,ii)
402 vec(2,j) = (valel(2,i)*valel(5,i) + valvois(2,j,i)*valvois(5,j,i))
403 . / (valel(4,i)*valel(5,i)+valvois(4,j,i)*valvois(5,j,i)) + term2*veul(20-1+j,ii)
404 vec(3,j) = (valel(3,i)*valel(5,i) + valvois(3,j,i)*valvois(5,j,i))
405 . / (valel(4,i)*valel(5,i)+valvois(4,j,i)*valvois(5,j,i)) + term2*veul(26-1+j,ii)
452 z(1) = one_over_8*sum(x(1,nc(1:8,i)))
453 z(2) = one_over_8*sum(x(2,nc(1:8,i)))
454 z(3) = one_over_8*sum(x(3,nc(1:8,i)))
455 iad2 = ale_connect%ee_connect%iad_connect(ii)
456 lgth = ale_connect%ee_connect%iad_connect(ii+1) - iad2
458 idv = ale_connect%ee_connect%connected(iad2 + j - 1)
463 ix1=ixs(icf(1,j)+1,ii)
464 ix2=ixs(icf(2,j)+1,ii)
465 ix3=ixs(icf(3,j)+1,ii)
466 ix4=ixs(icf(4,j)+1,ii)
467 cf(1,i) = fourth*(x(1,ix1)+x(1,ix2)+x(1,ix3)+x(1,ix4))
468 cf(2,i) = fourth*(x(2,ix1)+x(2,ix2)+x(2,ix3)+x(2,ix4))
469 cf(3,i) = fourth*(x(3,ix1)+x(3,ix2)+x(3,ix3)+x(3,ix4))
478 zadj(1) = one_over_8*sum(x(1,nc(1:8,i)))
479 zadj(2) = one_over_8*sum(x(2,nc(1:8,i)))
480 zadj(3) = one_over_8*sum(x(3,nc(1:8,i)))
481 zzadj(1) = zadj(1)-z(1)
482 zzadj(2) = zadj(2)-z(2)
483 zzadj(3) = zadj(3)-z(3)
484 zcf(1) = cf(1,i) - z(1)
485 zcf(2) = cf(2,i) - z(2)
486 zcf(3) = cf(3,i) - z(3)
487 ps = zcf(1)*zzadj(1) + zcf(2)*zzadj(2) + zcf(3)*zzadj(3)
488 zzadj_ = zzadj(1)**2 + zzadj(2)**2 + zzadj(3)**2
489 lambda = ps /
max(em20,zzadj_)
494 lambda =
min(
max(zero,lambda) , one)
495 lambda = sin(half*3.14159265358979d00*lambda)
496 lambda = lambda * lambda
500 srf = sr1 + lambda*(sr2-sr1)
502 vec(1,j) = valel(1,i) + lambda*(valvois(1,j,i)-valel(1,i))
503 vec(2,j) = valel(2,i) + lambda*(valvois(2,j,i)-valel(2,i))
504 vec(3,j) = valel(3,i) + lambda*(valvois(3,j,i)-valel(3,i))
506 vec(1,j) = vec(1,j) / srf
507 vec(2,j) = vec(2,j) / srf
508 vec(3,j) = vec(3,j) / srf
548 flux1(i)=half*(vx1(i)*n1x(i)+vy1(i)*n1y(i)+vz1(i)*n1z(i))
549 flux2(i)=half*(vx2(i)*n2x(i)+vy2(i)*n2y(i)+vz2(i)*n2z(i))
550 flux3(i)=half*(vx3(i)*n3x(i)+vy3(i)*n3y(i)+vz3(i)*n3z(i))
551 flux4(i)=half*(vx4(i)*n4x(i)+vy4(i)*n4y(i)+vz4(i)*n4z(i))
552 flux5(i)=half*(vx5(i)*n5x(i)+vy5(i)*n5y(i)+vz5(i)*n5z(i))
553 flux6(i)=half*(vx6(i)*n6x(i)+vy6(i)*n6y(i)+vz6(i)*n6z(i))
579 print *,
" |----alefvm_eflux3.F-----|"
580 print
" | THREAD INFORMATION |"
581 print *,
" |------------------------|"
582 print *,
" NCYCLE =", ncycle
585 print *,
" brique=", ixs(11,nft+i)
586 write (*,fmt=
'(A,6E26.14)')
" Flux(1:6) =", flux1(i),flux2(i),flux3(i),flux4(i),flux5(i),flux6(i)
587 write(*,fmt=
'(A24,1A20)')
" ",
588 .
"#--------- cell-----------"
589 write (*,fmt=
'(A,1E26.14)')
" V_cell-X =",
alefvm_buffer%FCELL(1,ii)
590 write (*,fmt=
'(A,1E26.14)')
" V_cell-Y =",
alefvm_buffer%FCELL(2,ii)
591 write (*,fmt=
'(A,1E26.14)')
" V_cell-Z ="
592 write(*,fmt=
'(A24,6A26)')
" ",
593 .
"#--------- adj_1 ---------",
"#--------- adj_2 ---------",
594 .
"#--------- adj_3 ---------",
"#--------- adj_4 ---------",
595 .
"#--------- adj_5 ---------",
"#--------- adj_6 --------#"
596 write (*,fmt=
'(A,6E26.14)')
" V_faces-X =",
alefvm_buffer%F_FACE(1,1:6,ii)
597 write (*,fmt=
'(A,6E26.14)')
" V_faces-Y =",
alefvm_buffer%F_FACE(2,1:6,ii)
598 write (*,fmt=
'(A,6E26.14)')
" V_faces-Z =",
alefvm_buffer%F_FACE(3,1:6,ii)
607 !======================================================
611 IF(nint(pm(19,mat(1)))==51)
THEN
629 upwl(j,i)=pm(16,mat(i))
634 iad2 = ale_connect%ee_connect%iad_connect(i + nft)
637 ii=ale_connect%ee_connect%connected(iad2 + 1 - 1)
639 flux1(i)=flux1(i)*reduc
642 ii=ale_connect%ee_connect%connected(iad2 + 2 - 1)
644 flux2(i)=flux2(i)*reduc
647 ii=ale_connect%ee_connect%connected(iad2 +
649 flux3(i)=flux3(i)*reduc
652 ii=ale_connect%ee_connect%connected(iad2 + 4 - 1)
654 flux4(i)=flux4(i)*reduc
657 ii=ale_connect%ee_connect%connected(iad2 + 5 - 1)
659 flux5(i)=flux5(i)*reduc
662 ii=ale_connect%ee_connect%connected(iad2 + 6 - 1)
664 flux6(i)=flux6(i)*reduc
669 flux(1,i)=flux1(i)-upwl(1,i)*abs(flux1(i))
670 flux(2,i)=flux2(i)-upwl(2,i)*abs(flux2(i))
671 flux(3,i)=flux3(i)-upwl(3,i)*abs(flux3(i))
672 flux(4,i)=flux4(i)-upwl(4,i)*abs(flux4(i))
673 flux(5,i)=flux5(i)-upwl(5,i)*abs(flux5(i))
674 flux(6,i)=flux6(i)-upwl(6,i)*abs(flux6(i))
676 flu1(i) =flux1(i)+upwl(1,i)*abs(flux1(i))
677 . +flux2(i)+upwl(2,i)*abs(flux2(i))
678 . +flux3(i)+upwl(3,i)*abs(flux3(i))
679 . +flux4(i)+upwl(4,i)*abs(flux4(i))
680 . +flux5(i)+upwl(5,i)*abs(flux5(i))
681 . +flux6(i)+upwl(6,i)*abs(flux6(i))