32
33
34
36
37
38
39#include "implicit_f.inc"
40
41
42
43#include "com01_c.inc"
44#include "com08_c.inc"
45#include "vect01_c.inc"
46
47
48
49 INTEGER BHOLE(NMULT,*) ,NM
50 my_real vtot(*), phi(*), flux(4,*), flu1(*)
51 TYPE(t_ale_connectivity), INTENT(IN) :: ALE_CONNECT
52
53
54
55 INTEGER I, IE, IV1, IV2, IV3, IV4, IAD2
56
57
58
59 DO i=lft,llt
60 ie =nft+i
61 iad2 = ale_connect%ee_connect%iad_connect(ie)
62 iv1=ale_connect%ee_connect%connected(iad2 + 1 - 1)
63 iv2=ale_connect%ee_connect%connected(iad2 + 2 - 1)
64 iv3=ale_connect%ee_connect%connected(iad2 + 3 - 1)
65 iv4=ale_connect%ee_connect%connected(iad2 + 4 - 1)
66 IF(iv1 <= 0.)THEN
67 iv1=ie
68 ELSEIF(bhole(nm,ie) < 0. .AND.abs(bhole(nm,iv1)) /= abs(bhole(nm,ie)))THEN
69 iv1=ie
70 ENDIF
71 IF(iv2 <= 0.)THEN
72 iv2=ie
73 ELSEIF(bhole(nm,ie) < 0. .AND.abs(bhole(nm,iv2)) /= abs(bhole(nm,ie)))THEN
74 iv2=ie
75 ENDIF
76 IF(iv3 <= 0.)THEN
77 iv3=ie
78 ELSEIF(bhole(nm,ie) < 0. .AND.abs(bhole(nm,iv3)) /= abs(bhole(nm,ie)))THEN
79 iv3=ie
80 ENDIF
81 IF(iv4 <= 0.)THEN
82 iv4=ie
83 ELSEIF(bhole(nm,ie) < 0. .AND.abs(bhole(nm,iv4)) /= abs(bhole(nm,ie)))THEN
84 iv4=ie
85 ENDIF
86 vtot(i) = vtot(i) + half * dt1 *(
87 . - phi(ie)*flu1(i)
88 . - phi(iv1)*flux(1,i)-phi(iv2)*flux(2,i)-phi(iv3)*flux(3,i)-phi(iv4)*flux(4,i)
89 . )
90 ENDDO
91
92 RETURN