32
33
34
36
37
38
39#include "implicit_f.inc"
40#include "mvsiz_p.inc"
41
42
43
44 INTEGER IOFF
45 my_real vtot(*), phi(*), flux(6,*), flu1(*)
46 TYPE(t_ale_connectivity), INTENT(IN) :: ALE_CONNECT
47
48
49
50#include "com08_c.inc"
51#include "vect01_c.inc"
52
53
54
55 INTEGER I, IE, IV,J,IAD2
56 my_real valvois(6,mvsiz),valel(mvsiz)
57
58
59
60 DO i=lft,llt
61 ie =nft+i
62 valel(i)=phi(ie)
63 ENDDO
64
65 DO i=lft,llt
66 ie =nft+i
67 iad2 = ale_connect%ee_connect%iad_connect(ie)
68
69 j = 2
70 iv = ale_connect%ee_connect%connected(iad2 + 3 - 1)
71 IF(iv > 0)THEN
72 valvois(j,i)=phi(iv)
73 ELSEIF(iv == 0)THEN
74 valvois(j,i)=phi(ie)
75 ELSE
76 valvois(j,i)=phi(-iv+ioff)
77 ENDIF
78
79 j = 4
80 iv = ale_connect%ee_connect%connected(iad2 + 4 - 1)
81 IF(iv > 0)THEN
82 valvois(j,i)=phi(iv)
83 ELSEIF(iv == 0)THEN
84 valvois(j,i)=phi(ie)
85 ELSE
86 valvois(j,i)=phi(-iv+ioff)
87 ENDIF
88
89 j = 5
90 iv = ale_connect%ee_connect%connected(iad2 + 1 - 1)
91 IF(iv > 0)THEN
92 valvois(j,i)=phi(iv)
93 ELSEIF(iv == 0)THEN
94 valvois(j,i)=phi(ie)
95 ELSE
96 valvois(j,i)=phi(-iv+ioff)
97 ENDIF
98
99 j = 6
100 iv = ale_connect%ee_connect%connected(iad2 + 2 - 1)
101 IF(iv > 0)THEN
102 valvois(j,i)=phi(iv)
103 ELSEIF(iv == 0)THEN
104 valvois(j,i)=phi(ie)
105 ELSE
106 valvois(j,i)=phi(-iv+ioff)
107 ENDIF
108 ENDDO
109
110 DO i=lft,llt
111 vtot(i) = vtot(i) + half * dt1 *(
112 1 -valel(i)*flu1(i)
113 2 -valvois(2,i)*flux(2,i)
114 3 -valvois(4,i)*flux(4,i)
115 4 -valvois(5,i)*flux(5,i)
116 5 -valvois(6,i)*flux(6,i)
117 6 )
118 ENDDO
119
120 RETURN