35 . N4_VOIS, ITAB, NV46, ITRIMAT, SEGVAR)
53#include "implicit_f.inc"
58#include "vect01_c.inc"
63 INTEGER,
INTENT(IN) :: NV46
64 my_real,
INTENT(OUT) :: flux(nv46, *)
65 my_real,
INTENT(IN) :: x(3, numnod)
66 INTEGER,
INTENT(IN) :: IXQ(NIXQ, NUMELQ)
67 my_real,
INTENT(OUT) :: flux_vois(numelq+nqvois, nv46)
68 INTEGER,
INTENT(OUT) :: N4_VOIS(NUMELQ+NQVOIS,8)
69 INTEGER,
INTENT(IN) :: ITAB(NUMNOD)
70 INTEGER,
INTENT(IN) :: ITRIMAT
76 INTEGER :: I, II, KK, JJ, IAD2, IAD3
77 INTEGER :: NEIGHBOOR_LIST(NV46), FACE_NEIGHBOOR(NV46)
81 INTEGER :: FACE_TO_NODE_LOCAL_ID(4, 2), NODEID1, NODEID2
87 face_to_node_local_id(1, 1) = 1 ; face_to_node_local_id(1, 2) = 2
89 face_to_node_local_id(2, 1) = 2 ; face_to_node_local_id(2, 2) = 3
91 face_to_node_local_id(3, 1) = 3 ; face_to_node_local_id(3, 2) = 4
93 face_to_node_local_id(4, 1) = 4 ; face_to_node_local_id(4, 2) = 1
97 iad2 = ale_connect%ee_connect%iad_connect(ii)
104 IF (flux(kk, ii) > zero)
THEN
106 neighboor_list(kk) = ale_connect%ee_connect%connected(iad2 + kk - 1)
107 face_neighboor(kk) = kk
108 IF (neighboor_list(kk) <= 0)
THEN
109 IF(neighboor_list(kk)==0)neighboor_list(kk) = ii
111 ELSEIF (neighboor_list(kk) <= numelq)
THEN
112 iad3 = ale_connect%ee_connect%iad_connect(neighboor_list(kk))
115 IF (ale_connect%ee_connect%connected(iad3 + jj - 1) == ii)
THEN
116 face_neighboor(kk) = jj
121 nodeid1 = ixq(1 + face_to_node_local_id(kk, 1), ii)
122 nodeid2 = ixq(1 + face_to_node_local_id(kk, 2), ii)
125 zf = half * (x(3, nodeid1) + x(3, nodeid2))
133 flux(kk, ii) = alphak * flux(kk, ii)
134 IF (neighboor_list(kk) > 0)
THEN
135 IF (neighboor_list(kk) <= numelq)
THEN
137 flux(face_neighboor(kk), neighboor_list(kk)) = -flux(kk, ii)
140 flux_vois(ii, kk) = flux(kk, ii)
141 n4_vois(ii, 1) = itab
142 n4_vois(ii, 2) = itab(ixq(3, ii))
143 n4_vois(ii, 3) = itab(ixq(4, ii))
144 n4_vois(ii, 4) = itab(ixq(5, ii))
157 iad2 = ale_connect%ee_connect%iad_connect(ii)
159 IF(flux(kk,ii) < zero .AND. ale_connect%ee_connect%connected(iad2 + kk - 1) < 0)
THEN
160 flux(kk,ii) = segvar%PHASE_ALPHA(itrimat,-ale_connect%ee_connect%connected(iad2 + kk - 1))*flux(kk,ii)