47
48
49
50
51
52
53
55 USE elbufdef_mod
60 USE multimat_param_mod , ONLY : m51_n0phas, m51_nvphas
61
62
63
64#include "implicit_f.inc"
65
66
67
68#include "scr07_c.inc"
69#include "spmd_c.inc"
70#include "com01_c.inc"
71#include "com04_c.inc"
72#include "vect01_c.inc"
73#include "param_c.inc"
74#include "task_c.inc"
75
76
77
78 INTEGER :: NV46, ITASK
79 INTEGER IPARG(NPARG,NGROUP), IXQ(NIXQ,NUMELQ)
81 TYPE(ELBUF_STRUCT_), TARGET, DIMENSION(NGROUP) :: ELBUF_TAB
82 INTEGER :: LENCOM, NERCVOIS(*),NESDVOIS(*),LERCVOIS(*),LESDVOIS(*)
83 INTEGER :: IAD_ELEM(2, *), FR_ELEM(*)
84 TYPE(t_segvar) :: SEGVAR
85 TYPE(t_ale_connectivity), INTENT(IN) :: ALE_CONNECT
86
87
88
89 INTEGER :: NG
90 INTEGER :: ITRIMAT
91 my_real,
DIMENSION(:),
POINTER :: volg, volp, uvar
92 INTEGER :: ADD
93 INTEGER :: K, I, II, JJ, NODE_ID, JMIN, JMAX
94 INTEGER :: ELEM_ID
95 INTEGER :: FIRST,LAST
96
97
98
99 DO ng=itask+1,ngroup,nthread
100
101 IF (iparg(76, ng) == 1) cycle
103 2 mtn ,llt ,nft
104 3 npt ,jale ,ismstr ,jeul ,jtur ,
105 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
106 5 nvaux ,jpor ,jcvt ,jclose ,jplasol ,
107 6 irep ,iint ,igtyp ,israt ,isrot ,
108 7 icsen ,isorth ,isorthg ,ifailure,jsms )
109 IF(jale+jeul == 0) cycle
110 IF(iparg(8,ng) == 1) cycle
111 IF(iparg(1,ng) /= 51) cycle
112 IF ((jale /= 0) .OR. ((jeul /= 0) .AND. (ncycle == 0 .OR. mcheck /= 0))) THEN
113
114 DO i=lft,llt
115
116
119 ENDDO
120 ENDIF
121 ENDDO
122 DO ng=itask+1,ngroup,nthread
123
124 IF (iparg(76, ng) == 1) cycle
126 2 mtn ,llt ,nft ,iad ,ity ,
127 3 npt ,jale ,ismstr ,jeul
128 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
129 5 nvaux ,jpor ,jcvt ,jclose ,jplasol ,
130 6 irep ,iint ,igtyp ,israt ,isrot ,
131 7 icsen ,isorth ,isorthg ,ifailure,jsms )
132 IF(jale+jeul == 0) cycle
133 IF(iparg(8,ng) == 1) cycle
134 IF(iparg(1,ng) /= 51) cycle
135 volg => elbuf_tab(ng)%GBUF%VOL
136 uvar => elbuf_tab(ng)%BUFLY(1)%MAT(1,1,1)%VAR
137 lft=1
138 DO itrimat = 1, trimat
139 add = m51_n0phas + (itrimat-1)*m51_nvphas
140 add = add + 11
141 k = llt*(add-1)
142 volp =>uvar(k+1:k+llt)
143
144 DO i=lft,llt
145 ii = i+nft
148 ENDDO
149 ENDDO
150 ENDDO
151
153
154
155 IF(nspmd > 1)THEN
156
157
158 DO itrimat = 1, trimat
160 ENDDO
161
162 DO jj = 1, 3
164 ENDDO
165
166 ENDIF
168
169 first = 1 + itask * numnod / nthread
170 last = (1 + itask) * numnod / nthread
173 DO itrimat = 1, trimat
174 DO node_id = first,last
177 DO jj = jmin
179 IF (elem_id /= 0 .AND. elem_id <= numelq) THEN
184 ENDIF
185 ENDDO
186 ENDDO
187 ENDDO
189
190 IF(nspmd > 1)THEN
191
192 DO itrimat = 1, trimat
195 ENDDO
196
197 ENDIF
199
200 DO ng=itask+1,ngroup,nthread
201
202 IF (iparg(76, ng) == 1) cycle
204 2 mtn ,llt ,nft ,iad ,ity ,
205 3 npt ,jale ,ismstr ,jeul ,jtur ,
206 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
207 5 nvaux ,jpor ,jcvt ,jclose ,jplasol ,
208 6 irep ,iint ,igtyp ,israt ,isrot ,
209 7 icsen ,isorth ,isorthg ,ifailure,jsms
210 IF(jale+jeul == 0) cycle
211 IF(iparg(8,ng) == 1) cycle
212 IF(iparg(1,ng) /= 51) cycle
213 lft = 1
214
215 DO itrimat = 1, trimat
217 ENDDO
218 END DO
219
221
222 IF (nspmd > 1) THEN
223
224
225 DO itrimat = 1, trimat
227 . nercvois, nesdvois, lercvois, lesdvois, lencom)
228 ENDDO
229
230 ENDIF
232
233 DO ng=itask+1,ngroup,nthread
234
235 IF (iparg(76, ng) == 1) cycle
237 2 mtn ,llt ,nft ,iad ,ity ,
238 3 npt ,jale ,ismstr ,jeul ,jtur ,
239 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
240 5 nvaux ,jpor ,jcvt ,jclose ,jplasol ,
241 6 irep ,iint ,igtyp ,israt ,isrot ,
242 7 icsen ,isorth ,isorthg ,ifailure,jsms )
243 IF(jale+jeul == 0) cycle
244 IF(iparg(8,ng) == 1) cycle
245 IF(iparg(1,ng) /= 51) cycle
246 lft = 1
247
249 ENDDO
251
252
subroutine gradient_limitation2(ixq, x, trimat)
subroutine gradient_reconstruction2(ixq, x, ale_connect, nv46, itrimat, segvar)
type(alemuscl_buffer_) alemuscl_buffer
subroutine initbuf(iparg, ng, mtn, llt, nft, iad, ity, npt, jale, ismstr, jeul, jtur, jthe, jlag, jmult, jhbe, jivf, mid, jpor, jcvt, jclose, jpla, irep, iint, igtyp, israt, isrot, icsen, isorth, isorthg, ifailure, jsms)
subroutine spmd_e1vois(phi, nercvois, nesdvois, lercvois, lesdvois, lencom)
subroutine spmd_exch_min_max(iad_elem, fr_elem, min_array, max_array)
subroutine spmd_exchange_grad(dim, dim1, dim2, phi, nercvois, nesdvois, lercvois, lesdvois, lencom)