OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
spmd_i7crit.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23!||====================================================================
24!|| spmd_tri20gat ../engine/source/mpi/interfaces/spmd_i7crit.F
25!||--- called by ------------------------------------------------------
26!|| i20main_tri ../engine/source/interfaces/intsort/i20main_tri.F
27!||--- calls -----------------------------------------------------
28!|| ancmsg ../engine/source/output/message/message.F
29!|| arret ../engine/source/system/arret.F
30!||--- uses -----------------------------------------------------
31!|| h3d_mod ../engine/share/modules/h3d_mod.F
32!|| message_mod ../engine/share/message_module/message_mod.F
33!|| tri7box ../engine/share/modules/tri7box.F
34!||====================================================================
35 SUBROUTINE spmd_tri20gat(RESULT,NSN ,CAND_N ,I_STOK,NIN ,
36 2 IGAP ,NSNR,MULTIMP,ITY ,INTTH,
37 3 INACTI,H3D_DATA)
38C-----------------------------------------------
39C M o d u l e s
40C-----------------------------------------------
41 USE tri7box
42 USE message_mod
43 USE h3d_mod
44C-----------------------------------------------
45C I m p l i c i t T y p e s
46C-----------------------------------------------
47#include "implicit_f.inc"
48#include "r4r8_p.inc"
49C-----------------------------------------------
50C M e s s a g e P a s s i n g
51C-----------------------------------------------
52#ifdef MPI
53#endif
54C-----------------------------------------------
55C C o m m o n B l o c k s
56C-----------------------------------------------
57#include "com01_c.inc"
58#include "task_c.inc"
59#include "scr14_c.inc"
60#include "scr16_c.inc"
61#include "scr18_c.inc"
62#include "parit_c.inc"
63#include "spmd_c.inc"
64#include "sms_c.inc"
65C-----------------------------------------------
66C D u m m y A r g u m e n t s
67C-----------------------------------------------
68 INTEGER RESULT, NIN, NSN, I_STOK, IGAP, NSNR, MULTIMP, ITY,
69 . CAND_N(*),INTTH,INACTI
70 TYPE(h3d_database) :: H3D_DATA
71C-----------------------------------------------
72C L o c a l V a r i a b l e s
73C-----------------------------------------------
74 INTEGER OLDNSNR,NODFI,NNP,LSKYFI,
75 . NOD, LOC_PROC, I, N, NN, P, IDEB, J, K,
76 . ierror1,ierror2,ierror3,ierror4,ierror5,ierror6,ierror7,
77 . ierror8,ierror9,ierror0,ierror11,ierror12,ierror13,
78 . ierror14,ierror15,ierror16,ierror17,
79 . index(nsnr)
80C-----------------------------------------------
81C S o u r c e L i n e s
82C-----------------------------------------------
83 loc_proc = ispmd + 1
84C
85C Test succes du tri ?
86C
87 nodfi = 0
88 lskyfi= 0
89 IF(result==0) THEN
90C
91C Reperage des candidats
92C
93 nodfi = 0
94 DO i = 1, i_stok
95 n = cand_n(i)
96 nn = n-nsn
97 IF(nn>0)THEN
98 IF(xrem(4,nn)>0)THEN
99 nodfi = nodfi + 1
100 xrem(4,nn) = -xrem(4,nn)
101 ENDIF
102 ENDIF
103 ENDDO
104C
105C Allocation des tableaux de frontieres interfaces
106C
107 ierror1 = 0
108 ierror2 = 0
109 ierror3 = 0
110 ierror4 = 0
111 ierror5 = 0
112 ierror6 = 0
113 ierror7 = 0
114 ierror8 = 0
115 ierror9 = 0
116 ierror0 = 0
117 ierror11 = 0
118 ierror12 = 0
119 ierror13 = 0
120 ierror14 = 0
121 ierror15 = 0
122 ierror16 = 0
123 ierror17 = 0
124 IF(ASSOCIATED(nsvfi(nin)%P)) DEALLOCATE(nsvfi(nin)%P)
125 ALLOCATE(nsvfi(nin)%P(nodfi),stat=ierror1)
126 IF(ASSOCIATED(xfi(nin)%P)) DEALLOCATE(xfi(nin)%P)
127 ALLOCATE(xfi(nin)%P(3,nodfi),stat=ierror2)
128 IF(ASSOCIATED(vfi(nin)%P)) DEALLOCATE(vfi(nin)%P)
129 ALLOCATE(vfi(nin)%P(3,nodfi),stat=ierror3)
130 IF(ASSOCIATED(msfi(nin)%P)) DEALLOCATE(msfi(nin)%P)
131 ALLOCATE(msfi(nin)%P(nodfi),stat=ierror4)
132 IF(ASSOCIATED(stifi(nin)%P)) DEALLOCATE(stifi(nin)%P)
133 ALLOCATE(stifi(nin)%P(nodfi),stat=ierror5)
134 IF(ASSOCIATED(itafi(nin)%P)) DEALLOCATE(itafi(nin)%P)
135 ALLOCATE(itafi(nin)%P(nodfi),stat=ierror6)
136 IF(ASSOCIATED(kinfi(nin)%P)) DEALLOCATE(kinfi(nin)%P)
137 ALLOCATE(kinfi(nin)%P(nodfi),stat=ierror8)
138 IF(ASSOCIATED(nbinflfi(nin)%P)) DEALLOCATE(nbinflfi(nin)%P)
139 ALLOCATE(nbinflfi(nin)%P(nodfi),stat=ierror14)
140 IF(intth > 0 ) THEN
141 IF(ASSOCIATED(tempfi(nin)%P)) DEALLOCATE(tempfi(nin)%P)
142 ALLOCATE(tempfi(nin)%P(nodfi),stat=ierror9)
143 IF(ASSOCIATED(matsfi(nin)%P)) DEALLOCATE(matsfi(nin)%P)
144 ALLOCATE(matsfi(nin)%P(nodfi),stat=ierror0)
145 IF(ASSOCIATED(areasfi(nin)%P)) DEALLOCATE(areasfi(nin)%P)
146 ALLOCATE(areasfi(nin)%P(nodfi),stat=ierror11)
147 ENDIF
148 IF(idtmins == 2) THEN
149 IF(ASSOCIATED(nodnxfi(nin)%P)) DEALLOCATE(nodnxfi(nin)%P)
150 ALLOCATE(nodnxfi(nin)%P(nodfi),stat=ierror12)
151 IF(ASSOCIATED(nodamsfi(nin)%P)) DEALLOCATE(nodamsfi(nin)%P)
152 ALLOCATE(nodamsfi(nin)%P(nodfi),stat=ierror13)
153 IF(ASSOCIATED(procamsfi(nin)%P)) DEALLOCATE(procamsfi(nin)%P)
154 ALLOCATE(procamsfi(nin)%P(nodfi),stat=ierror14)
155 ELSEIF(idtmins_int /= 0) THEN
156 IF(ASSOCIATED(nodamsfi(nin)%P)) DEALLOCATE(nodamsfi(nin)%P)
157 ALLOCATE(nodamsfi(nin)%P(nodfi),stat=ierror13)
158 IF(ASSOCIATED(procamsfi(nin)%P)) DEALLOCATE(procamsfi(nin)%P)
159 ALLOCATE(procamsfi(nin)%P(nodfi),stat=ierror14)
160 ENDIF
161 IF(igap/=0) THEN
162 IF(ASSOCIATED(gapfi(nin)%P)) DEALLOCATE(gapfi(nin)%P)
163 ALLOCATE(gapfi(nin)%P(nodfi),stat=ierror7)
164 ENDIF
165 IF(inacti==5.OR.inacti==6) THEN
166 IF(ASSOCIATED(penfi(nin)%P)) DEALLOCATE(penfi(nin)%P)
167 ALLOCATE(penfi(nin)%P(2,nodfi),stat=ierror15)
168 IF(ASSOCIATED(penfia(nin)%P)) DEALLOCATE(penfia(nin)%P)
169 ALLOCATE(penfia(nin)%P(5,nodfi),stat=ierror16)
170 END IF
171 IF(ASSOCIATED(diag_smsfi(nin)%P)) DEALLOCATE(diag_smsfi(nin)%P)
172 ALLOCATE(diag_smsfi(nin)%P(nodfi),stat=ierror17)
173
174 IF(ity==20) THEN
175 IF(ASSOCIATED(daanc6fi(nin)%P)) DEALLOCATE(daanc6fi(nin)%P)
176 ALLOCATE(daanc6fi(nin)%P(3,6,nodfi),stat=ierror1)
177 IF(ASSOCIATED(dxancfi(nin)%P)) DEALLOCATE(dxancfi(nin)%P)
178 ALLOCATE(dxancfi(nin)%P(3,nodfi),stat=ierror2)
179 IF(ASSOCIATED(dvancfi(nin)%P)) DEALLOCATE(dvancfi(nin)%P)
180 ALLOCATE(dvancfi(nin)%P(3,nodfi),stat=ierror3)
181 ENDIF
182C
183 IF(ierror1+ierror2+ierror3+ierror4+ierror5+
184 + ierror6+ierror7+ierror8 + ierror9 + ierror0 +
185 + ierror11+ierror12+ierror13+ierror14+ierror15+
186 + ierror16+ierror17 /= 0) THEN
187 CALL ancmsg(msgid=20,anmode=aninfo)
188 CALL arret(2)
189 ENDIF
190C
191C Compactage des candidats
192C
193 ideb = 0
194 nn = 0
195 IF(inacti/=5.AND.inacti/=6) THEN
196 IF(intth == 0 ) THEN
197 DO p = 1, nspmd
198 oldnsnr = nsnfi(nin)%P(p)
199 IF(oldnsnr/=0) THEN
200 nnp = nn
201 IF(idtmins/=2 .AND. idtmins_int == 0)THEN
202 IF(igap==0)THEN
203 IF(idtmins==0)THEN
204 DO i = 1, oldnsnr
205 IF(xrem(4,i+ideb)<0) THEN
206 nn = nn + 1
207 index(i+ideb) = nn
208 nsvfi(nin)%P(nn) = nint(-xrem(4,i+ideb))
209 xfi(nin)%P(1,nn) = xrem(1,i+ideb)
210 xfi(nin)%P(2,nn) = xrem(2,i+ideb)
211 xfi(nin)%P(3,nn) = xrem(3,i+ideb)
212 vfi(nin)%P(1,nn) = xrem(5,i+ideb)
213 vfi(nin)%P(2,nn) = xrem(6,i+ideb)
214 vfi(nin)%P(3,nn) = xrem(7,i+ideb)
215 msfi(nin)%P(nn) = xrem(8,i+ideb)
216 stifi(nin)%P(nn) = xrem(9,i+ideb)
217 IF(ir4r8 == 2) THEN
218 itafi(nin)%P(nn) = nint(xrem(10,i+ideb))
219 ELSE
220 itafi(nin)%P(nn) = irem(1,i+ideb)
221 END IF
222 kinfi(nin)%P(nn) = nint(xrem(11,i+ideb))
223 nbinflfi(nin)%P(nn) = nint(xrem(12,i+ideb))
224 dxancfi(nin)%P(1,nn) = xrem(13,i+ideb)
225 dxancfi(nin)%P(2,nn) = xrem(14,i+ideb)
226 dxancfi(nin)%P(3,nn) = xrem(15,i+ideb)
227 dvancfi(nin)%P(1,nn) = xrem(14,i+ideb)
228 dvancfi(nin)%P(2,nn) = xrem(15,i+ideb)
229 dvancfi(nin)%P(3,nn) = xrem(16,i+ideb)
230 ENDIF
231 ENDDO
232C /DT/NODA/AMS
233 ELSE
234 DO i = 1, oldnsnr
235 IF(xrem(4,i+ideb)<0) THEN
236 nn = nn + 1
237 index(i+ideb) = nn
238 nsvfi(nin)%P(nn) = nint(-xrem(4,i+ideb))
239 xfi(nin)%P(1,nn) = xrem(1,i+ideb)
240 xfi(nin)%P(2,nn) = xrem(2,i+ideb)
241 xfi(nin)%P(3,nn) = xrem(3,i+ideb)
242 vfi(nin)%P(1,nn) = xrem(5,i+ideb)
243 vfi(nin)%P(2,nn) = xrem(6,i+ideb)
244 vfi(nin)%P(3,nn) = xrem(7,i+ideb)
245 msfi(nin)%P(nn) = xrem(8,i+ideb)
246 stifi(nin)%P(nn) = xrem(9,i+ideb)
247 IF(ir4r8 == 2) THEN
248 itafi(nin)%P(nn) = nint(xrem(10,i+ideb))
249 ELSE
250 itafi(nin)%P(nn) = irem(1,i+ideb)
251 END IF
252 kinfi(nin)%P(nn) = nint(xrem(11,i+ideb))
253 nbinflfi(nin)%P(nn) = nint(xrem(12,i+ideb))
254 diag_smsfi(nin)%P(nn) = xrem(13,i+ideb)
255 dxancfi(nin)%P(1,nn) = xrem(14,i+ideb)
256 dxancfi(nin)%P(2,nn) = xrem(15,i+ideb)
257 dxancfi(nin)%P(3,nn) = xrem(16,i+ideb)
258 dvancfi(nin)%P(1,nn) = xrem(17,i+ideb)
259 dvancfi(nin)%P(2,nn) = xrem(18,i+ideb)
260 dvancfi(nin)%P(3,nn) = xrem(19,i+ideb)
261 ENDIF
262 ENDDO
263C fin /DT/NODA/AMS
264 ENDIF
265 ELSE
266 IF(idtmins==0)THEN
267 DO i = 1, oldnsnr
268 IF(xrem(4,i+ideb)<0) THEN
269 nn = nn + 1
270 index(i+ideb) = nn
271 nsvfi(nin)%P(nn) = nint(-xrem(4,i+ideb))
272 xfi(nin)%P(1,nn) = xrem(1,i+ideb)
273 xfi(nin)%P(2,nn) = xrem(2,i+ideb)
274 xfi(nin)%P(3,nn) = xrem(3,i+ideb)
275 vfi(nin)%P(1,nn) = xrem(5,i+ideb)
276 vfi(nin)%P(2,nn) = xrem(6,i+ideb)
277 vfi(nin)%P(3,nn) = xrem(7,i+ideb)
278 msfi(nin)%P(nn) = xrem(8,i+ideb)
279 stifi(nin)%P(nn) = xrem(9,i+ideb)
280 IF(ir4r8 == 2) THEN
281 itafi(nin)%P(nn) = nint(xrem(10,i+ideb))
282 ELSE
283 itafi(nin)%P(nn) = irem(1,i+ideb)
284 END IF
285 kinfi(nin)%P(nn) = nint(xrem(11,i+ideb))
286 nbinflfi(nin)%P(nn) = nint(xrem(12,i+ideb))
287 gapfi(nin)%P(nn) = xrem(13,i+ideb)
288 dxancfi(nin)%P(1,nn) = xrem(14,i+ideb)
289 dxancfi(nin)%P(2,nn) = xrem(15,i+ideb)
290 dxancfi(nin)%P(3,nn) = xrem(16,i+ideb)
291 dvancfi(nin)%P(1,nn) = xrem(17,i+ideb)
292 dvancfi(nin)%P(2,nn) = xrem(18,i+ideb)
293 dvancfi(nin)%P(3,nn) = xrem(19,i+ideb)
294 ENDIF
295 ENDDO
296C /DT/NODA/AMS
297 ELSE
298 DO i = 1, oldnsnr
299 IF(xrem(4,i+ideb)<0) THEN
300 nn = nn + 1
301 index(i+ideb) = nn
302 nsvfi(nin)%P(nn) = nint(-xrem(4,i+ideb))
303 xfi(nin)%P(1,nn) = xrem(1,i+ideb)
304 xfi(nin)%P(2,nn) = xrem(2,i+ideb)
305 xfi(nin)%P(3,nn) = xrem(3,i+ideb)
306 vfi(nin)%P(1,nn) = xrem(5,i+ideb)
307 vfi(nin)%P(2,nn) = xrem(6,i+ideb)
308 vfi(nin)%P(3,nn) = xrem(7,i+ideb)
309 msfi(nin)%P(nn) = xrem(8,i+ideb)
310 stifi(nin)%P(nn) = xrem(9,i+ideb)
311 IF(ir4r8 == 2) THEN
312 itafi(nin)%P(nn) = nint(xrem(10,i+ideb))
313 ELSE
314 itafi(nin)%P(nn) = irem(1,i+ideb)
315 END IF
316 kinfi(nin)%P(nn) = nint(xrem(11,i+ideb))
317 nbinflfi(nin)%P(nn) = nint(xrem(12,i+ideb))
318 gapfi(nin)%P(nn) = xrem(13,i+ideb)
319 diag_smsfi(nin)%P(nn) = xrem(14,i+ideb)
320 dxancfi(nin)%P(1,nn) = xrem(15,i+ideb)
321 dxancfi(nin)%P(2,nn) = xrem(16,i+ideb)
322 dxancfi(nin)%P(3,nn) = xrem(17,i+ideb)
323 dvancfi(nin)%P(1,nn) = xrem(18,i+ideb)
324 dvancfi(nin)%P(2,nn) = xrem(19,i+ideb)
325 dvancfi(nin)%P(3,nn) = xrem(20,i+ideb)
326 ENDIF
327 ENDDO
328C fin /DT/NODA/AMS
329 ENDIF
330 END IF
331 ELSEIF(idtmins==2)THEN
332C /DT/AMS
333 IF(igap==0)THEN
334 DO i = 1, oldnsnr
335 IF(xrem(4,i+ideb)<0) THEN
336 nn = nn + 1
337 index(i+ideb) = nn
338 nsvfi(nin)%P(nn) = nint(-xrem(4,i+ideb))
339 xfi(nin)%P(1,nn) = xrem(1,i+ideb)
340 xfi(nin)%P(2,nn) = xrem(2,i+ideb)
341 xfi(nin)%P(3,nn) = xrem(3,i+ideb)
342 vfi(nin)%P(1,nn) = xrem(5,i+ideb)
343 vfi(nin)%P(2,nn) = xrem(6,i+ideb)
344 vfi(nin)%P(3,nn) = xrem(7,i+ideb)
345 msfi(nin)%P(nn) = xrem(8,i+ideb)
346 stifi(nin)%P(nn) = xrem(9,i+ideb)
347 IF(ir4r8 == 2) THEN
348 itafi(nin)%P(nn) = nint(xrem(10,i+ideb))
349 ELSE
350 itafi(nin)%P(nn) = irem(1,i+ideb)
351 END IF
352 kinfi(nin)%P(nn) = nint(xrem(11,i+ideb))
353 nbinflfi(nin)%P(nn) = nint(xrem(12,i+ideb))
354 diag_smsfi(nin)%P(nn) = xrem(13,i+ideb)
355 nodnxfi(nin)%P(nn) = nint(xrem(14,i+ideb))
356 nodamsfi(nin)%P(nn) = nint(xrem(15,i+ideb))
357 procamsfi(nin)%P(nn) = p
358 dxancfi(nin)%P(1,nn) = xrem(16,i+ideb)
359 dxancfi(nin)%P(2,nn) = xrem(17,i+ideb)
360 dxancfi(nin)%P(3,nn) = xrem(18,i+ideb)
361 dvancfi(nin)%P(1,nn) = xrem(19,i+ideb)
362 dvancfi(nin)%P(2,nn) = xrem(20,i+ideb)
363 dvancfi(nin)%P(3,nn) = xrem(21,i+ideb)
364 ENDIF
365 ENDDO
366 ELSE
367 DO i = 1, oldnsnr
368 IF(xrem(4,i+ideb)<0) THEN
369 nn = nn + 1
370 index(i+ideb) = nn
371 nsvfi(nin)%P(nn) = nint(-xrem(4,i+ideb))
372 xfi(nin)%P(1,nn) = xrem(1,i+ideb)
373 xfi(nin)%P(2,nn) = xrem(2,i+ideb)
374 xfi(nin)%P(3,nn) = xrem(3,i+ideb)
375 vfi(nin)%P(1,nn) = xrem(5,i+ideb)
376 vfi(nin)%P(2,nn) = xrem(6,i+ideb)
377 vfi(nin)%P(3,nn) = xrem(7,i+ideb)
378 msfi(nin)%P(nn) = xrem(8,i+ideb)
379 stifi(nin)%P(nn) = xrem(9,i+ideb)
380 IF(ir4r8 == 2) THEN
381 itafi(nin)%P(nn) = nint(xrem(10,i+ideb))
382 ELSE
383 itafi(nin)%P(nn) = irem(1,i+ideb)
384 END IF
385 kinfi(nin)%P(nn) = nint(xrem(11,i+ideb))
386 nbinflfi(nin)%P(nn) = nint(xrem(12,i+ideb))
387 gapfi(nin)%P(nn) = xrem(13,i+ideb)
388 diag_smsfi(nin)%P(nn) = xrem(14,i+ideb)
389 nodnxfi(nin)%P(nn) = nint(xrem(15,i+ideb))
390 nodamsfi(nin)%P(nn) = nint(xrem(16,i+ideb))
391 procamsfi(nin)%P(nn) = p
392 dxancfi(nin)%P(1,nn) = xrem(17,i+ideb)
393 dxancfi(nin)%P(2,nn) = xrem(18,i+ideb)
394 dxancfi(nin)%P(3,nn) = xrem(19,i+ideb)
395 dvancfi(nin)%P(1,nn) = xrem(20,i+ideb)
396 dvancfi(nin)%P(2,nn) = xrem(21,i+ideb)
397 dvancfi(nin)%P(3,nn) = xrem(22,i+ideb)
398 ENDIF
399 ENDDO
400 ENDIF
401C fin /DT/AMS
402 ELSE ! IDTMINS_INT/=0
403C /DT/INTER/AMS
404 IF(igap==0)THEN
405 DO i = 1, oldnsnr
406 IF(xrem(4,i+ideb)<0) THEN
407 nn = nn + 1
408 index(i+ideb) = nn
409 nsvfi(nin)%P(nn) = nint(-xrem(4,i+ideb))
410 xfi(nin)%P(1,nn) = xrem(1,i+ideb)
411 xfi(nin)%P(2,nn) = xrem(2,i+ideb)
412 xfi(nin)%P(3,nn) = xrem(3,i+ideb)
413 vfi(nin)%P(1,nn) = xrem(5,i+ideb)
414 vfi(nin)%P(2,nn) = xrem(6,i+ideb)
415 vfi(nin)%P(3,nn) = xrem(7,i+ideb)
416 msfi(nin)%P(nn) = xrem(8,i+ideb)
417 stifi(nin)%P(nn) = xrem(9,i+ideb)
418 IF(ir4r8 == 2) THEN
419 itafi(nin)%P(nn) = nint(xrem(10,i+ideb))
420 ELSE
421 itafi(nin)%P(nn) = irem(1,i+ideb)
422 END IF
423 kinfi(nin)%P(nn) = nint(xrem(11,i+ideb))
424 nbinflfi(nin)%P(nn) = nint(xrem(12,i+ideb))
425 diag_smsfi(nin)%P(nn) = xrem(13,i+ideb)
426 nodamsfi(nin)%P(nn) = nint(xrem(14,i+ideb))
427 procamsfi(nin)%P(nn) = p
428 dxancfi(nin)%P(1,nn) = xrem(15,i+ideb)
429 dxancfi(nin)%P(2,nn) = xrem(16,i+ideb)
430 dxancfi(nin)%P(3,nn) = xrem(17,i+ideb)
431 dvancfi(nin)%P(1,nn) = xrem(18,i+ideb)
432 dvancfi(nin)%P(2,nn) = xrem(19,i+ideb)
433 dvancfi(nin)%P(3,nn) = xrem(20,i+ideb)
434 ENDIF
435 ENDDO
436 ELSE
437 DO i = 1, oldnsnr
438 IF(xrem(4,i+ideb)<0) THEN
439 nn = nn + 1
440 index(i+ideb) = nn
441 nsvfi(nin)%P(nn) = nint(-xrem(4,i+ideb))
442 xfi(nin)%P(1,nn) = xrem(1,i+ideb)
443 xfi(nin)%P(2,nn) = xrem(2,i+ideb)
444 xfi(nin)%P(3,nn) = xrem(3,i+ideb)
445 vfi(nin)%P(1,nn) = xrem(5,i+ideb)
446 vfi(nin)%P(2,nn) = xrem(6,i+ideb)
447 vfi(nin)%P(3,nn) = xrem(7,i+ideb)
448 msfi(nin)%P(nn) = xrem(8,i+ideb)
449 stifi(nin)%P(nn) = xrem(9,i+ideb)
450 IF(ir4r8 == 2) THEN
451 itafi(nin)%P(nn) = nint(xrem(10,i+ideb))
452 ELSE
453 itafi(nin)%P(nn) = irem(1,i+ideb)
454 END IF
455 kinfi(nin)%P(nn) = nint(xrem(11,i+ideb))
456 nbinflfi(nin)%P(nn) = nint(xrem(12,i+ideb))
457 gapfi(nin)%P(nn) = xrem(13,i+ideb)
458 diag_smsfi(nin)%P(nn) = xrem(14,i+ideb)
459 nodamsfi(nin)%P(nn) = nint(xrem(15,i+ideb))
460 procamsfi(nin)%P(nn) = p
461 dxancfi(nin)%P(1,nn) = xrem(16,i+ideb)
462 dxancfi(nin)%P(2,nn) = xrem(17,i+ideb)
463 dxancfi(nin)%P(3,nn) = xrem(18,i+ideb)
464 dvancfi(nin)%P(1,nn) = xrem(19,i+ideb)
465 dvancfi(nin)%P(2,nn) = xrem(20,i+ideb)
466 dvancfi(nin)%P(3,nn) = xrem(21,i+ideb)
467 ENDIF
468 ENDDO
469 ENDIF
470C fin /DT/INTER/AMS
471 END IF
472 ideb = ideb + oldnsnr
473 nsnfi(nin)%P(p) = nn-nnp
474 ENDIF
475 ENDDO
476C
477 ELSE ! thermique
478 DO p = 1, nspmd
479 oldnsnr = nsnfi(nin)%P(p)
480 IF(oldnsnr/=0) THEN
481 nnp = nn
482 IF(idtmins/=2 .AND. idtmins_int == 0)THEN
483 IF(igap==0)THEN
484 IF(idtmins==0)THEN
485 DO i = 1, oldnsnr
486 IF(xrem(4,i+ideb)<0) THEN
487 nn = nn + 1
488 index(i+ideb) = nn
489 nsvfi(nin)%P(nn) = nint(-xrem(4,i+ideb))
490 xfi(nin)%P(1,nn) = xrem(1,i+ideb)
491 xfi(nin)%P(2,nn) = xrem(2,i+ideb)
492 xfi(nin)%P(3,nn) = xrem(3,i+ideb)
493 vfi(nin)%P(1,nn) = xrem(5,i+ideb)
494 vfi(nin)%P(2,nn) = xrem(6,i+ideb)
495 vfi(nin)%P(3,nn) = xrem(7,i+ideb)
496 msfi(nin)%P(nn) = xrem(8,i+ideb)
497 stifi(nin)%P(nn) = xrem(9,i+ideb)
498 IF(ir4r8 == 2) THEN
499 itafi(nin)%P(nn) = nint(xrem(10,i+ideb))
500 ELSE
501 itafi(nin)%P(nn) = irem(1,i+ideb)
502 END IF
503 kinfi(nin)%P(nn) = nint(xrem(11,i+ideb))
504 nbinflfi(nin)%P(nn) = nint(xrem(12,i+ideb))
505 tempfi(nin)%P(nn) = xrem(13,i+ideb)
506 matsfi(nin)%P(nn) = nint(xrem(14,i+ideb))
507 areasfi(nin)%P(nn) = xrem(15,i+ideb)
508 dxancfi(nin)%P(1,nn) = xrem(16,i+ideb)
509 dxancfi(nin)%P(2,nn) = xrem(17,i+ideb)
510 dxancfi(nin)%P(3,nn) = xrem(18,i+ideb)
511 dvancfi(nin)%P(1,nn) = xrem(19,i+ideb)
512 dvancfi(nin)%P(2,nn) = xrem(20,i+ideb)
513 dvancfi(nin)%P(3,nn) = xrem(21,i+ideb)
514 ENDIF
515 ENDDO
516C /DT/NODA/AMS
517 ELSE
518 DO i = 1, oldnsnr
519 IF(xrem(4,i+ideb)<0) THEN
520 nn = nn + 1
521 index(i+ideb) = nn
522 nsvfi(nin)%P(nn) = nint(-xrem(4,i+ideb))
523 xfi(nin)%P(1,nn) = xrem(1,i+ideb)
524 xfi(nin)%P(2,nn) = xrem(2,i+ideb)
525 xfi(nin)%P(3,nn) = xrem(3,i+ideb)
526 vfi(nin)%P(1,nn) = xrem(5,i+ideb)
527 vfi(nin)%P(2,nn) = xrem(6,i+ideb)
528 vfi(nin)%P(3,nn) = xrem(7,i+ideb)
529 msfi(nin)%P(nn) = xrem(8,i+ideb)
530 stifi(nin)%P(nn) = xrem(9,i+ideb)
531 IF(ir4r8 == 2) THEN
532 itafi(nin)%P(nn) = nint(xrem(10,i+ideb))
533 ELSE
534 itafi(nin)%P(nn) = irem(1,i+ideb)
535 END IF
536 kinfi(nin)%P(nn) = nint(xrem(11,i+ideb))
537 nbinflfi(nin)%P(nn) = nint(xrem(12,i+ideb))
538 tempfi(nin)%P(nn) = xrem(13,i+ideb)
539 matsfi(nin)%P(nn) = nint(xrem(14,i+ideb))
540 areasfi(nin)%P(nn) = xrem(15,i+ideb)
541 diag_smsfi(nin)%P(nn) = xrem(16,i+ideb)
542 dxancfi(nin)%P(1,nn) = xrem(17,i+ideb)
543 dxancfi(nin)%P(2,nn) = xrem(18,i+ideb)
544 dxancfi(nin)%P(3,nn) = xrem(19,i+ideb)
545 dvancfi(nin)%P(1,nn) = xrem(20,i+ideb)
546 dvancfi(nin)%P(2,nn) = xrem(21,i+ideb)
547 dvancfi(nin)%P(3,nn) = xrem(22,i+ideb)
548 ENDIF
549 ENDDO
550C fin /DT/NODA/AMS
551 ENDIF
552 ELSE
553 IF(idtmins==0)THEN
554 DO i = 1, oldnsnr
555 IF(xrem(4,i+ideb)<0) THEN
556 nn = nn + 1
557 index(i+ideb) = nn
558 nsvfi(nin)%P(nn) = nint(-xrem(4,i+ideb))
559 xfi(nin)%P(1,nn) = xrem(1,i+ideb)
560 xfi(nin)%P(2,nn) = xrem(2,i+ideb)
561 xfi(nin)%P(3,nn) = xrem(3,i+ideb)
562 vfi(nin)%P(1,nn) = xrem(5,i+ideb)
563 vfi(nin)%P(2,nn) = xrem(6,i+ideb)
564 vfi(nin)%P(3,nn) = xrem(7,i+ideb)
565 msfi(nin)%P(nn) = xrem(8,i+ideb)
566 stifi(nin)%P(nn) = xrem(9,i+ideb)
567 IF(ir4r8 == 2) THEN
568 itafi(nin)%P(nn) = nint(xrem(10,i+ideb))
569 ELSE
570 itafi(nin)%P(nn) = irem(1,i+ideb)
571 END IF
572 kinfi(nin)%P(nn) = nint(xrem(11,i+ideb))
573 nbinflfi(nin)%P(nn) = nint(xrem(12,i+ideb))
574 gapfi(nin)%P(nn) = xrem(13,i+ideb)
575 tempfi(nin)%P(nn) = xrem(14,i+ideb)
576 matsfi(nin)%P(nn) = nint(xrem(15,i+ideb))
577 areasfi(nin)%P(nn) = xrem(16,i+ideb)
578 dxancfi(nin)%P(1,nn) = xrem(17,i+ideb)
579 dxancfi(nin)%P(2,nn) = xrem(18,i+ideb)
580 dxancfi(nin)%P(3,nn) = xrem(19,i+ideb)
581 dvancfi(nin)%P(1,nn) = xrem(20,i+ideb)
582 dvancfi(nin)%P(2,nn) = xrem(21,i+ideb)
583 dvancfi(nin)%P(3,nn) = xrem(22,i+ideb)
584 ENDIF
585 ENDDO
586C /DT/NODA/AMS
587 ELSE
588 DO i = 1, oldnsnr
589 IF(xrem(4,i+ideb)<0) THEN
590 nn = nn + 1
591 index(i+ideb) = nn
592 nsvfi(nin)%P(nn) = nint(-xrem(4,i+ideb))
593 xfi(nin)%P(1,nn) = xrem(1,i+ideb)
594 xfi(nin)%P(2,nn) = xrem(2,i+ideb)
595 xfi(nin)%P(3,nn) = xrem(3,i+ideb)
596 vfi(nin)%P(1,nn) = xrem(5,i+ideb)
597 vfi(nin)%P(2,nn) = xrem(6,i+ideb)
598 vfi(nin)%P(3,nn) = xrem(7,i+ideb)
599 msfi(nin)%P(nn) = xrem(8,i+ideb)
600 stifi(nin)%P(nn) = xrem(9,i+ideb)
601 IF(ir4r8 == 2) THEN
602 itafi(nin)%P(nn) = nint(xrem(10,i+ideb))
603 ELSE
604 itafi(nin)%P(nn) = irem(1,i+ideb)
605 END IF
606 kinfi(nin)%P(nn) = nint(xrem(11,i+ideb))
607 nbinflfi(nin)%P(nn) = nint(xrem(12,i+ideb))
608 gapfi(nin)%P(nn) = xrem(13,i+ideb)
609 tempfi(nin)%P(nn) = xrem(14,i+ideb)
610 matsfi(nin)%P(nn) = nint(xrem(15,i+ideb))
611 areasfi(nin)%P(nn) = xrem(16,i+ideb)
612 diag_smsfi(nin)%P(nn) = xrem(17,i+ideb)
613 dxancfi(nin)%P(1,nn) = xrem(18,i+ideb)
614 dxancfi(nin)%P(2,nn) = xrem(19,i+ideb)
615 dxancfi(nin)%P(3,nn) = xrem(20,i+ideb)
616 dvancfi(nin)%P(1,nn) = xrem(21,i+ideb)
617 dvancfi(nin)%P(2,nn) = xrem(22,i+ideb)
618 dvancfi(nin)%P(3,nn) = xrem(23,i+ideb)
619 ENDIF
620 ENDDO
621C fin /DT/NODA/AMS
622 ENDIF
623 ENDIF
624 ELSEIF(idtmins==2)THEN
625C /DT/AMS
626 IF(igap==0)THEN
627 DO i = 1, oldnsnr
628 IF(xrem(4,i+ideb)<0) THEN
629 nn = nn + 1
630 index(i+ideb) = nn
631 nsvfi(nin)%P(nn) = nint(-xrem(4,i+ideb))
632 xfi(nin)%P(1,nn) = xrem(1,i+ideb)
633 xfi(nin)%P(2,nn) = xrem(2,i+ideb)
634 xfi(nin)%P(3,nn) = xrem(3,i+ideb)
635 vfi(nin)%P(1,nn) = xrem(5,i+ideb)
636 vfi(nin)%P(2,nn) = xrem(6,i+ideb)
637 vfi(nin)%P(3,nn) = xrem(7,i+ideb)
638 msfi(nin)%P(nn) = xrem(8,i+ideb)
639 stifi(nin)%P(nn) = xrem(9,i+ideb)
640 IF(ir4r8 == 2) THEN
641 itafi(nin)%P(nn) = nint(xrem(10,i+ideb))
642 ELSE
643 itafi(nin)%P(nn) = irem(1,i+ideb)
644 END IF
645 kinfi(nin)%P(nn) = nint(xrem(11,i+ideb))
646 nbinflfi(nin)%P(nn) = nint(xrem(12,i+ideb))
647 tempfi(nin)%P(nn) = xrem(13,i+ideb)
648 matsfi(nin)%P(nn) = nint(xrem(14,i+ideb))
649 areasfi(nin)%P(nn) = xrem(15,i+ideb)
650 diag_smsfi(nin)%P(nn) = xrem(16,i+ideb)
651 nodnxfi(nin)%P(nn) = nint(xrem(17,i+ideb))
652 nodamsfi(nin)%P(nn) = nint(xrem(18,i+ideb))
653 procamsfi(nin)%P(nn) = p
654 dxancfi(nin)%P(1,nn) = xrem(19,i+ideb)
655 dxancfi(nin)%P(2,nn) = xrem(20,i+ideb)
656 dxancfi(nin)%P(3,nn) = xrem(21,i+ideb)
657 dvancfi(nin)%P(1,nn) = xrem(22,i+ideb)
658 dvancfi(nin)%P(2,nn) = xrem(23,i+ideb)
659 dvancfi(nin)%P(3,nn) = xrem(24,i+ideb)
660 ENDIF
661 ENDDO
662 ELSE
663 DO i = 1, oldnsnr
664 IF(xrem(4,i+ideb)<0) THEN
665 nn = nn + 1
666 index(i+ideb) = nn
667 nsvfi(nin)%P(nn) = nint(-xrem(4,i+ideb))
668 xfi(nin)%P(1,nn) = xrem(1,i+ideb)
669 xfi(nin)%P(2,nn) = xrem(2,i+ideb)
670 xfi(nin)%P(3,nn) = xrem(3,i+ideb)
671 vfi(nin)%P(1,nn) = xrem(5,i+ideb)
672 vfi(nin)%P(2,nn) = xrem(6,i+ideb)
673 vfi(nin)%P(3,nn) = xrem(7,i+ideb)
674 msfi(nin)%P(nn) = xrem(8,i+ideb)
675 stifi(nin)%P(nn) = xrem(9,i+ideb)
676 IF(ir4r8 == 2) THEN
677 itafi(nin)%P(nn) = nint(xrem(10,i+ideb))
678 ELSE
679 itafi(nin)%P(nn) = irem(1,i+ideb)
680 END IF
681 kinfi(nin)%P(nn) = nint(xrem(11,i+ideb))
682 nbinflfi(nin)%P(nn) = nint(xrem(12,i+ideb))
683 gapfi(nin)%P(nn) = xrem(13,i+ideb)
684 tempfi(nin)%P(nn) = xrem(14,i+ideb)
685 matsfi(nin)%P(nn) = nint(xrem(15,i+ideb))
686 areasfi(nin)%P(nn) = xrem(16,i+ideb)
687 diag_smsfi(nin)%P(nn) = xrem(17,i+ideb)
688 nodnxfi(nin)%P(nn) = nint(xrem(18,i+ideb))
689 nodamsfi(nin)%P(nn) = nint(xrem(19,i+ideb))
690 procamsfi(nin)%P(nn) = p
691 dxancfi(nin)%P(1,nn) = xrem(20,i+ideb)
692 dxancfi(nin)%P(2,nn) = xrem(21,i+ideb)
693 dxancfi(nin)%P(3,nn) = xrem(22,i+ideb)
694 dvancfi(nin)%P(1,nn) = xrem(23,i+ideb)
695 dvancfi(nin)%P(2,nn) = xrem(24,i+ideb)
696 dvancfi(nin)%P(3,nn) = xrem(25,i+ideb)
697 ENDIF
698 ENDDO
699 ENDIF
700C fin /DT/AMS
701 ELSE ! IDTMINS_INT/=0
702C /DT/INTER/AMS
703 IF(igap==0)THEN
704 DO i = 1, oldnsnr
705 IF(xrem(4,i+ideb)<0) THEN
706 nn = nn + 1
707 index(i+ideb) = nn
708 nsvfi(nin)%P(nn) = nint(-xrem(4,i+ideb))
709 xfi(nin)%P(1,nn) = xrem(1,i+ideb)
710 xfi(nin)%P(2,nn) = xrem(2,i+ideb)
711 xfi(nin)%P(3,nn) = xrem(3,i+ideb)
712 vfi(nin)%P(1,nn) = xrem(5,i+ideb)
713 vfi(nin)%P(2,nn) = xrem(6,i+ideb)
714 vfi(nin)%P(3,nn) = xrem(7,i+ideb)
715 msfi(nin)%P(nn) = xrem(8,i+ideb)
716 stifi(nin)%P(nn) = xrem(9,i+ideb)
717 IF(ir4r8 == 2) THEN
718 itafi(nin)%P(nn) = nint(xrem(10,i+ideb))
719 ELSE
720 itafi(nin)%P(nn) = irem(1,i+ideb)
721 END IF
722 kinfi(nin)%P(nn) = nint(xrem(11,i+ideb))
723 nbinflfi(nin)%P(nn) = nint(xrem(12,i+ideb))
724 tempfi(nin)%P(nn) = xrem(13,i+ideb)
725 matsfi(nin)%P(nn) = nint(xrem(14,i+ideb))
726 areasfi(nin)%P(nn) = xrem(15,i+ideb)
727 nodamsfi(nin)%P(nn) = nint(xrem(16,i+ideb))
728 procamsfi(nin)%P(nn) = p
729 dxancfi(nin)%P(1,nn) = xrem(17,i+ideb)
730 dxancfi(nin)%P(2,nn) = xrem(18,i+ideb)
731 dxancfi(nin)%P(3,nn) = xrem(19,i+ideb)
732 dvancfi(nin)%P(1,nn) = xrem(20,i+ideb)
733 dvancfi(nin)%P(2,nn) = xrem(21,i+ideb)
734 dvancfi(nin)%P(3,nn) = xrem(22,i+ideb)
735 ENDIF
736 ENDDO
737 ELSE
738 DO i = 1, oldnsnr
739 IF(xrem(4,i+ideb)<0) THEN
740 nn = nn + 1
741 index(i+ideb) = nn
742 nsvfi(nin)%P(nn) = nint(-xrem(4,i+ideb))
743 xfi(nin)%P(1,nn) = xrem(1,i+ideb)
744 xfi(nin)%P(2,nn) = xrem(2,i+ideb)
745 xfi(nin)%P(3,nn) = xrem(3,i+ideb)
746 vfi(nin)%P(1,nn) = xrem(5,i+ideb)
747 vfi(nin)%P(2,nn) = xrem(6,i+ideb)
748 vfi(nin)%P(3,nn) = xrem(7,i+ideb)
749 msfi(nin)%P(nn) = xrem(8,i+ideb)
750 stifi(nin)%P(nn) = xrem(9,i+ideb)
751 IF(ir4r8 == 2) THEN
752 itafi(nin)%P(nn) = nint(xrem(10,i+ideb))
753 ELSE
754 itafi(nin)%P(nn) = irem(1,i+ideb)
755 END IF
756 kinfi(nin)%P(nn) = nint(xrem(11,i+ideb))
757 nbinflfi(nin)%P(nn) = nint(xrem(12,i+ideb))
758 gapfi(nin)%P(nn) = xrem(13,i+ideb)
759 tempfi(nin)%P(nn) = xrem(14,i+ideb)
760 matsfi(nin)%P(nn) = nint(xrem(15,i+ideb))
761 areasfi(nin)%P(nn) = xrem(16,i+ideb)
762 nodamsfi(nin)%P(nn) = nint(xrem(17,i+ideb))
763 procamsfi(nin)%P(nn) = p
764 dxancfi(nin)%P(1,nn) = xrem(18,i+ideb)
765 dxancfi(nin)%P(2,nn) = xrem(19,i+ideb)
766 dxancfi(nin)%P(3,nn) = xrem(20,i+ideb)
767 dvancfi(nin)%P(1,nn) = xrem(21,i+ideb)
768 dvancfi(nin)%P(2,nn) = xrem(22,i+ideb)
769 dvancfi(nin)%P(3,nn) = xrem(23,i+ideb)
770 ENDIF
771 ENDDO
772 ENDIF
773C fin /DT/INTER/AMS
774 END IF
775 ideb = ideb + oldnsnr
776 nsnfi(nin)%P(p) = nn-nnp
777 ENDIF
778 ENDDO
779 ENDIF
780 ELSE ! cas inacti = 5 ou 6
781 IF(intth == 0 ) THEN
782 DO p = 1, nspmd
783 oldnsnr = nsnfi(nin)%P(p)
784 IF(oldnsnr/=0) THEN
785 nnp = nn
786 IF(idtmins/=2 .AND. idtmins_int == 0)THEN
787 IF(igap==0)THEN
788 IF(idtmins==0)THEN
789 DO i = 1, oldnsnr
790 IF(xrem(4,i+ideb)<0) THEN
791 nn = nn + 1
792 index(i+ideb) = nn
793 nsvfi(nin)%P(nn) = nint(-xrem(4,i+ideb))
794 xfi(nin)%P(1,nn) = xrem(1,i+ideb)
795 xfi(nin)%P(2,nn) = xrem(2,i+ideb)
796 xfi(nin)%P(3,nn) = xrem(3,i+ideb)
797 vfi(nin)%P(1,nn) = xrem(5,i+ideb)
798 vfi(nin)%P(2,nn) = xrem(6,i+ideb)
799 vfi(nin)%P(3,nn) = xrem(7,i+ideb)
800 msfi(nin)%P(nn) = xrem(8,i+ideb)
801 stifi(nin)%P(nn) = xrem(9,i+ideb)
802 IF(ir4r8 == 2) THEN
803 itafi(nin)%P(nn) = nint(xrem(10,i+ideb))
804 ELSE
805 itafi(nin)%P(nn) = irem(1,i+ideb)
806 END IF
807 kinfi(nin)%P(nn) = nint(xrem(11,i+ideb))
808 nbinflfi(nin)%P(nn) = nint(xrem(12,i+ideb))
809 penfi(nin)%P(1,nn) = xrem(13,i+ideb)
810 penfi(nin)%P(2,nn) = xrem(14,i+ideb)
811 penfia(nin)%P(1,nn)= xrem(15,i+ideb)
812 penfia(nin)%P(2,nn)= xrem(16,i+ideb)
813 penfia(nin)%P(3,nn)= xrem(17,i+ideb)
814 penfia(nin)%P(4,nn)= xrem(18,i+ideb)
815 penfia(nin)%P(5,nn)= xrem(19,i+ideb)
816 dxancfi(nin)%P(1,nn) = xrem(20,i+ideb)
817 dxancfi(nin)%P(2,nn) = xrem(21,i+ideb)
818 dxancfi(nin)%P(3,nn) = xrem(22,i+ideb)
819 dvancfi(nin)%P(1,nn) = xrem(23,i+ideb)
820 dvancfi(nin)%P(2,nn) = xrem(24,i+ideb)
821 dvancfi(nin)%P(3,nn) = xrem(25,i+ideb)
822 ENDIF
823 ENDDO
824C /DT/NODA/AMS
825 ELSE
826 DO i = 1, oldnsnr
827 IF(xrem(4,i+ideb)<0) THEN
828 nn = nn + 1
829 index(i+ideb) = nn
830 nsvfi(nin)%P(nn) = nint(-xrem(4,i+ideb))
831 xfi(nin)%P(1,nn) = xrem(1,i+ideb)
832 xfi(nin)%P(2,nn) = xrem(2,i+ideb)
833 xfi(nin)%P(3,nn) = xrem(3,i+ideb)
834 vfi(nin)%P(1,nn) = xrem(5,i+ideb)
835 vfi(nin)%P(2,nn) = xrem(6,i+ideb)
836 vfi(nin)%P(3,nn) = xrem(7,i+ideb)
837 msfi(nin)%P(nn) = xrem(8,i+ideb)
838 stifi(nin)%P(nn) = xrem(9,i+ideb)
839 IF(ir4r8 == 2) THEN
840 itafi(nin)%P(nn) = nint(xrem(10,i+ideb))
841 ELSE
842 itafi(nin)%P(nn) = irem(1,i+ideb)
843 END IF
844 kinfi(nin)%P(nn) = nint(xrem(11,i+ideb))
845 nbinflfi(nin)%P(nn) = nint(xrem(12,i+ideb))
846 penfi(nin)%P(1,nn) = xrem(13,i+ideb)
847 penfi(nin)%P(2,nn) = xrem(14,i+ideb)
848 penfia(nin)%P(1,nn)= xrem(15,i+ideb)
849 penfia(nin)%P(2,nn)= xrem(16,i+ideb)
850 penfia(nin)%P(3,nn)= xrem(17,i+ideb)
851 penfia(nin)%P(4,nn)= xrem(18,i+ideb)
852 penfia(nin)%P(5,nn)= xrem(19,i+ideb)
853 diag_smsfi(nin)%P(nn) = xrem(20,i+ideb)
854 dxancfi(nin)%P(1,nn) = xrem(21,i+ideb)
855 dxancfi(nin)%P(2,nn) = xrem(22,i+ideb)
856 dxancfi(nin)%P(3,nn) = xrem(23,i+ideb)
857 dvancfi(nin)%P(1,nn) = xrem(24,i+ideb)
858 dvancfi(nin)%P(2,nn) = xrem(25,i+ideb)
859 dvancfi(nin)%P(3,nn) = xrem(26,i+ideb)
860 ENDIF
861 ENDDO
862C fin /DT/NODA/AMS
863 ENDIF
864 ELSE
865 IF(idtmins==0)THEN
866 DO i = 1, oldnsnr
867 IF(xrem(4,i+ideb)<0) THEN
868 nn = nn + 1
869 index(i+ideb) = nn
870 nsvfi(nin)%P(nn) = nint(-xrem(4,i+ideb))
871 xfi(nin)%P(1,nn) = xrem(1,i+ideb)
872 xfi(nin)%P(2,nn) = xrem(2,i+ideb)
873 xfi(nin)%P(3,nn) = xrem(3,i+ideb)
874 vfi(nin)%P(1,nn) = xrem(5,i+ideb)
875 vfi(nin)%P(2,nn) = xrem(6,i+ideb)
876 vfi(nin)%P(3,nn) = xrem(7,i+ideb)
877 msfi(nin)%P(nn) = xrem(8,i+ideb)
878 stifi(nin)%P(nn) = xrem(9,i+ideb)
879 IF(ir4r8 == 2) THEN
880 itafi(nin)%P(nn) = nint(xrem(10,i+ideb))
881 ELSE
882 itafi(nin)%P(nn) = irem(1,i+ideb)
883 END IF
884 kinfi(nin)%P(nn) = nint(xrem(11,i+ideb))
885 nbinflfi(nin)%P(nn) = nint(xrem(12,i+ideb))
886 gapfi(nin)%P(nn) = xrem(13,i+ideb)
887 penfi(nin)%P(1,nn) = xrem(14,i+ideb)
888 penfi(nin)%P(2,nn) = xrem(15,i+ideb)
889 penfia(nin)%P(1,nn) = xrem(16,i+ideb)
890 penfia(nin)%P(2,nn) = xrem(17,i+ideb)
891 penfia(nin)%P(3,nn) = xrem(18,i+ideb)
892 penfia(nin)%P(4,nn) = xrem(19,i+ideb)
893 penfia(nin)%P(5,nn) = xrem(20,i+ideb)
894 dxancfi(nin)%P(1,nn) = xrem(21,i+ideb)
895 dxancfi(nin)%P(2,nn) = xrem(22,i+ideb)
896 dxancfi(nin)%P(3,nn) = xrem(23,i+ideb)
897 dvancfi(nin)%P(1,nn) = xrem(24,i+ideb)
898 dvancfi(nin)%P(2,nn) = xrem(25,i+ideb)
899 dvancfi(nin)%P(3,nn) = xrem(26,i+ideb)
900 ENDIF
901 ENDDO
902C /DT/NODA/AMS
903 ELSE
904 DO i = 1, oldnsnr
905 IF(xrem(4,i+ideb)<0) THEN
906 nn = nn + 1
907 index(i+ideb) = nn
908 nsvfi(nin)%P(nn) = nint(-xrem(4,i+ideb))
909 xfi(nin)%P(1,nn) = xrem(1,i+ideb)
910 xfi(nin)%P(2,nn) = xrem(2,i+ideb)
911 xfi(nin)%P(3,nn) = xrem(3,i+ideb)
912 vfi(nin)%P(1,nn) = xrem(5,i+ideb)
913 vfi(nin)%P(2,nn) = xrem(6,i+ideb)
914 vfi(nin)%P(3,nn) = xrem(7,i+ideb)
915 msfi(nin)%P(nn) = xrem(8,i+ideb)
916 stifi(nin)%P(nn) = xrem(9,i+ideb)
917 IF(ir4r8 == 2) THEN
918 itafi(nin)%P(nn) = nint(xrem(10,i+ideb))
919 ELSE
920 itafi(nin)%P(nn) = irem(1,i+ideb)
921 END IF
922 kinfi(nin)%P(nn) = nint(xrem(11,i+ideb))
923 nbinflfi(nin)%P(nn) = nint(xrem(12,i+ideb))
924 gapfi(nin)%P(nn) = xrem(13,i+ideb)
925 penfi(nin)%P(1,nn) = xrem(14,i+ideb)
926 penfi(nin)%P(2,nn) = xrem(15,i+ideb)
927 penfia(nin)%P(1,nn) = xrem(16,i+ideb)
928 penfia(nin)%P(2,nn) = xrem(17,i+ideb)
929 penfia(nin)%P(3,nn) = xrem(18,i+ideb)
930 penfia(nin)%P(4,nn) = xrem(19,i+ideb)
931 penfia(nin)%P(5,nn) = xrem(20,i+ideb)
932 diag_smsfi(nin)%P(nn) = xrem(21,i+ideb)
933 dxancfi(nin)%P(1,nn) = xrem(22,i+ideb)
934 dxancfi(nin)%P(2,nn) = xrem(23,i+ideb)
935 dxancfi(nin)%P(3,nn) = xrem(24,i+ideb)
936 dvancfi(nin)%P(1,nn) = xrem(25,i+ideb)
937 dvancfi(nin)%P(2,nn) = xrem(26,i+ideb)
938 dvancfi(nin)%P(3,nn) = xrem(27,i+ideb)
939 ENDIF
940 ENDDO
941C fin /DT/NODA/AMS
942 ENDIF
943 ENDIF
944 ELSEIF(idtmins==2)THEN
945C /DT/AMS
946 IF(igap==0)THEN
947 DO i = 1, oldnsnr
948 IF(xrem(4,i+ideb)<0) THEN
949 nn = nn + 1
950 index(i+ideb) = nn
951 nsvfi(nin)%P(nn) = nint(-xrem(4,i+ideb))
952 xfi(nin)%P(1,nn) = xrem(1,i+ideb)
953 xfi(nin)%P(2,nn) = xrem(2,i+ideb)
954 xfi(nin)%P(3,nn) = xrem(3,i+ideb)
955 vfi(nin)%P(1,nn) = xrem(5,i+ideb)
956 vfi(nin)%P(2,nn) = xrem(6,i+ideb)
957 vfi(nin)%P(3,nn) = xrem(7,i+ideb)
958 msfi(nin)%P(nn) = xrem(8,i+ideb)
959 stifi(nin)%P(nn) = xrem(9,i+ideb)
960 IF(ir4r8 == 2) THEN
961 itafi(nin)%P(nn) = nint(xrem(10,i+ideb))
962 ELSE
963 itafi(nin)%P(nn) = irem(1,i+ideb)
964 END IF
965 kinfi(nin)%P(nn) = nint(xrem(11,i+ideb))
966 nbinflfi(nin)%P(nn)= nint(xrem(12,i+ideb))
967 penfi(nin)%P(1,nn) = xrem(13,i+ideb)
968 penfi(nin)%P(2,nn) = xrem(14,i+ideb)
969 penfia(nin)%P(1,nn) = xrem(15,i+ideb)
970 penfia(nin)%P(2,nn) = xrem(16,i+ideb)
971 penfia(nin)%P(3,nn) = xrem(17,i+ideb)
972 penfia(nin)%P(4,nn) = xrem(18,i+ideb)
973 penfia(nin)%P(5,nn) = xrem(19,i+ideb)
974 diag_smsfi(nin)%P(nn) = xrem(20,i+ideb)
975 nodnxfi(nin)%P(nn) = nint(xrem(21,i+ideb))
976 nodamsfi(nin)%P(nn) = nint(xrem(22,i+ideb))
977 procamsfi(nin)%P(nn) = p
978 dxancfi(nin)%P(1,nn) = xrem(23,i+ideb)
979 dxancfi(nin)%P(2,nn) = xrem(24,i+ideb)
980 dxancfi(nin)%P(3,nn) = xrem(25,i+ideb)
981 dvancfi(nin)%P(1,nn) = xrem(26,i+ideb)
982 dvancfi(nin)%P(2,nn) = xrem(27,i+ideb)
983 dvancfi(nin)%P(3,nn) = xrem(28,i+ideb)
984 ENDIF
985 ENDDO
986 ELSE
987 DO i = 1, oldnsnr
988 IF(xrem(4,i+ideb)<0) THEN
989 nn = nn + 1
990 index(i+ideb) = nn
991 nsvfi(nin)%P(nn) = nint(-xrem(4,i+ideb))
992 xfi(nin)%P(1,nn) = xrem(1,i+ideb)
993 xfi(nin)%P(2,nn) = xrem(2,i+ideb)
994 xfi(nin)%P(3,nn) = xrem(3,i+ideb)
995 vfi(nin)%P(1,nn) = xrem(5,i+ideb)
996 vfi(nin)%P(2,nn) = xrem(6,i+ideb)
997 vfi(nin)%P(3,nn) = xrem(7,i+ideb)
998 msfi(nin)%P(nn) = xrem(8,i+ideb)
999 stifi(nin)%P(nn) = xrem(9,i+ideb)
1000 IF(ir4r8 == 2) THEN
1001 itafi(nin)%P(nn) = nint(xrem(10,i+ideb))
1002 ELSE
1003 itafi(nin)%P(nn) = irem(1,i+ideb)
1004 END IF
1005 kinfi(nin)%P(nn) = nint(xrem(11,i+ideb))
1006 nbinflfi(nin)%P(nn)= nint(xrem(12,i+ideb))
1007 gapfi(nin)%P(nn) = xrem(13,i+ideb)
1008 penfi(nin)%P(1,nn) = xrem(14,i+ideb)
1009 penfi(nin)%P(2,nn) = xrem(15,i+ideb)
1010 penfia(nin)%P(1,nn)= xrem(16,i+ideb)
1011 penfia(nin)%P(2,nn)= xrem(17,i+ideb)
1012 penfia(nin)%P(3,nn)= xrem(18,i+ideb)
1013 penfia(nin)%P(4,nn)= xrem(19,i+ideb)
1014 penfia(nin)%P(5,nn)= xrem(20,i+ideb)
1015 diag_smsfi(nin)%P(nn) = xrem(21,i+ideb)
1016 nodnxfi(nin)%P(nn) = nint(xrem(22,i+ideb))
1017 nodamsfi(nin)%P(nn) = nint(xrem(23,i+ideb))
1018 procamsfi(nin)%P(nn) = p
1019 dxancfi(nin)%P(1,nn) = xrem(24,i+ideb)
1020 dxancfi(nin)%P(2,nn) = xrem(25,i+ideb)
1021 dxancfi(nin)%P(3,nn) = xrem(26,i+ideb)
1022 dvancfi(nin)%P(1,nn) = xrem(27,i+ideb)
1023 dvancfi(nin)%P(2,nn) = xrem(28,i+ideb)
1024 dvancfi(nin)%P(3,nn) = xrem(29,i+ideb)
1025 ENDIF
1026 ENDDO
1027 ENDIF
1028C fin /DT/AMS
1029 ELSE ! IDTMINS_INT/=0
1030C /DT/INTER/AMS
1031 IF(igap==0)THEN
1032 DO i = 1, oldnsnr
1033 IF(xrem(4,i+ideb)<0) THEN
1034 nn = nn + 1
1035 index(i+ideb) = nn
1036 nsvfi(nin)%P(nn) = nint(-xrem(4,i+ideb))
1037 xfi(nin)%P(1,nn) = xrem(1,i+ideb)
1038 xfi(nin)%P(2,nn) = xrem(2,i+ideb)
1039 xfi(nin)%P(3,nn) = xrem(3,i+ideb)
1040 vfi(nin)%P(1,nn) = xrem(5,i+ideb)
1041 vfi(nin)%P(2,nn) = xrem(6,i+ideb)
1042 vfi(nin)%P(3,nn) = xrem(7,i+ideb)
1043 msfi(nin)%P(nn) = xrem(8,i+ideb)
1044 stifi(nin)%P(nn) = xrem(9,i+ideb)
1045 IF(ir4r8 == 2) THEN
1046 itafi(nin)%P(nn) = nint(xrem(10,i+ideb))
1047 ELSE
1048 itafi(nin)%P(nn) = irem(1,i+ideb)
1049 END IF
1050 kinfi(nin)%P(nn) = nint(xrem(11,i+ideb))
1051 nbinflfi(nin)%P(nn)= nint(xrem(12,i+ideb))
1052 penfi(nin)%P(1,nn) = xrem(13,i+ideb)
1053 penfi(nin)%P(2,nn) = xrem(14,i+ideb)
1054 penfia(nin)%P(1,nn) = xrem(15,i+ideb)
1055 penfia(nin)%P(2,nn) = xrem(16,i+ideb)
1056 penfia(nin)%P(3,nn) = xrem(17,i+ideb)
1057 penfia(nin)%P(4,nn) = xrem(18,i+ideb)
1058 penfia(nin)%P(5,nn) = xrem(19,i+ideb)
1059 nodamsfi(nin)%P(nn) = nint(xrem(20,i+ideb))
1060 procamsfi(nin)%P(nn) = p
1061 dxancfi(nin)%P(1,nn) = xrem(21,i+ideb)
1062 dxancfi(nin)%P(2,nn) = xrem(22,i+ideb)
1063 dxancfi(nin)%P(3,nn) = xrem(23,i+ideb)
1064 dvancfi(nin)%P(1,nn) = xrem(24,i+ideb)
1065 dvancfi(nin)%P(2,nn) = xrem(25,i+ideb)
1066 dvancfi(nin)%P(3,nn) = xrem(26,i+ideb)
1067 ENDIF
1068 ENDDO
1069 ELSE
1070 DO i = 1, oldnsnr
1071 IF(xrem(4,i+ideb)<0) THEN
1072 nn = nn + 1
1073 index(i+ideb) = nn
1074 nsvfi(nin)%P(nn) = nint(-xrem(4,i+ideb))
1075 xfi(nin)%P(1,nn) = xrem(1,i+ideb)
1076 xfi(nin)%P(2,nn) = xrem(2,i+ideb)
1077 xfi(nin)%P(3,nn) = xrem(3,i+ideb)
1078 vfi(nin)%P(1,nn) = xrem(5,i+ideb)
1079 vfi(nin)%P(2,nn) = xrem(6,i+ideb)
1080 vfi(nin)%P(3,nn) = xrem(7,i+ideb)
1081 msfi(nin)%P(nn) = xrem(8,i+ideb)
1082 stifi(nin)%P(nn) = xrem(9,i+ideb)
1083 IF(ir4r8 == 2) THEN
1084 itafi(nin)%P(nn) = nint(xrem(10,i+ideb))
1085 ELSE
1086 itafi(nin)%P(nn) = irem(1,i+ideb)
1087 END IF
1088 kinfi(nin)%P(nn) = nint(xrem(11,i+ideb))
1089 nbinflfi(nin)%P(nn)= nint(xrem(12,i+ideb))
1090 gapfi(nin)%P(nn) = xrem(13,i+ideb)
1091 penfi(nin)%P(1,nn) = xrem(14,i+ideb)
1092 penfi(nin)%P(2,nn) = xrem(15,i+ideb)
1093 penfia(nin)%P(1,nn)= xrem(16,i+ideb)
1094 penfia(nin)%P(2,nn)= xrem(17,i+ideb)
1095 penfia(nin)%P(3,nn)= xrem(18,i+ideb)
1096 penfia(nin)%P(4,nn)= xrem(19,i+ideb)
1097 penfia(nin)%P(5,nn)= xrem(20,i+ideb)
1098 nodamsfi(nin)%P(nn) = nint(xrem(21,i+ideb))
1099 procamsfi(nin)%P(nn) = p
1100 dxancfi(nin)%P(1,nn) = xrem(22,i+ideb)
1101 dxancfi(nin)%P(2,nn) = xrem(23,i+ideb)
1102 dxancfi(nin)%P(3,nn) = xrem(24,i+ideb)
1103 dvancfi(nin)%P(1,nn) = xrem(25,i+ideb)
1104 dvancfi(nin)%P(2,nn) = xrem(26,i+ideb)
1105 dvancfi(nin)%P(3,nn) = xrem(27,i+ideb)
1106 ENDIF
1107 ENDDO
1108 ENDIF
1109C fin /DT/INTER/AMS
1110 END IF
1111 ideb = ideb + oldnsnr
1112 nsnfi(nin)%P(p) = nn-nnp
1113 ENDIF
1114 ENDDO
1115C
1116 ELSE ! thermique
1117 DO p = 1, nspmd
1118 oldnsnr = nsnfi(nin)%P(p)
1119 IF(oldnsnr/=0) THEN
1120 nnp = nn
1121 IF(idtmins/=2 .AND. idtmins_int == 0)THEN
1122 IF(igap==0)THEN
1123 IF(idtmins==0)THEN
1124 DO i = 1, oldnsnr
1125 IF(xrem(4,i+ideb)<0) THEN
1126 nn = nn + 1
1127 index(i+ideb) = nn
1128 nsvfi(nin)%P(nn) = nint(-xrem(4,i+ideb))
1129 xfi(nin)%P(1,nn) = xrem(1,i+ideb)
1130 xfi(nin)%P(2,nn) = xrem(2,i+ideb)
1131 xfi(nin)%P(3,nn) = xrem(3,i+ideb)
1132 vfi(nin)%P(1,nn) = xrem(5,i+ideb)
1133 vfi(nin)%P(2,nn) = xrem(6,i+ideb)
1134 vfi(nin)%P(3,nn) = xrem(7,i+ideb)
1135 msfi(nin)%P(nn) = xrem(8,i+ideb)
1136 stifi(nin)%P(nn) = xrem(9,i+ideb)
1137 IF(ir4r8 == 2) THEN
1138 itafi(nin)%P(nn) = nint(xrem(10,i+ideb))
1139 ELSE
1140 itafi(nin)%P(nn) = irem(1,i+ideb)
1141 END IF
1142 kinfi(nin)%P(nn) = nint(xrem(11,i+ideb))
1143 nbinflfi(nin)%P(nn)= nint(xrem(12,i+ideb))
1144 tempfi(nin)%P(nn) = xrem(13,i+ideb)
1145 matsfi(nin)%P(nn) = nint(xrem(14,i+ideb))
1146 areasfi(nin)%P(nn) = xrem(15,i+ideb)
1147 penfi(nin)%P(1,nn) = xrem(16,i+ideb)
1148 penfi(nin)%P(2,nn) = xrem(17,i+ideb)
1149 penfia(nin)%P(1,nn)= xrem(18,i+ideb)
1150 penfia(nin)%P(2,nn)= xrem(19,i+ideb)
1151 penfia(nin)%P(3,nn)= xrem(20,i+ideb)
1152 penfia(nin)%P(4,nn)= xrem(21,i+ideb)
1153 penfia(nin)%P(5,nn)= xrem(22,i+ideb)
1154 dxancfi(nin)%P(1,nn) = xrem(23,i+ideb)
1155 dxancfi(nin)%P(2,nn) = xrem(24,i+ideb)
1156 dxancfi(nin)%P(3,nn) = xrem(25,i+ideb)
1157 dvancfi(nin)%P(1,nn) = xrem(26,i+ideb)
1158 dvancfi(nin)%P(2,nn) = xrem(27,i+ideb)
1159 dvancfi(nin)%P(3,nn) = xrem(28,i+ideb)
1160 ENDIF
1161 ENDDO
1162C /DT/NODA/AMS
1163 ELSE
1164 DO i = 1, oldnsnr
1165 IF(xrem(4,i+ideb)<0) THEN
1166 nn = nn + 1
1167 index(i+ideb) = nn
1168 nsvfi(nin)%P(nn) = nint(-xrem(4,i+ideb))
1169 xfi(nin)%P(1,nn) = xrem(1,i+ideb)
1170 xfi(nin)%P(2,nn) = xrem(2,i+ideb)
1171 xfi(nin)%P(3,nn) = xrem(3,i+ideb)
1172 vfi(nin)%P(1,nn) = xrem(5,i+ideb)
1173 vfi(nin)%P(2,nn) = xrem(6,i+ideb)
1174 vfi(nin)%P(3,nn) = xrem(7,i+ideb)
1175 msfi(nin)%P(nn) = xrem(8,i+ideb)
1176 stifi(nin)%P(nn) = xrem(9,i+ideb)
1177 IF(ir4r8 == 2) THEN
1178 itafi(nin)%P(nn) = nint(xrem(10,i+ideb))
1179 ELSE
1180 itafi(nin)%P(nn) = irem(1,i+ideb)
1181 END IF
1182 kinfi(nin)%P(nn) = nint(xrem(11,i+ideb))
1183 nbinflfi(nin)%P(nn)= nint(xrem(12,i+ideb))
1184 tempfi(nin)%P(nn) = xrem(13,i+ideb)
1185 matsfi(nin)%P(nn) = nint(xrem(14,i+ideb))
1186 areasfi(nin)%P(nn) = xrem(15,i+ideb)
1187 penfi(nin)%P(1,nn) = xrem(16,i+ideb)
1188 penfi(nin)%P(2,nn) = xrem(17,i+ideb)
1189 penfia(nin)%P(1,nn) = xrem(18,i+ideb)
1190 penfia(nin)%P(2,nn) = xrem(19,i+ideb)
1191 penfia(nin)%P(3,nn) = xrem(20,i+ideb)
1192 penfia(nin)%P(4,nn) = xrem(21,i+ideb)
1193 penfia(nin)%P(5,nn) = xrem(22,i+ideb)
1194 diag_smsfi(nin)%P(nn) = xrem(23,i+ideb)
1195 dxancfi(nin)%P(1,nn) = xrem(24,i+ideb)
1196 dxancfi(nin)%P(2,nn) = xrem(25,i+ideb)
1197 dxancfi(nin)%P(3,nn) = xrem(26,i+ideb)
1198 dvancfi(nin)%P(1,nn) = xrem(27,i+ideb)
1199 dvancfi(nin)%P(2,nn) = xrem(28,i+ideb)
1200 dvancfi(nin)%P(3,nn) = xrem(29,i+ideb)
1201 ENDIF
1202 ENDDO
1203C fin /DT/NODA/AMS
1204 ENDIF
1205 ELSE
1206 IF(idtmins==0)THEN
1207 DO i = 1, oldnsnr
1208 IF(xrem(4,i+ideb)<0) THEN
1209 nn = nn + 1
1210 index(i+ideb) = nn
1211 nsvfi(nin)%P(nn) = nint(-xrem(4,i+ideb))
1212 xfi(nin)%P(1,nn) = xrem(1,i+ideb)
1213 xfi(nin)%P(2,nn) = xrem(2,i+ideb)
1214 xfi(nin)%P(3,nn) = xrem(3,i+ideb)
1215 vfi(nin)%P(1,nn) = xrem(5,i+ideb)
1216 vfi(nin)%P(2,nn) = xrem(6,i+ideb)
1217 vfi(nin)%P(3,nn) = xrem(7,i+ideb)
1218 msfi(nin)%P(nn) = xrem(8,i+ideb)
1219 stifi(nin)%P(nn) = xrem(9,i+ideb)
1220 IF(ir4r8 == 2) THEN
1221 itafi(nin)%P(nn) = nint(xrem(10,i+ideb))
1222 ELSE
1223 itafi(nin)%P(nn) = irem(1,i+ideb)
1224 END IF
1225 kinfi(nin)%P(nn) = nint(xrem(11,i+ideb))
1226 nbinflfi(nin)%P(nn)= nint(xrem(12,i+ideb))
1227 gapfi(nin)%P(nn) = xrem(13,i+ideb)
1228 tempfi(nin)%P(nn) = xrem(14,i+ideb)
1229 matsfi(nin)%P(nn) = nint(xrem(15,i+ideb))
1230 areasfi(nin)%P(nn) = xrem(16,i+ideb)
1231 penfi(nin)%P(1,nn) = xrem(17,i+ideb)
1232 penfi(nin)%P(2,nn) = xrem(18,i+ideb)
1233 penfia(nin)%P(1,nn)= xrem(19,i+ideb)
1234 penfia(nin)%P(2,nn)= xrem(20,i+ideb)
1235 penfia(nin)%P(3,nn)= xrem(21,i+ideb)
1236 penfia(nin)%P(4,nn)= xrem(22,i+ideb)
1237 penfia(nin)%P(5,nn)= xrem(23,i+ideb)
1238 dxancfi(nin)%P(1,nn) = xrem(24,i+ideb)
1239 dxancfi(nin)%P(2,nn) = xrem(25,i+ideb)
1240 dxancfi(nin)%P(3,nn) = xrem(26,i+ideb)
1241 dvancfi(nin)%P(1,nn) = xrem(27,i+ideb)
1242 dvancfi(nin)%P(2,nn) = xrem(28,i+ideb)
1243 dvancfi(nin)%P(3,nn) = xrem(29,i+ideb)
1244 ENDIF
1245 ENDDO
1246C /DT/NODA/AMS
1247 ELSE
1248 DO i = 1, oldnsnr
1249 IF(xrem(4,i+ideb)<0) THEN
1250 nn = nn + 1
1251 index(i+ideb) = nn
1252 nsvfi(nin)%P(nn) = nint(-xrem(4,i+ideb))
1253 xfi(nin)%P(1,nn) = xrem(1,i+ideb)
1254 xfi(nin)%P(2,nn) = xrem(2,i+ideb)
1255 xfi(nin)%P(3,nn) = xrem(3,i+ideb)
1256 vfi(nin)%P(1,nn) = xrem(5,i+ideb)
1257 vfi(nin)%P(2,nn) = xrem(6,i+ideb)
1258 vfi(nin)%P(3,nn) = xrem(7,i+ideb)
1259 msfi(nin)%P(nn) = xrem(8,i+ideb)
1260 stifi(nin)%P(nn) = xrem(9,i+ideb)
1261 IF(ir4r8 == 2) THEN
1262 itafi(nin)%P(nn) = nint(xrem(10,i+ideb))
1263 ELSE
1264 itafi(nin)%P(nn) = irem(1,i+ideb)
1265 END IF
1266 kinfi(nin)%P(nn) = nint(xrem(11,i+ideb))
1267 nbinflfi(nin)%P(nn)= nint(xrem(12,i+ideb))
1268 gapfi(nin)%P(nn) = xrem(13,i+ideb)
1269 tempfi(nin)%P(nn) = xrem(14,i+ideb)
1270 matsfi(nin)%P(nn) = nint(xrem(15,i+ideb))
1271 areasfi(nin)%P(nn) = xrem(16,i+ideb)
1272 penfi(nin)%P(1,nn) = xrem(17,i+ideb)
1273 penfi(nin)%P(2,nn) = xrem(18,i+ideb)
1274 penfia(nin)%P(1,nn) = xrem(19,i+ideb)
1275 penfia(nin)%P(2,nn) = xrem(20,i+ideb)
1276 penfia(nin)%P(3,nn) = xrem(21,i+ideb)
1277 penfia(nin)%P(4,nn) = xrem(22,i+ideb)
1278 penfia(nin)%P(5,nn) = xrem(23,i+ideb)
1279 diag_smsfi(nin)%P(nn) = xrem(24,i+ideb)
1280 dxancfi(nin)%P(1,nn) = xrem(25,i+ideb)
1281 dxancfi(nin)%P(2,nn) = xrem(26,i+ideb)
1282 dxancfi(nin)%P(3,nn) = xrem(27,i+ideb)
1283 dvancfi(nin)%P(1,nn) = xrem(28,i+ideb)
1284 dvancfi(nin)%P(2,nn) = xrem(29,i+ideb)
1285 dvancfi(nin)%P(3,nn) = xrem(30,i+ideb)
1286 ENDIF
1287 ENDDO
1288C fin /DT/NODA/AMS
1289 ENDIF
1290 ENDIF
1291 ELSEIF(idtmins==2)THEN
1292C /DT/AMS
1293 IF(igap==0)THEN
1294 DO i = 1, oldnsnr
1295 IF(xrem(4,i+ideb)<0) THEN
1296 nn = nn + 1
1297 index(i+ideb) = nn
1298 nsvfi(nin)%P(nn) = nint(-xrem(4,i+ideb))
1299 xfi(nin)%P(1,nn) = xrem(1,i+ideb)
1300 xfi(nin)%P(2,nn) = xrem(2,i+ideb)
1301 xfi(nin)%P(3,nn) = xrem(3,i+ideb)
1302 vfi(nin)%P(1,nn) = xrem(5,i+ideb)
1303 vfi(nin)%P(2,nn) = xrem(6,i+ideb)
1304 vfi(nin)%P(3,nn) = xrem(7,i+ideb)
1305 msfi(nin)%P(nn) = xrem(8,i+ideb)
1306 stifi(nin)%P(nn) = xrem(9,i+ideb)
1307 IF(ir4r8 == 2) THEN
1308 itafi(nin)%P(nn) = nint(xrem(10,i+ideb))
1309 ELSE
1310 itafi(nin)%P(nn) = irem(1,i+ideb)
1311 END IF
1312 kinfi(nin)%P(nn) = nint(xrem(11,i+ideb))
1313 nbinflfi(nin)%P(nn) = nint(xrem(12,i+ideb))
1314 tempfi(nin)%P(nn) = xrem(13,i+ideb)
1315 matsfi(nin)%P(nn) = nint(xrem(14,i+ideb))
1316 areasfi(nin)%P(nn) = xrem(15,i+ideb)
1317 penfi(nin)%P(1,nn) = xrem(16,i+ideb)
1318 penfi(nin)%P(2,nn) = xrem(17,i+ideb)
1319 penfia(nin)%P(1,nn)= xrem(18,i+ideb)
1320 penfia(nin)%P(2,nn)= xrem(19,i+ideb)
1321 penfia(nin)%P(3,nn)= xrem(20,i+ideb)
1322 penfia(nin)%P(4,nn)= xrem(21,i+ideb)
1323 penfia(nin)%P(5,nn)= xrem(22,i+ideb)
1324 diag_smsfi(nin)%P(nn) = xrem(23,i+ideb)
1325 nodnxfi(nin)%P(nn) = nint(xrem(24,i+ideb))
1326 nodamsfi(nin)%P(nn) = nint(xrem(25,i+ideb))
1327 procamsfi(nin)%P(nn) = p
1328 dxancfi(nin)%P(1,nn) = xrem(26,i+ideb)
1329 dxancfi(nin)%P(2,nn) = xrem(27,i+ideb)
1330 dxancfi(nin)%P(3,nn) = xrem(28,i+ideb)
1331 dvancfi(nin)%P(1,nn) = xrem(29,i+ideb)
1332 dvancfi(nin)%P(2,nn) = xrem(30,i+ideb)
1333 dvancfi(nin)%P(3,nn) = xrem(31,i+ideb)
1334 ENDIF
1335 ENDDO
1336 ELSE
1337 DO i = 1, oldnsnr
1338 IF(xrem(4,i+ideb)<0) THEN
1339 nn = nn + 1
1340 index(i+ideb) = nn
1341 nsvfi(nin)%P(nn) = nint(-xrem(4,i+ideb))
1342 xfi(nin)%P(1,nn) = xrem(1,i+ideb)
1343 xfi(nin)%P(2,nn) = xrem(2,i+ideb)
1344 xfi(nin)%P(3,nn) = xrem(3,i+ideb)
1345 vfi(nin)%P(1,nn) = xrem(5,i+ideb)
1346 vfi(nin)%P(2,nn) = xrem(6,i+ideb)
1347 vfi(nin)%P(3,nn) = xrem(7,i+ideb)
1348 msfi(nin)%P(nn) = xrem(8,i+ideb)
1349 stifi(nin)%P(nn) = xrem(9,i+ideb)
1350 IF(ir4r8 == 2) THEN
1351 itafi(nin)%P(nn) = nint(xrem(10,i+ideb))
1352 ELSE
1353 itafi(nin)%P(nn) = irem(1,i+ideb)
1354 END IF
1355 kinfi(nin)%P(nn) = nint(xrem(11,i+ideb))
1356 nbinflfi(nin)%P(nn) = nint(xrem(12,i+ideb))
1357 gapfi(nin)%P(nn) = xrem(13,i+ideb)
1358 tempfi(nin)%P(nn) = xrem(14,i+ideb)
1359 matsfi(nin)%P(nn) = nint(xrem(15,i+ideb))
1360 areasfi(nin)%P(nn) = xrem(16,i+ideb)
1361 penfi(nin)%P(1,nn) = xrem(17,i+ideb)
1362 penfi(nin)%P(2,nn) = xrem(18,i+ideb)
1363 penfia(nin)%P(1,nn)= xrem(19,i+ideb)
1364 penfia(nin)%P(2,nn)= xrem(20,i+ideb)
1365 penfia(nin)%P(3,nn)= xrem(21,i+ideb)
1366 penfia(nin)%P(4,nn)= xrem(22,i+ideb)
1367 penfia(nin)%P(5,nn)= xrem(23,i+ideb)
1368 diag_smsfi(nin)%P(nn) = xrem(24,i+ideb)
1369 nodnxfi(nin)%P(nn) = nint(xrem(25,i+ideb))
1370 nodamsfi(nin)%P(nn) = nint(xrem(26,i+ideb))
1371 procamsfi(nin)%P(nn) = p
1372 dxancfi(nin)%P(1,nn) = xrem(27,i+ideb)
1373 dxancfi(nin)%P(2,nn) = xrem(28,i+ideb)
1374 dxancfi(nin)%P(3,nn) = xrem(29,i+ideb)
1375 dvancfi(nin)%P(1,nn) = xrem(30,i+ideb)
1376 dvancfi(nin)%P(2,nn) = xrem(31,i+ideb)
1377 dvancfi(nin)%P(3,nn) = xrem(32,i+ideb)
1378 ENDIF
1379 ENDDO
1380 ENDIF
1381C fin /DT/AMS
1382 ELSE ! IDTMINS_INT/=0
1383C /DT/INTER/AMS
1384 IF(igap==0)THEN
1385 DO i = 1, oldnsnr
1386 IF(xrem(4,i+ideb)<0) THEN
1387 nn = nn + 1
1388 index(i+ideb) = nn
1389 nsvfi(nin)%P(nn) = nint(-xrem(4,i+ideb))
1390 xfi(nin)%P(1,nn) = xrem(1,i+ideb)
1391 xfi(nin)%P(2,nn) = xrem(2,i+ideb)
1392 xfi(nin)%P(3,nn) = xrem(3,i+ideb)
1393 vfi(nin)%P(1,nn) = xrem(5,i+ideb)
1394 vfi(nin)%P(2,nn) = xrem(6,i+ideb)
1395 vfi(nin)%P(3,nn) = xrem(7,i+ideb)
1396 msfi(nin)%P(nn) = xrem(8,i+ideb)
1397 stifi(nin)%P(nn) = xrem(9,i+ideb)
1398 IF(ir4r8 == 2) THEN
1399 itafi(nin)%P(nn) = nint(xrem(10,i+ideb))
1400 ELSE
1401 itafi(nin)%P(nn) = irem(1,i+ideb)
1402 END IF
1403 kinfi(nin)%P(nn) = nint(xrem(11,i+ideb))
1404 nbinflfi(nin)%P(nn) = nint(xrem(12,i+ideb))
1405 tempfi(nin)%P(nn) = xrem(13,i+ideb)
1406 matsfi(nin)%P(nn) = nint(xrem(14,i+ideb))
1407 areasfi(nin)%P(nn) = xrem(15,i+ideb)
1408 penfi(nin)%P(1,nn) = xrem(16,i+ideb)
1409 penfi(nin)%P(2,nn) = xrem(17,i+ideb)
1410 penfia(nin)%P(1,nn)= xrem(18,i+ideb)
1411 penfia(nin)%P(2,nn)= xrem(19,i+ideb)
1412 penfia(nin)%P(3,nn)= xrem(20,i+ideb)
1413 penfia(nin)%P(4,nn)= xrem(21,i+ideb)
1414 penfia(nin)%P(5,nn)= xrem(22,i+ideb)
1415 nodamsfi(nin)%P(nn) = nint(xrem(23,i+ideb))
1416 procamsfi(nin)%P(nn) = p
1417 dxancfi(nin)%P(1,nn) = xrem(24,i+ideb)
1418 dxancfi(nin)%P(2,nn) = xrem(25,i+ideb)
1419 dxancfi(nin)%P(3,nn) = xrem(26,i+ideb)
1420 dvancfi(nin)%P(1,nn) = xrem(27,i+ideb)
1421 dvancfi(nin)%P(2,nn) = xrem(28,i+ideb)
1422 dvancfi(nin)%P(3,nn) = xrem(29,i+ideb)
1423 ENDIF
1424 ENDDO
1425 ELSE
1426 DO i = 1, oldnsnr
1427 IF(xrem(4,i+ideb)<0) THEN
1428 nn = nn + 1
1429 index(i+ideb) = nn
1430 nsvfi(nin)%P(nn) = nint(-xrem(4,i+ideb))
1431 xfi(nin)%P(1,nn) = xrem(1,i+ideb)
1432 xfi(nin)%P(2,nn) = xrem(2,i+ideb)
1433 xfi(nin)%P(3,nn) = xrem(3,i+ideb)
1434 vfi(nin)%P(1,nn) = xrem(5,i+ideb)
1435 vfi(nin)%P(2,nn) = xrem(6,i+ideb)
1436 vfi(nin)%P(3,nn) = xrem(7,i+ideb)
1437 msfi(nin)%P(nn) = xrem(8,i+ideb)
1438 stifi(nin)%P(nn) = xrem(9,i+ideb)
1439 IF(ir4r8 == 2) THEN
1440 itafi(nin)%P(nn) = nint(xrem(10,i+ideb))
1441 ELSE
1442 itafi(nin)%P(nn) = irem(1,i+ideb)
1443 END IF
1444 kinfi(nin)%P(nn) = nint(xrem(11,i+ideb))
1445 nbinflfi(nin)%P(nn) = nint(xrem(12,i+ideb))
1446 gapfi(nin)%P(nn) = xrem(13,i+ideb)
1447 tempfi(nin)%P(nn) = xrem(14,i+ideb)
1448 matsfi(nin)%P(nn) = nint(xrem(15,i+ideb))
1449 areasfi(nin)%P(nn) = xrem(16,i+ideb)
1450 penfi(nin)%P(1,nn) = xrem(17,i+ideb)
1451 penfi(nin)%P(2,nn) = xrem(18,i+ideb)
1452 penfia(nin)%P(1,nn)= xrem(19,i+ideb)
1453 penfia(nin)%P(2,nn)= xrem(20,i+ideb)
1454 penfia(nin)%P(3,nn)= xrem(21,i+ideb)
1455 penfia(nin)%P(4,nn)= xrem(22,i+ideb)
1456 penfia(nin)%P(5,nn)= xrem(23,i+ideb)
1457 nodamsfi(nin)%P(nn) = nint(xrem(24,i+ideb))
1458 procamsfi(nin)%P(nn) = p
1459 dxancfi(nin)%P(1,nn) = xrem(25,i+ideb)
1460 dxancfi(nin)%P(2,nn) = xrem(26,i+ideb)
1461 dxancfi(nin)%P(3,nn) = xrem(27,i+ideb)
1462 dvancfi(nin)%P(1,nn) = xrem(28,i+ideb)
1463 dvancfi(nin)%P(2,nn) = xrem(29,i+ideb)
1464 dvancfi(nin)%P(3,nn) = xrem(30,i+ideb)
1465 ENDIF
1466 ENDDO
1467 ENDIF
1468C fin /DT/INTER/AMS
1469 END IF
1470 ideb = ideb + oldnsnr
1471 nsnfi(nin)%P(p) = nn-nnp
1472 ENDIF
1473 ENDDO
1474 ENDIF
1475 END IF
1476 lskyfi = nn*multimax
1477C nsnr nouveau utile pour inacti
1478 nsnr = nn
1479 ENDIF
1480C
1481C Deallocation de XREM
1482C
1483 IF(ALLOCATED(xrem)) DEALLOCATE(xrem)
1484 IF(ir4r8==1)THEN
1485 IF(ALLOCATED(irem)) DEALLOCATE(irem)
1486 END IF
1487C
1488 ierror1=0
1489 ierror2=0
1490 ierror3=0
1491 ierror4=0
1492 IF(intth == 0 ) THEN
1493C
1494C Allocation Parith/OFF
1495C
1496 IF(iparit==0) THEN
1497 IF(ASSOCIATED(afi(nin)%P)) DEALLOCATE(afi(nin)%P)
1498 IF(ASSOCIATED(stnfi(nin)%P)) DEALLOCATE(stnfi(nin)%P)
1499 IF(nodfi>0)ALLOCATE(afi(nin)%P(3,nodfi*nthread),stat=ierror1)
1500 IF(nodfi>0)ALLOCATE(stnfi(nin)%P(nodfi*nthread),stat=ierror2)
1501C Init a 0
1502 DO i = 1, nodfi*nthread
1503 afi(nin)%P(1,i) = zero
1504 afi(nin)%P(2,i) = zero
1505 afi(nin)%P(3,i) = zero
1506 stnfi(nin)%P(i) = zero
1507 ENDDO
1508C
1509 IF(kdtint/=0)THEN
1510 IF(ASSOCIATED(vscfi(nin)%P)) DEALLOCATE(vscfi(nin)%P)
1511 IF(nodfi>0)ALLOCATE(vscfi(nin)%P(nodfi*nthread),stat=ierror3)
1512C Init a 0
1513 DO i = 1, nodfi*nthread
1514 vscfi(nin)%P(i) = zero
1515 ENDDO
1516 ENDIF
1517C
1518 ELSE
1519C
1520C Allocation Parith/ON
1521C
1522 IF(ASSOCIATED(fskyfi(nin)%P)) DEALLOCATE(fskyfi(nin)%P)
1523 IF(ASSOCIATED(iskyfi(nin)%P)) DEALLOCATE(iskyfi(nin)%P)
1524 nlskyfi(nin) = lskyfi
1525 IF(lskyfi>0) THEN
1526 ALLOCATE(iskyfi(nin)%P(lskyfi),stat=ierror1)
1527 IF(kdtint==0) THEN
1528 ALLOCATE(fskyfi(nin)%P(4,lskyfi),stat=ierror2)
1529 ELSE
1530 ALLOCATE(fskyfi(nin)%P(5,lskyfi),stat=ierror2)
1531 ENDIF
1532 ENDIF
1533 ENDIF
1534 ELSE
1535C
1536C Allocation Parith/OFF
1537C
1538 IF(iparit==0) THEN
1539 IF(ASSOCIATED(afi(nin)%P)) DEALLOCATE(afi(nin)%P)
1540 IF(ASSOCIATED(stnfi(nin)%P)) DEALLOCATE(stnfi(nin)%P)
1541 IF(ASSOCIATED(fthefi(nin)%P)) DEALLOCATE(fthefi(nin)%P)
1542 IF(nodfi>0)ALLOCATE(afi(nin)%P(3,nodfi*nthread),stat=ierror1)
1543 IF(nodfi>0)ALLOCATE(stnfi(nin)%P(nodfi*nthread),stat=ierror2)
1544 IF(nodfi>0)ALLOCATE(fthefi(nin)%P(nodfi*nthread),stat=ierror3)
1545
1546C Init a 0
1547 DO i = 1, nodfi*nthread
1548 afi(nin)%P(1,i) = zero
1549 afi(nin)%P(2,i) = zero
1550 afi(nin)%P(3,i) = zero
1551 stnfi(nin)%P(i) = zero
1552 fthefi(nin)%P(i) = zero
1553 ENDDO
1554C
1555 IF(kdtint/=0)THEN
1556 IF(ASSOCIATED(vscfi(nin)%P)) DEALLOCATE(vscfi(nin)%P)
1557 IF(nodfi>0)ALLOCATE(vscfi(nin)%P(nodfi),stat=ierror4)
1558C Init a 0
1559 DO i = 1, nodfi
1560 vscfi(nin)%P(i) = zero
1561 ENDDO
1562 ENDIF
1563C
1564 ELSE
1565C
1566C Allocation Parith/ON
1567C
1568 IF(ASSOCIATED(fskyfi(nin)%P)) DEALLOCATE(fskyfi(nin)%P)
1569 IF(ASSOCIATED(iskyfi(nin)%P)) DEALLOCATE(iskyfi(nin)%P)
1570 IF(ASSOCIATED(ftheskyfi(nin)%P)) DEALLOCATE(ftheskyfi(nin)%P)
1571 nlskyfi(nin) = lskyfi
1572 IF(lskyfi>0) THEN
1573 ALLOCATE(iskyfi(nin)%P(lskyfi),stat=ierror1)
1574 IF(kdtint==0) THEN
1575 ALLOCATE(fskyfi(nin)%P(4,lskyfi),stat=ierror2)
1576 ALLOCATE(ftheskyfi(nin)%P(lskyfi),stat=ierror3)
1577 ELSE
1578 ALLOCATE(fskyfi(nin)%P(5,lskyfi),stat=ierror2)
1579 ALLOCATE(ftheskyfi(nin)%P(lskyfi),stat=ierror3)
1580 ENDIF
1581 ENDIF
1582 ENDIF
1583 ENDIF
1584C
1585 IF(ierror1+ierror2+ierror3+ierror4/=0) THEN
1586 CALL ancmsg(msgid=20,anmode=aninfo)
1587 CALL arret(2)
1588 ENDIF
1589C
1590C allocations conditionnelles output pression
1591C
1592 IF(anim_v(12)+outp_v(12)+h3d_data%N_VECT_PCONT >0)THEN
1593 IF(ASSOCIATED(fnconti(nin)%P)) DEALLOCATE(fnconti(nin)%P)
1594 IF(ASSOCIATED(ftconti(nin)%P)) DEALLOCATE(ftconti(nin)%P)
1595 ALLOCATE(fnconti(nin)%P(3,nodfi),stat=ierror1)
1596 ALLOCATE(ftconti(nin)%P(3,nodfi),stat=ierror2)
1597 IF(ierror1+ierror2/=0) THEN
1598 CALL ancmsg(msgid=20,anmode=aninfo)
1599 CALL arret(2)
1600 ELSE
1601 DO j = 1, nodfi
1602 fnconti(nin)%P(1,j)=zero
1603 fnconti(nin)%P(2,j)=zero
1604 fnconti(nin)%P(3,j)=zero
1605 ftconti(nin)%P(1,j)=zero
1606 ftconti(nin)%P(2,j)=zero
1607 ftconti(nin)%P(3,j)=zero
1608 END DO
1609 END IF
1610 END IF
1611C
1612C allocations additionnelles pour interface type20
1613C
1614 IF(ity==20) THEN
1615 IF(ASSOCIATED(alphakfi(nin)%P)) DEALLOCATE(alphakfi(nin)%P)
1616 ALLOCATE(alphakfi(nin)%P(nodfi),stat=ierror4)
1617 IF(ASSOCIATED(daancfi(nin)%P)) DEALLOCATE(daancfi(nin)%P)
1618 ALLOCATE(daancfi(nin)%P(3,nodfi),stat=ierror4)
1619
1620 IF(ierror1+ierror2+ierror3+ierror4/=0) THEN
1621 CALL ancmsg(msgid=20,anmode=aninfo)
1622 CALL arret(2)
1623 ENDIF
1624 DO k = 1, nodfi
1625 DO i = 1, 3
1626 DO j = 1, 6
1627 daanc6fi(nin)%P(i,j,k) = zero
1628 END DO
1629 END DO
1630 alphakfi(nin)%P(k) = one
1631 END DO
1632 ENDIF
1633C
1634 daancfi(nin)%P(1:3,1:nodfi)=zero
1635C
1636C Renumerotation des candidats
1637C
1638 DO i = 1, i_stok
1639 n = cand_n(i)
1640 nn = n-nsn
1641 IF(nn>0)THEN
1642 cand_n(i) = index(nn)+nsn
1643 ENDIF
1644 ENDDO
1645C
1646 RETURN
1647 END
1648C
1649!||====================================================================
1650!|| spmd_tri20gate ../engine/source/mpi/interfaces/spmd_i7crit.F
1651!||--- called by ------------------------------------------------------
1652!|| i20main_tri ../engine/source/interfaces/intsort/i20main_tri.F
1653!||--- calls -----------------------------------------------------
1654!|| ancmsg ../engine/source/output/message/message.F
1655!|| arret ../engine/source/system/arret.F
1656!||--- uses -----------------------------------------------------
1657!|| message_mod ../engine/share/message_module/message_mod.F
1658!|| tri7box ../engine/share/modules/tri7box.F
1659!||====================================================================
1660 SUBROUTINE spmd_tri20gate(RESULT,NRTS ,CAND_S ,I_STOK,NIN,
1661 2 INACTI,NRTSR,MULTIMP,IGAP )
1662C-----------------------------------------------
1663C M o d u l e s
1664C-----------------------------------------------
1665 USE tri7box
1666 USE message_mod
1667C-----------------------------------------------
1668C I m p l i c i t T y p e s
1669C-----------------------------------------------
1670#include "implicit_f.inc"
1671#include "r4r8_p.inc"
1672C-----------------------------------------------
1673C M e s s a g e P a s s i n g
1674C-----------------------------------------------
1675#ifdef MPI
1676#endif
1677C-----------------------------------------------
1678C C o m m o n B l o c k s
1679C-----------------------------------------------
1680#include "com01_c.inc"
1681#include "task_c.inc"
1682#include "scr18_c.inc"
1683#include "parit_c.inc"
1684#include "spmd_c.inc"
1685#include "sms_c.inc"
1686C-----------------------------------------------
1687C D u m m y A r g u m e n t s
1688C-----------------------------------------------
1689 INTEGER RESULT, NIN, NRTS, I_STOK, INACTI, NRTSR, MULTIMP, IGAP,
1690 . CAND_S(*)
1691C-----------------------------------------------
1692C L o c a l V a r i a b l e s
1693C-----------------------------------------------
1694 INTEGER OLDNRTSR,SEGFI,NODFI,NNP,LSKYFI,
1695 . NOD, LOC_PROC, I, J, K, N, NN, P, IDEB, N1, N2,
1696 . IERROR1,IERROR2,IERROR3,IERROR4,IERROR5,IERROR6,IERROR7,
1697 . ierror8,ierror9,ierror0,ierror11,ierror12,ierror13,
1698 . index(nrtsr)
1699C-----------------------------------------------
1700C S o u r c e L i n e s
1701C-----------------------------------------------
1702 loc_proc = ispmd + 1
1703 ierror1=0
1704 ierror2=0
1705 ierror3=0
1706 ierror4=0
1707 ierror5=0
1708 ierror6=0
1709 ierror7=0
1710 ierror8=0
1711 ierror9=0
1712 ierror0=0
1713 ierror11=0
1714 ierror12=0
1715 ierror13=0
1716C
1717C Test succes du tri ?
1718C
1719 segfi = 0
1720 lskyfi= 0
1721 IF(result==0) THEN
1722C
1723C Reperage des candidats
1724C
1725 segfi = 0
1726 DO i = 1, i_stok
1727 n = cand_s(i)
1728 nn = n-nrts
1729 IF(nn>0)THEN
1730 IF(xrem(1,nn)>0)THEN
1731 segfi = segfi + 1
1732 xrem(1,nn) = -xrem(1,nn)
1733 ENDIF
1734 ENDIF
1735 ENDDO
1736C non optimal car noeuds dupliques potentiellement
1737 nodfi = 2*segfi
1738C
1739C Allocation des tableaux de frontieres interfaces
1740C
1741 IF(ASSOCIATED(nsvfie(nin)%P)) DEALLOCATE(nsvfie(nin)%P)
1742 ALLOCATE(nsvfie(nin)%P(segfi),stat=ierror1)
1743 IF(ASSOCIATED(xfie(nin)%P)) DEALLOCATE(xfie(nin)%P)
1744 ALLOCATE(xfie(nin)%P(3,nodfi),stat=ierror2)
1745 IF(ASSOCIATED(vfie(nin)%P)) DEALLOCATE(vfie(nin)%P)
1746 ALLOCATE(vfie(nin)%P(3,nodfi),stat=ierror3)
1747 IF(ASSOCIATED(msfie(nin)%P)) DEALLOCATE(msfie(nin)%P)
1748 ALLOCATE(msfie(nin)%P(nodfi),stat=ierror4)
1749
1750 IF(ASSOCIATED(stifie(nin)%P)) DEALLOCATE(stifie(nin)%P)
1751 ALLOCATE(stifie(nin)%P(segfi),stat=ierror5)
1752 IF(ASSOCIATED(itafie(nin)%P)) DEALLOCATE(itafie(nin)%P)
1753 ALLOCATE(itafie(nin)%P(nodfi),stat=ierror6)
1754 IF(igap/=0) THEN
1755 IF(ASSOCIATED(gapfie(nin)%P)) DEALLOCATE(gapfie(nin)%P)
1756 ALLOCATE(gapfie(nin)%P(segfi),stat=ierror7)
1757 ELSE
1758 ierror7 = 0
1759 END IF
1760
1761 IF(inacti==5.OR.inacti==6) THEN
1762 IF(ASSOCIATED(penfie(nin)%P)) DEALLOCATE(penfie(nin)%P)
1763 ALLOCATE(penfie(nin)%P(2,segfi),stat=ierror8)
1764 IF(ASSOCIATED(penfiae(nin)%P)) DEALLOCATE(penfiae(nin)%P)
1765 ALLOCATE(penfiae(nin)%P(5,nodfi),stat=ierror9)
1766 ELSE
1767 ierror8 = 0
1768 ierror9 = 0
1769 END IF
1770C
1771 IF(ASSOCIATED(diag_smsfie(nin)%P))DEALLOCATE(diag_smsfie(nin)%P)
1772 ALLOCATE(diag_smsfie(nin)%P(nodfi),stat=ierror0)
1773C
1774 IF(idtmins == 2) THEN
1775 IF(ASSOCIATED(nodnxfie(nin)%P)) DEALLOCATE(nodnxfie(nin)%P)
1776 ALLOCATE(nodnxfie(nin)%P(nodfi),stat=ierror11)
1777 IF(ASSOCIATED(nodamsfie(nin)%P)) DEALLOCATE(nodamsfie(nin)%P)
1778 ALLOCATE(nodamsfie(nin)%P(nodfi),stat=ierror12)
1779 IF(ASSOCIATED(procamsfie(nin)%P)) DEALLOCATE(procamsfie(nin)%P)
1780 ALLOCATE(procamsfie(nin)%P(nodfi),stat=ierror13)
1781 ELSEIF(idtmins_int /= 0) THEN
1782 IF(ASSOCIATED(nodamsfie(nin)%P)) DEALLOCATE(nodamsfie(nin)%P)
1783 ALLOCATE(nodamsfie(nin)%P(nodfi),stat=ierror12)
1784 IF(ASSOCIATED(procamsfie(nin)%P)) DEALLOCATE(procamsfie(nin)%P)
1785 ALLOCATE(procamsfie(nin)%P(nodfi),stat=ierror13)
1786 ELSE
1787 ierror11 = 0
1788 ierror12 = 0
1789 ierror13 = 0
1790 ENDIF
1791C
1792 IF(ierror1+ierror2+ierror3+ierror4+ierror5+
1793 + ierror6+ierror7+ierror8+ierror9+ierror0+
1794 + ierror11+ierror12+ierror13/=0) THEN
1795 CALL ancmsg(msgid=20,anmode=aninfo)
1796 CALL arret(2)
1797 ENDIF
1798C
1799C Compactage des candidats
1800C
1801C
1802 ideb = 0
1803 nn = 0
1804 DO p = 1, nspmd
1805 oldnrtsr = nsnfie(nin)%P(p)
1806 IF(oldnrtsr/=0) THEN
1807 nnp = nn
1808 IF(idtmins/=2 .AND. idtmins_int == 0)THEN
1809 IF(inacti/=5.AND.inacti/=6) THEN
1810 IF(igap/=0) THEN
1811 IF(idtmins==0)THEN
1812 DO i = 1, oldnrtsr
1813 IF(xrem(1,i+ideb)<0) THEN
1814 nn = nn + 1
1815 index(i+ideb) = nn
1816 n1 = 2*(nn-1)+1
1817 n2 = 2*nn
1818 nsvfie(nin)%P(nn) = nint(-xrem(1,i+ideb))
1819 xfie(nin)%P(1,n1) = xrem(2,i+ideb)
1820 xfie(nin)%P(2,n1) = xrem(3,i+ideb)
1821 xfie(nin)%P(3,n1) = xrem(4,i+ideb)
1822 vfie(nin)%P(1,n1) = xrem(5,i+ideb)
1823 vfie(nin)%P(2,n1) = xrem(6,i+ideb)
1824 vfie(nin)%P(3,n1) = xrem(7,i+ideb)
1825 msfie(nin)%P(n1) = xrem(8,i+ideb)
1826 IF(ir4r8 == 2) THEN
1827 itafie(nin)%P(n1) = nint(xrem(9,i+ideb))
1828 ELSE
1829 itafie(nin)%P(n1) = irem(1,i+ideb)
1830 END IF
1831 xfie(nin)%P(1,n2) = xrem(10,i+ideb)
1832 xfie(nin)%P(2,n2) = xrem(11,i+ideb)
1833 xfie(nin)%P(3,n2) = xrem(12,i+ideb)
1834 vfie(nin)%P(1,n2) = xrem(13,i+ideb)
1835 vfie(nin)%P(2,n2) = xrem(14,i+ideb)
1836 vfie(nin)%P(3,n2) = xrem(15,i+ideb)
1837 msfie(nin)%P(n2) = xrem(16,i+ideb)
1838 IF(ir4r8 == 2) THEN
1839 itafie(nin)%P(n2) = nint(xrem(17,i+ideb))
1840 ELSE
1841 itafie(nin)%P(n2) = irem(2,i+ideb)
1842 END IF
1843 stifie(nin)%P(nn) = xrem(18,i+ideb)
1844 gapfie(nin)%P(nn) = xrem(19,i+ideb)
1845 END IF
1846 END DO
1847C /DT/NODA/AMS
1848 ELSE
1849 DO i = 1, oldnrtsr
1850 IF(xrem(1,i+ideb)<0) THEN
1851 nn = nn + 1
1852 index(i+ideb) = nn
1853 n1 = 2*(nn-1)+1
1854 n2 = 2*nn
1855 nsvfie(nin)%P(nn) = nint(-xrem(1,i+ideb))
1856 xfie(nin)%P(1,n1) = xrem(2,i+ideb)
1857 xfie(nin)%P(2,n1) = xrem(3,i+ideb)
1858 xfie(nin)%P(3,n1) = xrem(4,i+ideb)
1859 vfie(nin)%P(1,n1) = xrem(5,i+ideb)
1860 vfie(nin)%P(2,n1) = xrem(6,i+ideb)
1861 vfie(nin)%P(3,n1) = xrem(7,i+ideb)
1862 msfie(nin)%P(n1) = xrem(8,i+ideb)
1863 IF(ir4r8 == 2) THEN
1864 itafie(nin)%P(n1) = nint(xrem(9,i+ideb))
1865 ELSE
1866 itafie(nin)%P(n1) = irem(1,i+ideb)
1867 END IF
1868 xfie(nin)%P(1,n2) = xrem(10,i+ideb)
1869 xfie(nin)%P(2,n2) = xrem(11,i+ideb)
1870 xfie(nin)%P(3,n2) = xrem(12,i+ideb)
1871 vfie(nin)%P(1,n2) = xrem(13,i+ideb)
1872 vfie(nin)%P(2,n2) = xrem(14,i+ideb)
1873 vfie(nin)%P(3,n2) = xrem(15,i+ideb)
1874 msfie(nin)%P(n2) = xrem(16,i+ideb)
1875 IF(ir4r8 == 2) THEN
1876 itafie(nin)%P(n2) = nint(xrem(17,i+ideb))
1877 ELSE
1878 itafie(nin)%P(n2) = irem(2,i+ideb)
1879 END IF
1880 stifie(nin)%P(nn) = xrem(18,i+ideb)
1881 gapfie(nin)%P(nn) = xrem(19,i+ideb)
1882 diag_smsfie(nin)%P(n1) = xrem(20,i+ideb)
1883 diag_smsfie(nin)%P(n2) = xrem(21,i+ideb)
1884 END IF
1885 END DO
1886C fin /DT/NODA/AMS
1887 ENDIF
1888 ELSE
1889 IF(idtmins==0)THEN
1890 DO i = 1, oldnrtsr
1891 IF(xrem(1,i+ideb)<0) THEN
1892 nn = nn + 1
1893 index(i+ideb) = nn
1894 n1 = 2*(nn-1)+1
1895 n2 = 2*nn
1896 nsvfie(nin)%P(nn) = nint(-xrem(1,i+ideb))
1897 xfie(nin)%P(1,n1) = xrem(2,i+ideb)
1898 xfie(nin)%P(2,n1) = xrem(3,i+ideb)
1899 xfie(nin)%P(3,n1) = xrem(4,i+ideb)
1900 vfie(nin)%P(1,n1) = xrem(5,i+ideb)
1901 vfie(nin)%P(2,n1) = xrem(6,i+ideb)
1902 vfie(nin)%P(3,n1) = xrem(7,i+ideb)
1903 msfie(nin)%P(n1) = xrem(8,i+ideb)
1904 IF(ir4r8 == 2) THEN
1905 itafie(nin)%P(n1) = nint(xrem(9,i+ideb))
1906 ELSE
1907 itafie(nin)%P(n1) = irem(1,i+ideb)
1908 END IF
1909 xfie(nin)%P(1,n2) = xrem(10,i+ideb)
1910 xfie(nin)%P(2,n2) = xrem(11,i+ideb)
1911 xfie(nin)%P(3,n2) = xrem(12,i+ideb)
1912 vfie(nin)%P(1,n2) = xrem(13,i+ideb)
1913 vfie(nin)%P(2,n2) = xrem(14,i+ideb)
1914 vfie(nin)%P(3,n2) = xrem(15,i+ideb)
1915 msfie(nin)%P(n2) = xrem(16,i+ideb)
1916 IF(ir4r8 == 2) THEN
1917 itafie(nin)%P(n2) = nint(xrem(17,i+ideb))
1918 ELSE
1919 itafie(nin)%P(n2) = irem(2,i+ideb)
1920 END IF
1921 stifie(nin)%P(nn) = xrem(18,i+ideb)
1922 END IF
1923 END DO
1924C /DT/NODA/AMS
1925 ELSE
1926 DO i = 1, oldnrtsr
1927 IF(xrem(1,i+ideb)<0) THEN
1928 nn = nn + 1
1929 index(i+ideb) = nn
1930 n1 = 2*(nn-1)+1
1931 n2 = 2*nn
1932 nsvfie(nin)%P(nn) = nint(-xrem(1,i+ideb))
1933 xfie(nin)%P(1,n1) = xrem(2,i+ideb)
1934 xfie(nin)%P(2,n1) = xrem(3,i+ideb)
1935 xfie(nin)%P(3,n1) = xrem(4,i+ideb)
1936 vfie(nin)%P(1,n1) = xrem(5,i+ideb)
1937 vfie(nin)%P(2,n1) = xrem(6,i+ideb)
1938 vfie(nin)%P(3,n1) = xrem(7,i+ideb)
1939 msfie(nin)%P(n1) = xrem(8,i+ideb)
1940 IF(ir4r8 == 2) THEN
1941 itafie(nin)%P(n1) = nint(xrem(9,i+ideb))
1942 ELSE
1943 itafie(nin)%P(n1) = irem(1,i+ideb)
1944 END IF
1945 xfie(nin)%P(1,n2) = xrem(10,i+ideb)
1946 xfie(nin)%P(2,n2) = xrem(11,i+ideb)
1947 xfie(nin)%P(3,n2) = xrem(12,i+ideb)
1948 vfie(nin)%P(1,n2) = xrem(13,i+ideb)
1949 vfie(nin)%P(2,n2) = xrem(14,i+ideb)
1950 vfie(nin)%P(3,n2) = xrem(15,i+ideb)
1951 msfie(nin)%P(n2) = xrem(16,i+ideb)
1952 IF(ir4r8 == 2) THEN
1953 itafie(nin)%P(n2) = nint(xrem(17,i+ideb))
1954 ELSE
1955 itafie(nin)%P(n2) = irem(2,i+ideb)
1956 END IF
1957 stifie(nin)%P(nn) = xrem(18,i+ideb)
1958 diag_smsfie(nin)%P(n1) = xrem(19,i+ideb)
1959 diag_smsfie(nin)%P(n2) = xrem(20,i+ideb)
1960 END IF
1961 END DO
1962C fin /DT/NODA/AMS
1963 ENDIF
1964 END IF
1965 ELSE
1966 IF(igap/=0) THEN
1967 IF(idtmins==0)THEN
1968 DO i = 1, oldnrtsr
1969 IF(xrem(1,i+ideb)<0) THEN
1970 nn = nn + 1
1971 index(i+ideb) = nn
1972 n1 = 2*(nn-1)+1
1973 n2 = 2*nn
1974 nsvfie(nin)%P(nn) = nint(-xrem(1,i+ideb))
1975 xfie(nin)%P(1,n1) = xrem(2,i+ideb)
1976 xfie(nin)%P(2,n1) = xrem(3,i+ideb)
1977 xfie(nin)%P(3,n1) = xrem(4,i+ideb)
1978 vfie(nin)%P(1,n1) = xrem(5,i+ideb)
1979 vfie(nin)%P(2,n1) = xrem(6,i+ideb)
1980 vfie(nin)%P(3,n1) = xrem(7,i+ideb)
1981 msfie(nin)%P(n1) = xrem(8,i+ideb)
1982 IF(ir4r8 == 2) THEN
1983 itafie(nin)%P(n1) = nint(xrem(9,i+ideb))
1984 ELSE
1985 itafie(nin)%P(n1) = irem(1,i+ideb)
1986 END IF
1987 xfie(nin)%P(1,n2) = xrem(10,i+ideb)
1988 xfie(nin)%P(2,n2) = xrem(11,i+ideb)
1989 xfie(nin)%P(3,n2) = xrem(12,i+ideb)
1990 vfie(nin)%P(1,n2) = xrem(13,i+ideb)
1991 vfie(nin)%P(2,n2) = xrem(14,i+ideb)
1992 vfie(nin)%P(3,n2) = xrem(15,i+ideb)
1993 msfie(nin)%P(n2) = xrem(16,i+ideb)
1994 IF(ir4r8 == 2) THEN
1995 itafie(nin)%P(n2) = nint(xrem(17,i+ideb))
1996 ELSE
1997 itafie(nin)%P(n2) = irem(2,i+ideb)
1998 END IF
1999 stifie(nin)%P(nn) = xrem(18,i+ideb)
2000 gapfie(nin)%P(nn) = xrem(19,i+ideb)
2001 penfie(nin)%P(1,nn) = xrem(20,i+ideb)
2002 penfie(nin)%P(2,nn) = xrem(21,i+ideb)
2003 penfiae(nin)%P(1,n1)= xrem(22,i+ideb)
2004 penfiae(nin)%P(2,n1)= xrem(23,i+ideb)
2005 penfiae(nin)%P(3,n1)= xrem(24,i+ideb)
2006 penfiae(nin)%P(4,n1)= xrem(25,i+ideb)
2007 penfiae(nin)%P(5,n1)= xrem(26,i+ideb)
2008 penfiae(nin)%P(1,n2)= xrem(27,i+ideb)
2009 penfiae(nin)%P(2,n2)= xrem(28,i+ideb)
2010 penfiae(nin)%P(3,n2)= xrem(29,i+ideb)
2011 penfiae(nin)%P(4,n2)= xrem(30,i+ideb)
2012 penfiae(nin)%P(5,n2)= xrem(31,i+ideb)
2013 ENDIF
2014 ENDDO
2015C /DT/NODA/AMS
2016 ELSE
2017 DO i = 1, oldnrtsr
2018 IF(xrem(1,i+ideb)<0) THEN
2019 nn = nn + 1
2020 index(i+ideb) = nn
2021 n1 = 2*(nn-1)+1
2022 n2 = 2*nn
2023 nsvfie(nin)%P(nn) = nint(-xrem(1,i+ideb))
2024 xfie(nin)%P(1,n1) = xrem(2,i+ideb)
2025 xfie(nin)%P(2,n1) = xrem(3,i+ideb)
2026 xfie(nin)%P(3,n1) = xrem(4,i+ideb)
2027 vfie(nin)%P(1,n1) = xrem(5,i+ideb)
2028 vfie(nin)%P(2,n1) = xrem(6,i+ideb)
2029 vfie(nin)%P(3,n1) = xrem(7,i+ideb)
2030 msfie(nin)%P(n1) = xrem(8,i+ideb)
2031 IF(ir4r8 == 2) THEN
2032 itafie(nin)%P(n1) = nint(xrem(9,i+ideb))
2033 ELSE
2034 itafie(nin)%P(n1) = irem(1,i+ideb)
2035 END IF
2036 xfie(nin)%P(1,n2) = xrem(10,i+ideb)
2037 xfie(nin)%P(2,n2) = xrem(11,i+ideb)
2038 xfie(nin)%P(3,n2) = xrem(12,i+ideb)
2039 vfie(nin)%P(1,n2) = xrem(13,i+ideb)
2040 vfie(nin)%P(2,n2) = xrem(14,i+ideb)
2041 vfie(nin)%P(3,n2) = xrem(15,i+ideb)
2042 msfie(nin)%P(n2) = xrem(16,i+ideb)
2043 IF(ir4r8 == 2) THEN
2044 itafie(nin)%P(n2) = nint(xrem(17,i+ideb))
2045 ELSE
2046 itafie(nin)%P(n2) = irem(2,i+ideb)
2047 END IF
2048 stifie(nin)%P(nn) = xrem(18,i+ideb)
2049 gapfie(nin)%P(nn) = xrem(19,i+ideb)
2050 penfie(nin)%P(1,nn) = xrem(20,i+ideb)
2051 penfie(nin)%P(2,nn) = xrem(21,i+ideb)
2052 penfiae(nin)%P(1,n1)= xrem(22,i+ideb)
2053 penfiae(nin)%P(2,n1)= xrem(23,i+ideb)
2054 penfiae(nin)%P(3,n1)= xrem(24,i+ideb)
2055 penfiae(nin)%P(4,n1)= xrem(25,i+ideb)
2056 penfiae(nin)%P(5,n1)= xrem(26,i+ideb)
2057 penfiae(nin)%P(1,n2)= xrem(27,i+ideb)
2058 penfiae(nin)%P(2,n2)= xrem(28,i+ideb)
2059 penfiae(nin)%P(3,n2)= xrem(29,i+ideb)
2060 penfiae(nin)%P(4,n2)= xrem(30,i+ideb)
2061 penfiae(nin)%P(5,n2)= xrem(31,i+ideb)
2062 diag_smsfie(nin)%P(n1) = xrem(32,i+ideb)
2063 diag_smsfie(nin)%P(n2) = xrem(33,i+ideb)
2064 ENDIF
2065 ENDDO
2066C fin /DT/NODA/AMS
2067 ENDIF
2068 ELSE
2069 IF(idtmins==0)THEN
2070 DO i = 1, oldnrtsr
2071 IF(xrem(1,i+ideb)<0) THEN
2072 nn = nn + 1
2073 index(i+ideb) = nn
2074 n1 = 2*(nn-1)+1
2075 n2 = 2*nn
2076 nsvfie(nin)%P(nn) = nint(-xrem(1,i+ideb))
2077 xfie(nin)%P(1,n1) = xrem(2,i+ideb)
2078 xfie(nin)%P(2,n1) = xrem(3,i+ideb)
2079 xfie(nin)%P(3,n1) = xrem(4,i+ideb)
2080 vfie(nin)%P(1,n1) = xrem(5,i+ideb)
2081 vfie(nin)%P(2,n1) = xrem(6,i+ideb)
2082 vfie(nin)%P(3,n1) = xrem(7,i+ideb)
2083 msfie(nin)%P(n1) = xrem(8,i+ideb)
2084 IF(ir4r8 == 2) THEN
2085 itafie(nin)%P(n1) = nint(xrem(9,i+ideb))
2086 ELSE
2087 itafie(nin)%P(n1) = irem(1,i+ideb)
2088 END IF
2089 xfie(nin)%P(1,n2) = xrem(10,i+ideb)
2090 xfie(nin)%P(2,n2) = xrem(11,i+ideb)
2091 xfie(nin)%P(3,n2) = xrem(12,i+ideb)
2092 vfie(nin)%P(1,n2) = xrem(13,i+ideb)
2093 vfie(nin)%P(2,n2) = xrem(14,i+ideb)
2094 vfie(nin)%P(3,n2) = xrem(15,i+ideb)
2095 msfie(nin)%P(n2) = xrem(16,i+ideb)
2096 IF(ir4r8 == 2) THEN
2097 itafie(nin)%P(n2) = nint(xrem(17,i+ideb))
2098 ELSE
2099 itafie(nin)%P(n2) = irem(2,i+ideb)
2100 END IF
2101 stifie(nin)%P(nn) = xrem(18,i+ideb)
2102 penfie(nin)%P(1,nn) = xrem(19,i+ideb)
2103 penfie(nin)%P(2,nn) = xrem(20,i+ideb)
2104 penfiae(nin)%P(1,n1)= xrem(21,i+ideb)
2105 penfiae(nin)%P(2,n1)= xrem(22,i+ideb)
2106 penfiae(nin)%P(3,n1)= xrem(23,i+ideb)
2107 penfiae(nin)%P(4,n1)= xrem(24,i+ideb)
2108 penfiae(nin)%P(5,n1)= xrem(25,i+ideb)
2109 penfiae(nin)%P(1,n2)= xrem(26,i+ideb)
2110 penfiae(nin)%P(2,n2)= xrem(27,i+ideb)
2111 penfiae(nin)%P(3,n2)= xrem(28,i+ideb)
2112 penfiae(nin)%P(4,n2)= xrem(29,i+ideb)
2113 penfiae(nin)%P(5,n2)= xrem(30,i+ideb)
2114 ENDIF
2115 ENDDO
2116C /DT/NODA/AMS
2117 ELSE
2118 DO i = 1, oldnrtsr
2119 IF(xrem(1,i+ideb)<0) THEN
2120 nn = nn + 1
2121 index(i+ideb) = nn
2122 n1 = 2*(nn-1)+1
2123 n2 = 2*nn
2124 nsvfie(nin)%P(nn) = nint(-xrem(1,i+ideb))
2125 xfie(nin)%P(1,n1) = xrem(2,i+ideb)
2126 xfie(nin)%P(2,n1) = xrem(3,i+ideb)
2127 xfie(nin)%P(3,n1) = xrem(4,i+ideb)
2128 vfie(nin)%P(1,n1) = xrem(5,i+ideb)
2129 vfie(nin)%P(2,n1) = xrem(6,i+ideb)
2130 vfie(nin)%P(3,n1) = xrem(7,i+ideb)
2131 msfie(nin)%P(n1) = xrem(8,i+ideb)
2132 IF(ir4r8 == 2) THEN
2133 itafie(nin)%P(n1) = nint(xrem(9,i+ideb))
2134 ELSE
2135 itafie(nin)%P(n1) = irem(1,i+ideb)
2136 END IF
2137 xfie(nin)%P(1,n2) = xrem(10,i+ideb)
2138 xfie(nin)%P(2,n2) = xrem(11,i+ideb)
2139 xfie(nin)%P(3,n2) = xrem(12,i+ideb)
2140 vfie(nin)%P(1,n2) = xrem(13,i+ideb)
2141 vfie(nin)%P(2,n2) = xrem(14,i+ideb)
2142 vfie(nin)%P(3,n2) = xrem(15,i+ideb)
2143 msfie(nin)%P(n2) = xrem(16,i+ideb)
2144 IF(ir4r8 == 2) THEN
2145 itafie(nin)%P(n2) = nint(xrem(17,i+ideb))
2146 ELSE
2147 itafie(nin)%P(n2) = irem(2,i+ideb)
2148 END IF
2149 stifie(nin)%P(nn) = xrem(18,i+ideb)
2150 penfie(nin)%P(1,nn) = xrem(19,i+ideb)
2151 penfie(nin)%P(2,nn) = xrem(20,i+ideb)
2152 penfiae(nin)%P(1,n1)= xrem(21,i+ideb)
2153 penfiae(nin)%P(2,n1)= xrem(22,i+ideb)
2154 penfiae(nin)%P(3,n1)= xrem(23,i+ideb)
2155 penfiae(nin)%P(4,n1)= xrem(24,i+ideb)
2156 penfiae(nin)%P(5,n1)= xrem(25,i+ideb)
2157 penfiae(nin)%P(1,n2)= xrem(26,i+ideb)
2158 penfiae(nin)%P(2,n2)= xrem(27,i+ideb)
2159 penfiae(nin)%P(3,n2)= xrem(28,i+ideb)
2160 penfiae(nin)%P(4,n2)= xrem(29,i+ideb)
2161 penfiae(nin)%P(5,n2)= xrem(30,i+ideb)
2162 diag_smsfie(nin)%P(n1) = xrem(31,i+ideb)
2163 diag_smsfie(nin)%P(n2) = xrem(32,i+ideb)
2164 ENDIF
2165 ENDDO
2166C fin /DT/NODA/AMS
2167 ENDIF
2168 END IF
2169 END IF
2170 ELSEIF(idtmins==2)THEN
2171C /DT/AMS
2172 IF(inacti/=5.AND.inacti/=6) THEN
2173 IF(igap/=0) THEN
2174 DO i = 1, oldnrtsr
2175 IF(xrem(1,i+ideb)<0) THEN
2176 nn = nn + 1
2177 index(i+ideb) = nn
2178 n1 = 2*(nn-1)+1
2179 n2 = 2*nn
2180 nsvfie(nin)%P(nn) = nint(-xrem(1,i+ideb))
2181 xfie(nin)%P(1,n1) = xrem(2,i+ideb)
2182 xfie(nin)%P(2,n1) = xrem(3,i+ideb)
2183 xfie(nin)%P(3,n1) = xrem(4,i+ideb)
2184 vfie(nin)%P(1,n1) = xrem(5,i+ideb)
2185 vfie(nin)%P(2,n1) = xrem(6,i+ideb)
2186 vfie(nin)%P(3,n1) = xrem(7,i+ideb)
2187 msfie(nin)%P(n1) = xrem(8,i+ideb)
2188 IF(ir4r8 == 2) THEN
2189 itafie(nin)%P(n1) = nint(xrem(9,i+ideb))
2190 ELSE
2191 itafie(nin)%P(n1) = irem(1,i+ideb)
2192 END IF
2193 xfie(nin)%P(1,n2) = xrem(10,i+ideb)
2194 xfie(nin)%P(2,n2) = xrem(11,i+ideb)
2195 xfie(nin)%P(3,n2) = xrem(12,i+ideb)
2196 vfie(nin)%P(1,n2) = xrem(13,i+ideb)
2197 vfie(nin)%P(2,n2) = xrem(14,i+ideb)
2198 vfie(nin)%P(3,n2) = xrem(15,i+ideb)
2199 msfie(nin)%P(n2) = xrem(16,i+ideb)
2200 IF(ir4r8 == 2) THEN
2201 itafie(nin)%P(n2) = nint(xrem(17,i+ideb))
2202 ELSE
2203 itafie(nin)%P(n2) = irem(2,i+ideb)
2204 END IF
2205 stifie(nin)%P(nn) = xrem(18,i+ideb)
2206 gapfie(nin)%P(nn) = xrem(19,i+ideb)
2207 diag_smsfie(nin)%P(n1) = xrem(20,i+ideb)
2208 diag_smsfie(nin)%P(n2) = xrem(21,i+ideb)
2209 nodnxfie(nin)%P(n1) = nint(xrem(22,i+ideb))
2210 nodamsfie(nin)%P(n1) = nint(xrem(23,i+ideb))
2211 procamsfie(nin)%P(n1) = p
2212 nodnxfie(nin)%P(n2) = nint(xrem(24,i+ideb))
2213 nodamsfie(nin)%P(n2) = nint(xrem(25,i+ideb))
2214 procamsfie(nin)%P(n2) = p
2215 END IF
2216 END DO
2217 ELSE
2218 DO i = 1, oldnrtsr
2219 IF(xrem(1,i+ideb)<0) THEN
2220 nn = nn + 1
2221 index(i+ideb) = nn
2222 n1 = 2*(nn-1)+1
2223 n2 = 2*nn
2224 nsvfie(nin)%P(nn) = nint(-xrem(1,i+ideb))
2225 xfie(nin)%P(1,n1) = xrem(2,i+ideb)
2226 xfie(nin)%P(2,n1) = xrem(3,i+ideb)
2227 xfie(nin)%P(3,n1) = xrem(4,i+ideb)
2228 vfie(nin)%P(1,n1) = xrem(5,i+ideb)
2229 vfie(nin)%P(2,n1) = xrem(6,i+ideb)
2230 vfie(nin)%P(3,n1) = xrem(7,i+ideb)
2231 msfie(nin)%P(n1) = xrem(8,i+ideb)
2232 IF(ir4r8 == 2) THEN
2233 itafie(nin)%P(n1) = nint(xrem(9,i+ideb))
2234 ELSE
2235 itafie(nin)%P(n1) = irem(1,i+ideb)
2236 END IF
2237 xfie(nin)%P(1,n2) = xrem(10,i+ideb)
2238 xfie(nin)%P(2,n2) = xrem(11,i+ideb)
2239 xfie(nin)%P(3,n2) = xrem(12,i+ideb)
2240 vfie(nin)%P(1,n2) = xrem(13,i+ideb)
2241 vfie(nin)%P(2,n2) = xrem(14,i+ideb)
2242 vfie(nin)%P(3,n2) = xrem(15,i+ideb)
2243 msfie(nin)%P(n2) = xrem(16,i+ideb)
2244 IF(ir4r8 == 2) THEN
2245 itafie(nin)%P(n2) = nint(xrem(17,i+ideb))
2246 ELSE
2247 itafie(nin)%P(n2) = irem(2,i+ideb)
2248 END IF
2249 stifie(nin)%P(nn) = xrem(18,i+ideb)
2250 diag_smsfie(nin)%P(n1) = xrem(19,i+ideb)
2251 diag_smsfie(nin)%P(n2) = xrem(20,i+ideb)
2252 nodnxfie(nin)%P(n1) = nint(xrem(21,i+ideb))
2253 nodamsfie(nin)%P(n1) = nint(xrem(22,i+ideb))
2254 procamsfie(nin)%P(n1) = p
2255 nodnxfie(nin)%P(n2) = nint(xrem(23,i+ideb))
2256 nodamsfie(nin)%P(n2) = nint(xrem(24,i+ideb))
2257 procamsfie(nin)%P(n2) = p
2258 END IF
2259 END DO
2260 END IF
2261 ELSE
2262 IF(igap/=0) THEN
2263 DO i = 1, oldnrtsr
2264 IF(xrem(1,i+ideb)<0) THEN
2265 nn = nn + 1
2266 index(i+ideb) = nn
2267 n1 = 2*(nn-1)+1
2268 n2 = 2*nn
2269 nsvfie(nin)%P(nn) = nint(-xrem(1,i+ideb))
2270 xfie(nin)%P(1,n1) = xrem(2,i+ideb)
2271 xfie(nin)%P(2,n1) = xrem(3,i+ideb)
2272 xfie(nin)%P(3,n1) = xrem(4,i+ideb)
2273 vfie(nin)%P(1,n1) = xrem(5,i+ideb)
2274 vfie(nin)%P(2,n1) = xrem(6,i+ideb)
2275 vfie(nin)%P(3,n1) = xrem(7,i+ideb)
2276 msfie(nin)%P(n1) = xrem(8,i+ideb)
2277 IF(ir4r8 == 2) THEN
2278 itafie(nin)%P(n1) = nint(xrem(9,i+ideb))
2279 ELSE
2280 itafie(nin)%P(n1) = irem(1,i+ideb)
2281 END IF
2282 xfie(nin)%P(1,n2) = xrem(10,i+ideb)
2283 xfie(nin)%P(2,n2) = xrem(11,i+ideb)
2284 xfie(nin)%P(3,n2) = xrem(12,i+ideb)
2285 vfie(nin)%P(1,n2) = xrem(13,i+ideb)
2286 vfie(nin)%P(2,n2) = xrem(14,i+ideb)
2287 vfie(nin)%P(3,n2) = xrem(15,i+ideb)
2288 msfie(nin)%P(n2) = xrem(16,i+ideb)
2289 IF(ir4r8 == 2) THEN
2290 itafie(nin)%P(n2) = nint(xrem(17,i+ideb))
2291 ELSE
2292 itafie(nin)%P(n2) = irem(2,i+ideb)
2293 END IF
2294 stifie(nin)%P(nn) = xrem(18,i+ideb)
2295 gapfie(nin)%P(nn) = xrem(19,i+ideb)
2296 penfie(nin)%P(1,nn) = xrem(20,i+ideb)
2297 penfie(nin)%P(2,nn) = xrem(21,i+ideb)
2298 penfiae(nin)%P(1,n1)= xrem(22,i+ideb)
2299 penfiae(nin)%P(2,n1)= xrem(23,i+ideb)
2300 penfiae(nin)%P(3,n1)= xrem(24,i+ideb)
2301 penfiae(nin)%P(4,n1)= xrem(25,i+ideb)
2302 penfiae(nin)%P(5,n1)= xrem(26,i+ideb)
2303 penfiae(nin)%P(1,n2)= xrem(27,i+ideb)
2304 penfiae(nin)%P(2,n2)= xrem(28,i+ideb)
2305 penfiae(nin)%P(3,n2)= xrem(29,i+ideb)
2306 penfiae(nin)%P(4,n2)= xrem(30,i+ideb)
2307 penfiae(nin)%P(5,n2)= xrem(31,i+ideb)
2308 diag_smsfie(nin)%P(n1) = xrem(32,i+ideb)
2309 diag_smsfie(nin)%P(n2) = xrem(33,i+ideb)
2310 nodnxfie(nin)%P(n1) = nint(xrem(34,i+ideb))
2311 nodamsfie(nin)%P(n1) = nint(xrem(35,i+ideb))
2312 procamsfie(nin)%P(n1) = p
2313 nodnxfie(nin)%P(n2) = nint(xrem(36,i+ideb))
2314 nodamsfie(nin)%P(n2) = nint(xrem(37,i+ideb))
2315 procamsfie(nin)%P(n2) = p
2316 ENDIF
2317 ENDDO
2318 ELSE
2319 DO i = 1, oldnrtsr
2320 IF(xrem(1,i+ideb)<0) THEN
2321 nn = nn + 1
2322 index(i+ideb) = nn
2323 n1 = 2*(nn-1)+1
2324 n2 = 2*nn
2325 nsvfie(nin)%P(nn) = nint(-xrem(1,i+ideb))
2326 xfie(nin)%P(1,n1) = xrem(2,i+ideb)
2327 xfie(nin)%P(2,n1) = xrem(3,i+ideb)
2328 xfie(nin)%P(3,n1) = xrem(4,i+ideb)
2329 vfie(nin)%P(1,n1) = xrem(5,i+ideb)
2330 vfie(nin)%P(2,n1) = xrem(6,i+ideb)
2331 vfie(nin)%P(3,n1) = xrem(7,i+ideb)
2332 msfie(nin)%P(n1) = xrem(8,i+ideb)
2333 IF(ir4r8 == 2) THEN
2334 itafie(nin)%P(n1) = nint(xrem(9,i+ideb))
2335 ELSE
2336 itafie(nin)%P(n1) = irem(1,i+ideb)
2337 END IF
2338 xfie(nin)%P(1,n2) = xrem(10,i+ideb)
2339 xfie(nin)%P(2,n2) = xrem(11,i+ideb)
2340 xfie(nin)%P(3,n2) = xrem(12,i+ideb)
2341 vfie(nin)%P(1,n2) = xrem(13,i+ideb)
2342 vfie(nin)%P(2,n2) = xrem(14,i+ideb)
2343 vfie(nin)%P(3,n2) = xrem(15,i+ideb)
2344 msfie(nin)%P(n2) = xrem(16,i+ideb)
2345 IF(ir4r8 == 2) THEN
2346 itafie(nin)%P(n2) = nint(xrem(17,i+ideb))
2347 ELSE
2348 itafie(nin)%P(n2) = irem(2,i+ideb)
2349 END IF
2350 stifie(nin)%P(nn) = xrem(18,i+ideb)
2351 penfie(nin)%P(1,nn) = xrem(19,i+ideb)
2352 penfie(nin)%P(2,nn) = xrem(20,i+ideb)
2353 penfiae(nin)%P(1,n1)= xrem(21,i+ideb)
2354 penfiae(nin)%P(2,n1)= xrem(22,i+ideb)
2355 penfiae(nin)%P(3,n1)= xrem(23,i+ideb)
2356 penfiae(nin)%P(4,n1)= xrem(24,i+ideb)
2357 penfiae(nin)%P(5,n1)= xrem(25,i+ideb)
2358 penfiae(nin)%P(1,n2)= xrem(26,i+ideb)
2359 penfiae(nin)%P(2,n2)= xrem(27,i+ideb)
2360 penfiae(nin)%P(3,n2)= xrem(28,i+ideb)
2361 penfiae(nin)%P(4,n2)= xrem(29,i+ideb)
2362 penfiae(nin)%P(5,n2)= xrem(30,i+ideb)
2363 diag_smsfie(nin)%P(n1) = xrem(31,i+ideb)
2364 diag_smsfie(nin)%P(n2) = xrem(32,i+ideb)
2365 nodnxfie(nin)%P(n1) = nint(xrem(33,i+ideb))
2366 nodamsfie(nin)%P(n1) = nint(xrem(34,i+ideb))
2367 procamsfie(nin)%P(n1) = p
2368 nodnxfie(nin)%P(n2) = nint(xrem(35,i+ideb))
2369 nodamsfie(nin)%P(n2) = nint(xrem(36,i+ideb))
2370 procamsfie(nin)%P(n2) = p
2371 ENDIF
2372 ENDDO
2373 END IF
2374 END IF
2375C fin /DT/AMS
2376 ELSE ! IDTMINS_INT/=0
2377C /DT/INTER/AMS
2378 IF(inacti/=5.AND.inacti/=6) THEN
2379 IF(igap/=0) THEN
2380 DO i = 1, oldnrtsr
2381 IF(xrem(1,i+ideb)<0) THEN
2382 nn = nn + 1
2383 index(i+ideb) = nn
2384 n1 = 2*(nn-1)+1
2385 n2 = 2*nn
2386 nsvfie(nin)%P(nn) = nint(-xrem(1,i+ideb))
2387 xfie(nin)%P(1,n1) = xrem(2,i+ideb)
2388 xfie(nin)%P(2,n1) = xrem(3,i+ideb)
2389 xfie(nin)%P(3,n1) = xrem(4,i+ideb)
2390 vfie(nin)%P(1,n1) = xrem(5,i+ideb)
2391 vfie(nin)%P(2,n1) = xrem(6,i+ideb)
2392 vfie(nin)%P(3,n1) = xrem(7,i+ideb)
2393 msfie(nin)%P(n1) = xrem(8,i+ideb)
2394 IF(ir4r8 == 2) THEN
2395 itafie(nin)%P(n1) = nint(xrem(9,i+ideb))
2396 ELSE
2397 itafie(nin)%P(n1) = irem(1,i+ideb)
2398 END IF
2399 xfie(nin)%P(1,n2) = xrem(10,i+ideb)
2400 xfie(nin)%P(2,n2) = xrem(11,i+ideb)
2401 xfie(nin)%P(3,n2) = xrem(12,i+ideb)
2402 vfie(nin)%P(1,n2) = xrem(13,i+ideb)
2403 vfie(nin)%P(2,n2) = xrem(14,i+ideb)
2404 vfie(nin)%P(3,n2) = xrem(15,i+ideb)
2405 msfie(nin)%P(n2) = xrem(16,i+ideb)
2406 IF(ir4r8 == 2) THEN
2407 itafie(nin)%P(n2) = nint(xrem(17,i+ideb))
2408 ELSE
2409 itafie(nin)%P(n2) = irem(2,i+ideb)
2410 END IF
2411 stifie(nin)%P(nn) = xrem(18,i+ideb)
2412 gapfie(nin)%P(nn) = xrem(19,i+ideb)
2413 diag_smsfie(nin)%P(n1) = xrem(20,i+ideb)
2414 diag_smsfie(nin)%P(n2) = xrem(21,i+ideb)
2415 nodamsfie(nin)%P(n1) = nint(xrem(22,i+ideb))
2416 procamsfie(nin)%P(n1) = p
2417 nodamsfie(nin)%P(n2) = nint(xrem(23,i+ideb))
2418 procamsfie(nin)%P(n2) = p
2419 END IF
2420 END DO
2421 ELSE
2422 DO i = 1, oldnrtsr
2423 IF(xrem(1,i+ideb)<0) THEN
2424 nn = nn + 1
2425 index(i+ideb) = nn
2426 n1 = 2*(nn-1)+1
2427 n2 = 2*nn
2428 nsvfie(nin)%P(nn) = nint(-xrem(1,i+ideb))
2429 xfie(nin)%P(1,n1) = xrem(2,i+ideb)
2430 xfie(nin)%P(2,n1) = xrem(3,i+ideb)
2431 xfie(nin)%P(3,n1) = xrem(4,i+ideb)
2432 vfie(nin)%P(1,n1) = xrem(5,i+ideb)
2433 vfie(nin)%P(2,n1) = xrem(6,i+ideb)
2434 vfie(nin)%P(3,n1) = xrem(7,i+ideb)
2435 msfie(nin)%P(n1) = xrem(8,i+ideb)
2436 IF(ir4r8 == 2) THEN
2437 itafie(nin)%P(n1) = nint(xrem(9,i+ideb))
2438 ELSE
2439 itafie(nin)%P(n1) = irem(1,i+ideb)
2440 END IF
2441 xfie(nin)%P(1,n2) = xrem(10,i+ideb)
2442 xfie(nin)%P(2,n2) = xrem(11,i+ideb)
2443 xfie(nin)%P(3,n2) = xrem(12,i+ideb)
2444 vfie(nin)%P(1,n2) = xrem(13,i+ideb)
2445 vfie(nin)%P(2,n2) = xrem(14,i+ideb)
2446 vfie(nin)%P(3,n2) = xrem(15,i+ideb)
2447 msfie(nin)%P(n2) = xrem(16,i+ideb)
2448 IF(ir4r8 == 2) THEN
2449 itafie(nin)%P(n2) = nint(xrem(17,i+ideb))
2450 ELSE
2451 itafie(nin)%P(n2) = irem(2,i+ideb)
2452 END IF
2453 stifie(nin)%P(nn) = xrem(18,i+ideb)
2454 diag_smsfie(nin)%P(n1) = xrem(19,i+ideb)
2455 diag_smsfie(nin)%P(n2) = xrem(20,i+ideb)
2456 nodamsfie(nin)%P(n1) = nint(xrem(21,i+ideb))
2457 procamsfie(nin)%P(n1) = p
2458 nodamsfie(nin)%P(n2) = nint(xrem(22,i+ideb))
2459 procamsfie(nin)%P(n2) = p
2460 END IF
2461 END DO
2462 END IF
2463 ELSE
2464 IF(igap/=0) THEN
2465 DO i = 1, oldnrtsr
2466 IF(xrem(1,i+ideb)<0) THEN
2467 nn = nn + 1
2468 index(i+ideb) = nn
2469 n1 = 2*(nn-1)+1
2470 n2 = 2*nn
2471 nsvfie(nin)%P(nn) = nint(-xrem(1,i+ideb))
2472 xfie(nin)%P(1,n1) = xrem(2,i+ideb)
2473 xfie(nin)%P(2,n1) = xrem(3,i+ideb)
2474 xfie(nin)%P(3,n1) = xrem(4,i+ideb)
2475 vfie(nin)%P(1,n1) = xrem(5,i+ideb)
2476 vfie(nin)%P(2,n1) = xrem(6,i+ideb)
2477 vfie(nin)%P(3,n1) = xrem(7,i+ideb)
2478 msfie(nin)%P(n1) = xrem(8,i+ideb)
2479 IF(ir4r8 == 2) THEN
2480 itafie(nin)%P(n1) = nint(xrem(9,i+ideb))
2481 ELSE
2482 itafie(nin)%P(n1) = irem(1,i+ideb)
2483 END IF
2484 xfie(nin)%P(1,n2) = xrem(10,i+ideb)
2485 xfie(nin)%P(2,n2) = xrem(11,i+ideb)
2486 xfie(nin)%P(3,n2) = xrem(12,i+ideb)
2487 vfie(nin)%P(1,n2) = xrem(13,i+ideb)
2488 vfie(nin)%P(2,n2) = xrem(14,i+ideb)
2489 vfie(nin)%P(3,n2) = xrem(15,i+ideb)
2490 msfie(nin)%P(n2) = xrem(16,i+ideb)
2491 IF(ir4r8 == 2) THEN
2492 itafie(nin)%P(n2) = nint(xrem(17,i+ideb))
2493 ELSE
2494 itafie(nin)%P(n2) = irem(2,i+ideb)
2495 END IF
2496 stifie(nin)%P(nn) = xrem(18,i+ideb)
2497 gapfie(nin)%P(nn) = xrem(19,i+ideb)
2498 penfie(nin)%P(1,nn) = xrem(20,i+ideb)
2499 penfie(nin)%P(2,nn) = xrem(21,i+ideb)
2500 penfiae(nin)%P(1,n1)= xrem(22,i+ideb)
2501 penfiae(nin)%P(2,n1)= xrem(23,i+ideb)
2502 penfiae(nin)%P(3,n1)= xrem(24,i+ideb)
2503 penfiae(nin)%P(4,n1)= xrem(25,i+ideb)
2504 penfiae(nin)%P(5,n1)= xrem(26,i+ideb)
2505 penfiae(nin)%P(1,n2)= xrem(27,i+ideb)
2506 penfiae(nin)%P(2,n2)= xrem(28,i+ideb)
2507 penfiae(nin)%P(3,n2)= xrem(29,i+ideb)
2508 penfiae(nin)%P(4,n2)= xrem(30,i+ideb)
2509 penfiae(nin)%P(5,n2)= xrem(31,i+ideb)
2510 diag_smsfie(nin)%P(n1) = xrem(32,i+ideb)
2511 diag_smsfie(nin)%P(n2) = xrem(33,i+ideb)
2512 nodamsfie(nin)%P(n1) = nint(xrem(34,i+ideb))
2513 procamsfie(nin)%P(n1) = p
2514 nodamsfie(nin)%P(n2) = nint(xrem(35,i+ideb))
2515 procamsfie(nin)%P(n2) = p
2516 ENDIF
2517 ENDDO
2518 ELSE
2519 DO i = 1, oldnrtsr
2520 IF(xrem(1,i+ideb)<0) THEN
2521 nn = nn + 1
2522 index(i+ideb) = nn
2523 n1 = 2*(nn-1)+1
2524 n2 = 2*nn
2525 nsvfie(nin)%P(nn) = nint(-xrem(1,i+ideb))
2526 xfie(nin)%P(1,n1) = xrem(2,i+ideb)
2527 xfie(nin)%P(2,n1) = xrem(3,i+ideb)
2528 xfie(nin)%P(3,n1) = xrem(4,i+ideb)
2529 vfie(nin)%P(1,n1) = xrem(5,i+ideb)
2530 vfie(nin)%P(2,n1) = xrem(6,i+ideb)
2531 vfie(nin)%P(3,n1) = xrem(7,i+ideb)
2532 msfie(nin)%P(n1) = xrem(8,i+ideb)
2533 IF(ir4r8 == 2) THEN
2534 itafie(nin)%P(n1) = nint(xrem(9,i+ideb))
2535 ELSE
2536 itafie(nin)%P(n1) = irem(1,i+ideb)
2537 END IF
2538 xfie(nin)%P(1,n2) = xrem(10,i+ideb)
2539 xfie(nin)%P(2,n2) = xrem(11,i+ideb)
2540 xfie(nin)%P(3,n2) = xrem(12,i+ideb)
2541 vfie(nin)%P(1,n2) = xrem(13,i+ideb)
2542 vfie(nin)%P(2,n2) = xrem(14,i+ideb)
2543 vfie(nin)%P(3,n2) = xrem(15,i+ideb)
2544 msfie(nin)%P(n2) = xrem(16,i+ideb)
2545 IF(ir4r8 == 2) THEN
2546 itafie(nin)%P(n2) = nint(xrem(17,i+ideb))
2547 ELSE
2548 itafie(nin)%P(n2) = irem(2,i+ideb)
2549 END IF
2550 stifie(nin)%P(nn) = xrem(18,i+ideb)
2551 penfie(nin)%P(1,nn) = xrem(19,i+ideb)
2552 penfie(nin)%P(2,nn) = xrem(20,i+ideb)
2553 penfiae(nin)%P(1,n1)= xrem(21,i+ideb)
2554 penfiae(nin)%P(2,n1)= xrem(22,i+ideb)
2555 penfiae(nin)%P(3,n1)= xrem(23,i+ideb)
2556 penfiae(nin)%P(4,n1)= xrem(24,i+ideb)
2557 penfiae(nin)%P(5,n1)= xrem(25,i+ideb)
2558 penfiae(nin)%P(1,n2)= xrem(26,i+ideb)
2559 penfiae(nin)%P(2,n2)= xrem(27,i+ideb)
2560 penfiae(nin)%P(3,n2)= xrem(28,i+ideb)
2561 penfiae(nin)%P(4,n2)= xrem(29,i+ideb)
2562 penfiae(nin)%P(5,n2)= xrem(30,i+ideb)
2563 diag_smsfie(nin)%P(n1) = xrem(31,i+ideb)
2564 diag_smsfie(nin)%P(n2) = xrem(32,i+ideb)
2565 nodamsfie(nin)%P(n1) = nint(xrem(33,i+ideb))
2566 procamsfie(nin)%P(n1) = p
2567 nodamsfie(nin)%P(n2) = nint(xrem(34,i+ideb))
2568 procamsfie(nin)%P(n2) = p
2569 ENDIF
2570 ENDDO
2571 END IF
2572 END IF
2573C fin /DT/INTER/AMS
2574 END IF
2575 ideb = ideb + oldnrtsr
2576 nsnfie(nin)%P(p) = nn-nnp
2577 END IF
2578 ENDDO
2579C facteur 2 car 2 noeuds par segment => pris en compte au niveau
2580C de la 1ere dimension allouee
2581 lskyfi = nn*multimax
2582C nrtsr nouveau utile pour inacti et noeuds encrage
2583 nrtsr = nn
2584 ENDIF
2585C
2586C Deallocation de XREM
2587C
2588 IF(ALLOCATED(xrem)) DEALLOCATE(xrem)
2589 IF(ir4r8==1)THEN
2590 IF(ALLOCATED(irem)) DEALLOCATE(irem)
2591 END IF
2592C
2593 ierror1=0
2594 ierror2=0
2595 ierror3=0
2596C
2597C Allocation Parith/OFF
2598C
2599 IF(iparit==0) THEN
2600 IF(ASSOCIATED(afie(nin)%P)) DEALLOCATE(afie(nin)%P)
2601 IF(ASSOCIATED(stnfie(nin)%P)) DEALLOCATE(stnfie(nin)%P)
2602 IF(nodfi>0)ALLOCATE(afie(nin)%P(3,nodfi*nthread),stat=ierror1)
2603 IF(nodfi>0)ALLOCATE(stnfie(nin)%P(nodfi*nthread),stat=ierror2)
2604C Init a 0
2605 DO i = 1, nodfi*nthread
2606 afie(nin)%P(1,i) = zero
2607 afie(nin)%P(2,i) = zero
2608 afie(nin)%P(3,i) = zero
2609 stnfie(nin)%P(i) = zero
2610 ENDDO
2611C
2612 IF(kdtint/=0)THEN
2613 IF(ASSOCIATED(vscfie(nin)%P)) DEALLOCATE(vscfie(nin)%P)
2614 IF(nodfi>0)ALLOCATE(vscfie(nin)%P(nodfi*nthread),stat=ierror3)
2615C Init a 0
2616 DO i = 1, nodfi*nthread
2617 vscfie(nin)%P(i) = zero
2618 ENDDO
2619 ENDIF
2620C
2621 nlskyfie(nin) = nodfi
2622C
2623 ELSE
2624C
2625C Allocation Parith/ON
2626C
2627 IF(ASSOCIATED(fskyfie(nin)%P)) DEALLOCATE(fskyfie(nin)%P)
2628 IF(ASSOCIATED(iskyfie(nin)%P)) DEALLOCATE(iskyfie(nin)%P)
2629 nlskyfie(nin) = lskyfi
2630 IF(lskyfi>0) THEN
2631 ALLOCATE(iskyfie(nin)%P(lskyfi),stat=ierror1)
2632 IF(kdtint==0) THEN
2633C facteur 2 pour stocker les 2 noeuds
2634 ALLOCATE(fskyfie(nin)%P(8,lskyfi),stat=ierror2)
2635 ELSE
2636 ALLOCATE(fskyfie(nin)%P(10,lskyfi),stat=ierror2)
2637 ENDIF
2638 ENDIF
2639 ENDIF
2640C
2641C allocations specifiques interface type20
2642C
2643 IF(ASSOCIATED(daanc6fie(nin)%P)) DEALLOCATE(daanc6fie(nin)%P)
2644 ALLOCATE(daanc6fie(nin)%P(3,6,nodfi),stat=ierror1)
2645 IF(ASSOCIATED(dxancfie(nin)%P)) DEALLOCATE(dxancfie(nin)%P)
2646 ALLOCATE(dxancfie(nin)%P(3,nodfi),stat=ierror2)
2647 IF(ASSOCIATED(dvancfie(nin)%P)) DEALLOCATE(dvancfie(nin)%P)
2648 ALLOCATE(dvancfie(nin)%P(3,nodfi),stat=ierror3)
2649 IF(ASSOCIATED(alphakfie(nin)%P)) DEALLOCATE(alphakfie(nin)%P)
2650 ALLOCATE(alphakfie(nin)%P(nodfi),stat=ierror4)
2651 IF(ASSOCIATED(daancfie(nin)%P)) DEALLOCATE(daancfie(nin)%P)
2652 ALLOCATE(daancfie(nin)%P(3,nodfi),stat=ierror4)
2653
2654 IF(ierror1+ierror2+ierror3+ierror4/=0) THEN
2655 CALL ancmsg(msgid=20,anmode=aninfo)
2656 CALL arret(2)
2657 ENDIF
2658 DO k = 1, nodfi
2659 DO i = 1, 3
2660 DO j = 1, 6
2661 daanc6fie(nin)%P(i,j,k) = zero
2662 END DO
2663 END DO
2664 alphakfie(nin)%P(k) = one
2665 END DO
2666
2667 daancfie(nin)%P(1:3,1:nodfi) = zero
2668C
2669 IF(ierror1+ierror2+ierror3/=0) THEN
2670 CALL ancmsg(msgid=20,anmode=aninfo)
2671 CALL arret(2)
2672 ENDIF
2673C
2674C Renumerotation des candidats
2675C
2676 DO i = 1, i_stok
2677 n = cand_s(i)
2678 nn = n-nrts
2679 IF(nn>0)THEN
2680 cand_s(i) = index(nn)+nrts
2681 ENDIF
2682 ENDDO
2683C
2684 RETURN
2685 END
2686C
2687!||====================================================================
2688!|| spmd_tri17gat ../engine/source/mpi/interfaces/spmd_i7crit.F
2689!||--- called by ------------------------------------------------------
2690!|| i17main_tri ../engine/source/interfaces/int17/i17main_pena.f
2691!||--- calls -----------------------------------------------------
2692!|| ancmsg ../engine/source/output/message/message.F
2693!|| arret ../engine/source/system/arret.f
2694!||--- uses -----------------------------------------------------
2695!|| message_mod ../engine/share/message_module/message_mod.F
2696!|| tri7box ../engine/share/modules/tri7box.F
2697!||====================================================================
2698 SUBROUTINE spmd_tri17gat(RESULT,NMES ,CAND_N ,I_STOK,NIN,
2699 2 NMESR )
2700C-----------------------------------------------
2701C M o d u l e s
2702C-----------------------------------------------
2703 USE tri7box
2704 USE message_mod
2705C-----------------------------------------------
2706C I m p l i c i t T y p e s
2707C-----------------------------------------------
2708#include "implicit_f.inc"
2709C-----------------------------------------------
2710C M e s s a g e P a s s i n g
2711C-----------------------------------------------
2712#ifdef MPI
2713#endif
2714C-----------------------------------------------
2715C C o m m o n B l o c k s
2716C-----------------------------------------------
2717#include "com01_c.inc"
2718#include "task_c.inc"
2719#include "parit_c.inc"
2720#include "spmd_c.inc"
2721C-----------------------------------------------
2722C D u m m y A r g u m e n t s
2723C-----------------------------------------------
2724 INTEGER RESULT, NIN, NMES, I_STOK, INACTI, NMESR,
2725 . CAND_N(*)
2726C-----------------------------------------------
2727C L o c a l V a r i a b l e s
2728C-----------------------------------------------
2729 INTEGER OLDNRTSR,ELEMFI,NNP,LSKYFI,
2730 . NOD, LOC_PROC, I, N, NN, P, IDEB, N1, N2,
2731 . IERROR1,IERROR2,IERROR3,IERROR4,IERROR5,IERROR6,IERROR7,
2732 . IERROR8,
2733 . index(nmesr)
2734C-----------------------------------------------
2735C S o u r c e L i n e s
2736C-----------------------------------------------
2737 loc_proc = ispmd + 1
2738C
2739C Test succes du tri ?
2740C
2741 elemfi = 0
2742 IF(result==0) THEN
2743C
2744C Reperage des candidats
2745C
2746 DO i = 1, i_stok
2747 n = cand_n(i)
2748 nn = n-nmes
2749 IF(nn>0)THEN
2750 IF(xrem(7,nn)>0)THEN
2751 elemfi = elemfi + 1
2752 xrem(7,nn) = -xrem(7,nn)
2753 ENDIF
2754 ENDIF
2755 ENDDO
2756C
2757C Allocation des tableaux de frontieres interfaces
2758C
2759 IF(ASSOCIATED(nsvfi(nin)%P)) DEALLOCATE(nsvfi(nin)%P)
2760 ALLOCATE(nsvfi(nin)%P(elemfi),stat=ierror1)
2761 IF(ASSOCIATED(xfi17(nin)%P)) DEALLOCATE(xfi17(nin)%P)
2762 ALLOCATE(xfi17(nin)%P(3,16,elemfi),stat=ierror2)
2763 IF(ASSOCIATED(vfi17(nin)%P)) DEALLOCATE(vfi17(nin)%P)
2764 ALLOCATE(vfi17(nin)%P(3,16,elemfi),stat=ierror3)
2765 IF(ASSOCIATED(frotsfi(nin)%P)) DEALLOCATE(frotsfi(nin)%P)
2766 ALLOCATE(frotsfi(nin)%P(7,elemfi),stat=ierror4)
2767 IF(ASSOCIATED(ksfi(nin)%P)) DEALLOCATE(ksfi(nin)%P)
2768 ALLOCATE(ksfi(nin)%P(2,elemfi),stat=ierror5)
2769 IF(ASSOCIATED(eminxfi(nin)%P)) DEALLOCATE(eminxfi(nin)%P)
2770 ALLOCATE(eminxfi(nin)%P(6,elemfi),stat=ierror6)
2771C
2772 IF(ierror1+ierror2+ierror3+ierror4+ierror5+ierror6/=0) THEN
2773 CALL ancmsg(msgid=20,anmode=aninfo)
2774 CALL arret(2)
2775 ENDIF
2776C
2777C Compactage des candidats
2778C
2779 ideb = 0
2780 nn = 0
2781 DO p = 1, nspmd
2782 oldnrtsr = nsnfi(nin)%P(p)
2783 IF(oldnrtsr/=0) THEN
2784 nnp = nn
2785 DO i = 1, oldnrtsr
2786 IF(xrem(7,i+ideb)<0) THEN
2787 nn = nn + 1
2788 index(i+ideb) = nn
2789 eminxfi(nin)%P(1,nn) = xrem(1,i+ideb)
2790 eminxfi(nin)%P(2,nn) = xrem(2,i+ideb)
2791 eminxfi(nin)%P(3,nn) = xrem(3,i+ideb)
2792 eminxfi(nin)%P(4,nn) = xrem(4,i+ideb)
2793 eminxfi(nin)%P(5,nn) = xrem(5,i+ideb)
2794 eminxfi(nin)%P(6,nn) = xrem(6,i+ideb)
2795C
2796 nsvfi(nin)%P(nn) = nint(-xrem(7,i+ideb))
2797C
2798 xfi17(nin)%P(1,1,nn) = xrem(8,i+ideb)
2799 xfi17(nin)%P(2,1,nn) = xrem(9,i+ideb)
2800 xfi17(nin)%P(3,1,nn) = xrem(10,i+ideb)
2801 vfi17(nin)%P(1,1,nn) = xrem(11,i+ideb)
2802 vfi17(nin)%P(2,1,nn) = xrem(12,i+ideb)
2803 vfi17(nin)%P(3,1,nn) = xrem(13,i+ideb)
2804 xfi17(nin)%P(1,2,nn) = xrem(14,i+ideb)
2805 xfi17(nin)%P(2,2,nn) = xrem(15,i+ideb)
2806 xfi17(nin)%P(3,2,nn) = xrem(16,i+ideb)
2807 vfi17(nin)%P(1,2,nn) = xrem(17,i+ideb)
2808 vfi17(nin)%P(2,2,nn) = xrem(18,i+ideb)
2809 vfi17(nin)%P(3,2,nn) = xrem(19,i+ideb)
2810 xfi17(nin)%P(1,3,nn) = xrem(20,i+ideb)
2811 xfi17(nin)%P(2,3,nn) = xrem(21,i+ideb)
2812 xfi17(nin)%P(3,3,nn) = xrem(22,i+ideb)
2813 vfi17(nin)%P(1,3,nn) = xrem(23,i+ideb)
2814 vfi17(nin)%P(2,3,nn) = xrem(24,i+ideb)
2815 vfi17(nin)%P(3,3,nn) = xrem(25,i+ideb)
2816 xfi17(nin)%P(1,4,nn) = xrem(26,i+ideb)
2817 xfi17(nin)%P(2,4,nn) = xrem(27,i+ideb)
2818 xfi17(nin)%P(3,4,nn) = xrem(28,i+ideb)
2819 vfi17(nin)%P(1,4,nn) = xrem(29,i+ideb)
2820 vfi17(nin)%P(2,4,nn) = xrem(30,i+ideb)
2821 vfi17(nin)%P(3,4,nn) = xrem(31,i+ideb)
2822 xfi17(nin)%P(1,5,nn) = xrem(32,i+ideb)
2823 xfi17(nin)%P(2,5,nn) = xrem(33,i+ideb)
2824 xfi17(nin)%P(3,5,nn) = xrem(34,i+ideb)
2825 vfi17(nin)%P(1,5,nn) = xrem(35,i+ideb)
2826 vfi17(nin)%P(2,5,nn) = xrem(36,i+ideb)
2827 vfi17(nin)%P(3,5,nn) = xrem(37,i+ideb)
2828 xfi17(nin)%P(1,6,nn) = xrem(38,i+ideb)
2829 xfi17(nin)%P(2,6,nn) = xrem(39,i+ideb)
2830 xfi17(nin)%P(3,6,nn) = xrem(40,i+ideb)
2831 vfi17(nin)%P(1,6,nn) = xrem(41,i+ideb)
2832 vfi17(nin)%P(2,6,nn) = xrem(42,i+ideb)
2833 vfi17(nin)%P(3,6,nn) = xrem(43,i+ideb)
2834 xfi17(nin)%P(1,7,nn) = xrem(44,i+ideb)
2835 xfi17(nin)%P(2,7,nn) = xrem(45,i+ideb)
2836 xfi17(nin)%P(3,7,nn) = xrem(46,i+ideb)
2837 vfi17(nin)%P(1,7,nn) = xrem(47,i+ideb)
2838 vfi17(nin)%P(2,7,nn) = xrem(48,i+ideb)
2839 vfi17(nin)%P(3,7,nn) = xrem(49,i+ideb)
2840 xfi17(nin)%P(1,8,nn) = xrem(50,i+ideb)
2841 xfi17(nin)%P(2,8,nn) = xrem(51,i+ideb)
2842 xfi17(nin)%P(3,8,nn) = xrem(52,i+ideb)
2843 vfi17(nin)%P(1,8,nn) = xrem(53,i+ideb)
2844 vfi17(nin)%P(2,8,nn) = xrem(54,i+ideb)
2845 vfi17(nin)%P(3,8,nn) = xrem(55,i+ideb)
2846 xfi17(nin)%P(1,9,nn) = xrem(56,i+ideb)
2847 xfi17(nin)%P(2,9,nn) = xrem(57,i+ideb)
2848 xfi17(nin)%P(3,9,nn) = xrem(58,i+ideb)
2849 vfi17(nin)%P(1,9,nn) = xrem(59,i+ideb)
2850 vfi17(nin)%P(2,9,nn) = xrem(60,i+ideb)
2851 vfi17(nin)%P(3,9,nn) = xrem(61,i+ideb)
2852 xfi17(nin)%P(1,10,nn) = xrem(62,i+ideb)
2853 xfi17(nin)%P(2,10,nn) = xrem(63,i+ideb)
2854 xfi17(nin)%P(3,10,nn) = xrem(64,i+ideb)
2855 vfi17(nin)%P(1,10,nn) = xrem(65,i+ideb)
2856 vfi17(nin)%P(2,10,nn) = xrem(66,i+ideb)
2857 vfi17(nin)%P(3,10,nn) = xrem(67,i+ideb)
2858 xfi17(nin)%P(1,11,nn) = xrem(68,i+ideb)
2859 xfi17(nin)%P(2,11,nn) = xrem(69,i+ideb)
2860 xfi17(nin)%P(3,11,nn) = xrem(70,i+ideb)
2861 vfi17(nin)%P(1,11,nn) = xrem(71,i+ideb)
2862 vfi17(nin)%P(2,11,nn) = xrem(72,i+ideb)
2863 vfi17(nin)%P(3,11,nn) = xrem(73,i+ideb)
2864 xfi17(nin)%P(1,12,nn) = xrem(74,i+ideb)
2865 xfi17(nin)%P(2,12,nn) = xrem(75,i+ideb)
2866 xfi17(nin)%P(3,12,nn) = xrem(76,i+ideb)
2867 vfi17(nin)%P(1,12,nn) = xrem(77,i+ideb)
2868 vfi17(nin)%P(2,12,nn) = xrem(78,i+ideb)
2869 vfi17(nin)%P(3,12,nn) = xrem(79,i+ideb)
2870 xfi17(nin)%P(1,13,nn) = xrem(80,i+ideb)
2871 xfi17(nin)%P(2,13,nn) = xrem(81,i+ideb)
2872 xfi17(nin)%P(3,13,nn) = xrem(82,i+ideb)
2873 vfi17(nin)%P(1,13,nn) = xrem(83,i+ideb)
2874 vfi17(nin)%P(2,13,nn) = xrem(84,i+ideb)
2875 vfi17(nin)%P(3,13,nn) = xrem(85,i+ideb)
2876 xfi17(nin)%P(1,14,nn) = xrem(86,i+ideb)
2877 xfi17(nin)%P(2,14,nn) = xrem(87,i+ideb)
2878 xfi17(nin)%P(3,14,nn) = xrem(88,i+ideb)
2879 vfi17(nin)%P(1,14,nn) = xrem(89,i+ideb)
2880 vfi17(nin)%P(2,14,nn) = xrem(90,i+ideb)
2881 vfi17(nin)%P(3,14,nn) = xrem(91,i+ideb)
2882 xfi17(nin)%P(1,15,nn) = xrem(92,i+ideb)
2883 xfi17(nin)%P(2,15,nn) = xrem(93,i+ideb)
2884 xfi17(nin)%P(3,15,nn) = xrem(94,i+ideb)
2885 vfi17(nin)%P(1,15,nn) = xrem(95,i+ideb)
2886 vfi17(nin)%P(2,15,nn) = xrem(96,i+ideb)
2887 vfi17(nin)%P(3,15,nn) = xrem(97,i+ideb)
2888 xfi17(nin)%P(1,16,nn) = xrem(98,i+ideb)
2889 xfi17(nin)%P(2,16,nn) = xrem(99,i+ideb)
2890 xfi17(nin)%P(3,16,nn) = xrem(100,i+ideb)
2891 vfi17(nin)%P(1,16,nn) = xrem(101,i+ideb)
2892 vfi17(nin)%P(2,16,nn) = xrem(102,i+ideb)
2893 vfi17(nin)%P(3,16,nn) = xrem(103,i+ideb)
2894C
2895 frotsfi(nin)%P(1,nn) = xrem(104,i+ideb)
2896 frotsfi(nin)%P(2,nn) = xrem(105,i+ideb)
2897 frotsfi(nin)%P(3,nn) = xrem(106,i+ideb)
2898 frotsfi(nin)%P(4,nn) = xrem(107,i+ideb)
2899 frotsfi(nin)%P(5,nn) = xrem(108,i+ideb)
2900 frotsfi(nin)%P(6,nn) = xrem(109,i+ideb)
2901 frotsfi(nin)%P(7,nn) = xrem(110,i+ideb)
2902C
2903 ksfi(nin)%P(1,nn) = xrem(111,i+ideb)
2904 ksfi(nin)%P(2,nn) = xrem(112,i+ideb)
2905C
2906 END IF
2907 END DO
2908 ideb = ideb + oldnrtsr
2909 nsnfi(nin)%P(p) = nn-nnp
2910 END IF
2911 ENDDO
2912C facteur 16 ?
2913 lskyfi = nn*multimax
2914C nmesr inutile ici
2915 nmesr = nn
2916 ENDIF
2917C
2918C Deallocation de XREM
2919C
2920 IF(ALLOCATED(xrem)) DEALLOCATE(xrem)
2921C
2922 ierror1=0
2923 ierror2=0
2924 ierror3=0
2925C
2926C Allocation Parith/OFF
2927C
2928 IF(iparit==0) THEN
2929 IF(ASSOCIATED(afi17(nin)%P)) DEALLOCATE(afi17(nin)%P)
2930 IF(ASSOCIATED(stnfi17(nin)%P)) DEALLOCATE(stnfi17(nin)%P)
2931 IF(elemfi>0)ALLOCATE(afi17(nin)%P(3,16,elemfi),stat=ierror1)
2932 IF(elemfi>0)ALLOCATE(stnfi17(nin)%P(16,elemfi),stat=ierror2)
2933C Init a 0
2934 DO i = 1, elemfi
2935 afi17(nin)%P(1,1,i) = zero
2936 afi17(nin)%P(2,1,i) = zero
2937 afi17(nin)%P(3,1,i) = zero
2938 stnfi17(nin)%P(1,i) = zero
2939 afi17(nin)%P(1,2,i) = zero
2940 afi17(nin)%P(2,2,i) = zero
2941 afi17(nin)%P(3,2,i) = zero
2942 stnfi17(nin)%P(2,i) = zero
2943 afi17(nin)%P(1,3,i) = zero
2944 afi17(nin)%P(2,3,i) = zero
2945 afi17(nin)%P(3,3,i) = zero
2946 stnfi17(nin)%P(3,i) = zero
2947 afi17(nin)%P(1,4,i) = zero
2948 afi17(nin)%P(2,4,i) = zero
2949 afi17(nin)%P(3,4,i) = zero
2950 stnfi17(nin)%P(4,i) = zero
2951 afi17(nin)%P(1,4,i) = zero
2952 afi17(nin)%P(2,4,i) = zero
2953 afi17(nin)%P(3,4,i) = zero
2954 stnfi17(nin)%P(4,i) = zero
2955 afi17(nin)%P(1,5,i) = zero
2956 afi17(nin)%P(2,5,i) = zero
2957 afi17(nin)%P(3,5,i) = zero
2958 stnfi17(nin)%P(5,i) = zero
2959 afi17(nin)%P(1,6,i) = zero
2960 afi17(nin)%P(2,6,i) = zero
2961 afi17(nin)%P(3,6,i) = zero
2962 stnfi17(nin)%P(6,i) = zero
2963 afi17(nin)%P(1,7,i) = zero
2964 afi17(nin)%P(2,7,i) = zero
2965 afi17(nin)%P(3,7,i) = zero
2966 stnfi17(nin)%P(7,i) = zero
2967 afi17(nin)%P(1,8,i) = zero
2968 afi17(nin)%P(2,8,i) = zero
2969 afi17(nin)%P(3,8,i) = zero
2970 stnfi17(nin)%P(8,i) = zero
2971 afi17(nin)%P(1,9,i) = zero
2972 afi17(nin)%P(2,9,i) = zero
2973 afi17(nin)%P(3,9,i) = zero
2974 stnfi17(nin)%P(9,i) = zero
2975 afi17(nin)%P(1,10,i) = zero
2976 afi17(nin)%P(2,10,i) = zero
2977 afi17(nin)%P(3,10,i) = zero
2978 stnfi17(nin)%P(10,i) = zero
2979 afi17(nin)%P(1,11,i) = zero
2980 afi17(nin)%P(2,11,i) = zero
2981 afi17(nin)%P(3,11,i) = zero
2982 stnfi17(nin)%P(11,i) = zero
2983 afi17(nin)%P(1,12,i) = zero
2984 afi17(nin)%P(2,12,i) = zero
2985 afi17(nin)%P(3,12,i) = zero
2986 stnfi17(nin)%P(12,i) = zero
2987 afi17(nin)%P(1,13,i) = zero
2988 afi17(nin)%P(2,13,i) = zero
2989 afi17(nin)%P(3,13,i) = zero
2990 stnfi17(nin)%P(13,i) = zero
2991 afi17(nin)%P(1,14,i) = zero
2992 afi17(nin)%P(2,14,i) = zero
2993 afi17(nin)%P(3,14,i) = zero
2994 stnfi17(nin)%P(14,i) = zero
2995 afi17(nin)%P(1,15,i) = zero
2996 afi17(nin)%P(2,15,i) = zero
2997 afi17(nin)%P(3,15,i) = zero
2998 stnfi17(nin)%P(15,i) = zero
2999 afi17(nin)%P(1,16,i) = zero
3000 afi17(nin)%P(2,16,i) = zero
3001 afi17(nin)%P(3,16,i) = zero
3002 stnfi17(nin)%P(16,i) = zero
3003 ENDDO
3004C
3005C
3006 ELSE
3007C
3008C Allocation Parith/ON
3009C
3010 IF(ASSOCIATED(fskyfi(nin)%P)) DEALLOCATE(fskyfi(nin)%P)
3011 IF(ASSOCIATED(iskyfi(nin)%P)) DEALLOCATE(iskyfi(nin)%P)
3012 nlskyfi(nin) = lskyfi
3013 IF(lskyfi>0) THEN
3014 ALLOCATE(iskyfi(nin)%P(lskyfi),stat=ierror1)
3015 ALLOCATE(fskyfi(nin)%P(40,lskyfi),stat=ierror2)
3016 ENDIF
3017 ENDIF
3018C
3019 IF(ierror1+ierror2+ierror3/=0) THEN
3020 CALL ancmsg(msgid=20,anmode=aninfo)
3021 CALL arret(2)
3022 ENDIF
3023C
3024C Renumerotation des candidats
3025C
3026 DO i = 1, i_stok
3027 n = cand_n(i)
3028 nn = n-nmes
3029 IF(nn>0)THEN
3030 cand_n(i) = index(nn)+nmes
3031 ENDIF
3032 ENDDO
3033C
3034 RETURN
3035 END
subroutine i17main_tri(timers, ipari, intbuf_tab, x, nin, itask, igrbric, nme, nmes, eminx, ixs, ixs16, ixs20, weight, isendto, irecvfrom, retri, iad_elem, fr_elem, itab, v, nme_t, esh_t)
subroutine i17main_pena(nin, ipari, intbuf_tab, x, v, a, itask, igrbric, eminx, ms, ixs, ixs16, ixs20, stifn, fskyi, isky, fsav, fcont, niskyfi, h3d_data)
type(real_pointer2), dimension(:), allocatable dxancfi
Definition tri7box.F:473
type(real_pointer2), dimension(:), allocatable stnfi17
Definition tri7box.F:467
type(real_pointer), dimension(:), allocatable gapfie
Definition tri7box.F:449
type(real_pointer2), dimension(:), allocatable eminxfi
Definition tri7box.F:467
type(real_pointer), dimension(:), allocatable ftheskyfi
Definition tri7box.F:449
type(real_pointer2), dimension(:), allocatable vfie
Definition tri7box.F:459
type(real_pointer3), dimension(:), allocatable afi17
Definition tri7box.F:470
type(real_pointer2), dimension(:), allocatable daancfi
Definition tri7box.F:459
type(real_pointer2), dimension(:), allocatable fskyfie
Definition tri7box.F:459
type(real_pointer2), dimension(:), allocatable vfi
Definition tri7box.F:459
type(real_pointer2), dimension(:), allocatable fnconti
Definition tri7box.F:510
type(real_pointer2), dimension(:), allocatable frotsfi
Definition tri7box.F:467
type(int_pointer), dimension(:), allocatable matsfi
Definition tri7box.F:440
type(real_pointer2), dimension(:), allocatable dvancfi
Definition tri7box.F:473
type(real_pointer), dimension(:), allocatable tempfi
Definition tri7box.F:449
type(real_pointer), dimension(:), allocatable stifi
Definition tri7box.F:449
type(real_pointer3), dimension(:), allocatable xfi17
Definition tri7box.F:470
type(real_pointer3), dimension(:), allocatable vfi17
Definition tri7box.F:470
type(real_pointer2), dimension(:), allocatable ksfi
Definition tri7box.F:467
type(real_pointer2), dimension(:), allocatable xfie
Definition tri7box.F:459
type(int_pointer), dimension(:), allocatable iskyfie
Definition tri7box.F:480
type(int_pointer), dimension(:), allocatable nsnfie
Definition tri7box.F:440
type(real_pointer2), dimension(:), allocatable dvancfie
Definition tri7box.F:473
type(r8_pointer3), dimension(:), allocatable daanc6fi
Definition tri7box.F:476
type(real_pointer2), dimension(:), allocatable penfi
Definition tri7box.F:459
type(real_pointer), dimension(:), allocatable alphakfi
Definition tri7box.F:449
type(real_pointer), dimension(:), allocatable stnfi
Definition tri7box.F:449
type(real_pointer2), dimension(:), allocatable penfia
Definition tri7box.F:459
type(real_pointer2), dimension(:), allocatable afi
Definition tri7box.F:459
type(int_pointer), dimension(:), allocatable nodamsfi
Definition tri7box.F:440
type(real_pointer2), dimension(:), allocatable fskyfi
Definition tri7box.F:459
type(real_pointer), dimension(:), allocatable stifie
Definition tri7box.F:449
type(real_pointer), dimension(:), allocatable stnfie
Definition tri7box.F:449
type(real_pointer), dimension(:), allocatable gapfi
Definition tri7box.F:449
type(int_pointer), dimension(:), allocatable procamsfie
Definition tri7box.F:440
type(int_pointer), dimension(:), allocatable nodnxfi
Definition tri7box.F:440
type(int_pointer), dimension(:), allocatable nodnxfie
Definition tri7box.F:440
type(int_pointer), dimension(:), allocatable nsvfi
Definition tri7box.F:431
type(real_pointer), dimension(:), allocatable areasfi
Definition tri7box.F:449
type(int_pointer), dimension(:), allocatable iskyfi
Definition tri7box.F:480
type(real_pointer2), dimension(:), allocatable afie
Definition tri7box.F:459
type(int_pointer), dimension(:), allocatable nbinflfi
Definition tri7box.F:440
type(real_pointer), dimension(:), allocatable msfi
Definition tri7box.F:449
type(real_pointer), dimension(:), allocatable diag_smsfi
Definition tri7box.F:449
type(real_pointer), dimension(:), allocatable vscfi
Definition tri7box.F:449
type(int_pointer), dimension(:), allocatable nsvfie
Definition tri7box.F:440
type(int_pointer), dimension(:), allocatable nodamsfie
Definition tri7box.F:440
type(r8_pointer3), dimension(:), allocatable daanc6fie
Definition tri7box.F:476
type(real_pointer2), dimension(:), allocatable xfi
Definition tri7box.F:459
type(int_pointer), dimension(:), allocatable kinfi
Definition tri7box.F:440
type(real_pointer), dimension(:), allocatable vscfie
Definition tri7box.F:449
type(real_pointer), dimension(:), allocatable diag_smsfie
Definition tri7box.F:449
type(real_pointer), dimension(:), allocatable alphakfie
Definition tri7box.F:449
type(int_pointer), dimension(:), allocatable itafie
Definition tri7box.F:440
integer, dimension(:), allocatable nlskyfie
Definition tri7box.F:512
type(real_pointer2), dimension(:), allocatable penfie
Definition tri7box.F:459
type(real_pointer2), dimension(:), allocatable dxancfie
Definition tri7box.F:473
integer, dimension(:), allocatable nlskyfi
Definition tri7box.F:512
type(real_pointer), dimension(:), allocatable fthefi
Definition tri7box.F:449
type(real_pointer2), dimension(:), allocatable ftconti
Definition tri7box.F:510
type(int_pointer), dimension(:), allocatable procamsfi
Definition tri7box.F:440
type(int_pointer), dimension(:), allocatable nsnfi
Definition tri7box.F:440
integer, dimension(:,:), allocatable irem
Definition tri7box.F:339
type(real_pointer2), dimension(:), allocatable daancfie
Definition tri7box.F:459
type(real_pointer), dimension(:), allocatable msfie
Definition tri7box.F:449
type(int_pointer), dimension(:), allocatable itafi
Definition tri7box.F:440
type(real_pointer2), dimension(:), allocatable penfiae
Definition tri7box.F:459
subroutine spmd_tri20gate(result, nrts, cand_s, i_stok, nin, inacti, nrtsr, multimp, igap)
subroutine spmd_tri17gat(result, nmes, cand_n, i_stok, nin, nmesr)
subroutine spmd_tri20gat(result, nsn, cand_n, i_stok, nin, igap, nsnr, multimp, ity, intth, inacti, h3d_data)
Definition spmd_i7crit.F:38
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)
Definition message.F:889
subroutine arret(nn)
Definition arret.F:87