Salome HOME
Homard executable
[modules/homard.git] / src / tool / AP_Conversion / pcsqu2_7.h
1 c
2             if ( etanp1.ge.31 .and. etanp1.le.34 ) then
3 c           .................         .................
4 c           .       .       .         .      . .      .
5 c           .       .       .         .     .   .     .
6 c           .       .       .         .    .     .    .
7 c           .................  ===>   .   .       .   .
8 c           .       .       .         .  .         .  .
9 c           .       .       .         . .           . .
10 c           .       .       .         ..             ..
11 c           .................         .................
12 c
13 c    quadrangle predecoupe en 4 quad et decoupe en trois triangles
14 c    a l'arete a1
15 c
16             f1hp = -filqua(quhnp1)
17             f1cp = ntrsca(f1hp)
18             f2cp = ntrsca(f1hp+1)
19             f3cp = ntrsca(f1hp+2)
20             prftrp(f1cp) = 1
21             prftrp(f2cp) = 1
22             prftrp(f3cp) = 1
23 c
24             q1t = 1
25             q2t = 2
26             q3t = 3
27             q4t = 4
28             q5t = 5
29             q6t = 6
30
31             if (etanp1 .eq. 31) then
32 c
33             f3cn = nqueca(f1hn+2)
34             prf3cn = prfcan(f3cn)
35             f4cn = nqueca(f1hn+3)
36                  prf4cn = prfcan(f4cn)
37             g1 = 0
38             d1 = 0
39 cgn            write(6,*) 'etanp1', etanp1
40 cgn            write(6,*) 'f1hn+2=',f1hn+2,
41 cgn     > 'mod(anhetr(f1hn+2),10)',mod(anhetr(f1hn+2),10)
42             if ( mod(anhequ(f1hn),10).eq.0 ) then
43               f1cn = nqueca(f1hn)
44               prf1cn = prfcan(f1cn)
45             elseif ( mod(anhequ(f1hn),10).eq.etanp1 ) then
46               pf = anfiqu(f1hn)
47               g1 = nqueca(pf)
48               prfg1n = prfcan(g1)
49               g2 = nqueca(pf+1)
50               prfg2n = prfcan(g2)
51               g3 = nqueca(pf+2)
52               prfg3n = prfcan(g3)
53             else
54               codret = codret + 1
55 cgn           write(ulsort,*) '_7h A codret', codret
56 cgn           write (ulsort,texte(langue,4)) 'n  ', trhn
57 cgn           write (ulsort,texte(langue,5)) 'n  ', etan
58 cgn           write (ulsort,texte(langue,4)) 'n+1', trhnp1
59 cgn           write (ulsort,texte(langue,5)) 'n+1', etanp1
60             endif
61 cgn            write(6,*) 'etanp1', etanp1
62 cgn            write(6,*) 'mod(anhetr(f1hn+3),10)',mod(anhetr(f1hn+3),10)
63             if ( mod(anhequ(f1hn+1),10).eq.0 ) then
64               f2cn = nqueca(f1hn+1)
65               prf2cn = prfcan(f2cn)
66             elseif ( mod(anhequ(f1hn+1),10).eq.etanp1 ) then
67               pf = anfiqu(f1hn+1)
68               d1 = nqueca(pf)
69               prfd1n = prfcan(d1)
70               d2 = nqueca(pf+1)
71               prfd2n = prfcan(d2)
72               d3 = nqueca(pf+2)
73               prfd3n = prfcan(d3)
74             else
75               codret = codret + 1
76 cgn           write (ulsort,*) '_5h B codret', codret
77 cgn           write (ulsort,texte(langue,4)) 'n  ', trhn
78 cgn           write (ulsort,texte(langue,5)) 'n  ', etan
79 cgn           write (ulsort,texte(langue,4)) 'n+1', trhnp1
80 cgn           write (ulsort,texte(langue,5)) 'n+1', etanp1
81             endif
82 c
83             if  ( g1.eq.0 .and. d1.eq.0 ) then
84 c
85             do 2611 , nrofon = 1 , nbfonc
86 c
87 c    dans le triangle NT1
88 c
89               vatrtt(nrofon,q1t,f1cp) = vafoen(nrofon,q1,prf4cn)
90 c
91               vatrtt(nrofon,q2t,f1cp) = unsde*(vafoen(nrofon,q2,prf1cn)+
92      >                                        vafoen(nrofon,q4,prf2cn))
93 c
94               vatrtt(nrofon,q3t,f1cp) = vafoen(nrofon,q1,prf3cn)
95 c
96               vatrtt(nrofon,q4t,f1cp) = unsde*(vafoen(nrofon,q7,prf1cn)+
97      >                                        vafoen(nrofon,q6,prf4cn))
98 c
99               vatrtt(nrofon,q5t,f1cp) = unsde*(vafoen(nrofon,q6,prf2cn)+
100      >                                        vafoen(nrofon,q7,prf3cn))
101 c
102               vatrtt(nrofon,q6t,f1cp) = unsde*(vafoen(nrofon,q2,prf3cn)+
103      >                                        vafoen(nrofon,q4,prf4cn))
104 c
105 c    dans le triangle NT2
106 c
107               vatrtt(nrofon,q1t,f2cp) = vafoen(nrofon,q1,prf3cn)
108 c
109               vatrtt(nrofon,q2t,f2cp) = vafoen(nrofon,q2,prf4cn)
110 c
111               vatrtt(nrofon,q3t,f2cp) = vafoen(nrofon,q1,prf2cn)
112 c
113               vatrtt(nrofon,q4t,f2cp) = unsde*(vafoen(nrofon,q6,prf2cn)+
114      >                                        vafoen(nrofon,q7,prf3cn))
115 c
116               vatrtt(nrofon,q5t,f2cp) = vafoen(nrofon,q8,prf2cn)
117 c
118               vatrtt(nrofon,q6t,f2cp) = unsde*(vafoen(nrofon,q2,prf2cn)+
119      >                                        vafoen(nrofon,q4,prf3cn))
120 c
121 c    dans le triangle NT3
122 c
123               vatrtt(nrofon,q1t,f3cp) = vafoen(nrofon,q1,prf4cn)
124 c
125               vatrtt(nrofon,q2t,f3cp) = vafoen(nrofon,q1,prf1cn)
126 c
127               vatrtt(nrofon,q3t,f3cp) = vafoen(nrofon,q2,prf1cn)
128 c
129               vatrtt(nrofon,q4t,f3cp) = unsde*(vafoen(nrofon,q4,prf1cn)+
130      >                                        vafoen(nrofon,q2,prf4cn))
131 c
132               vatrtt(nrofon,q5t,f3cp) = vafoen(nrofon,q5,prf1cn)
133 c
134               vatrtt(nrofon,q6t,f3cp) = unsde*(vafoen(nrofon,q7,prf1cn)+
135      >                                         vafoen(nrofon,q6,prf4cn))
136 c
137 2611        continue
138 c
139             elseif  ( g1.ne.0 .and. d1.eq.0 ) then
140             do 26111 , nrofon = 1 , nbfonc
141 c
142 c    dans le triangle NT1
143 c
144               vatrtt(nrofon,q1t,f1cp) = vafoen(nrofon,q1,prf4cn)
145 c
146               vatrtt(nrofon,q2t,f1cp) = unsde*(vatren(nrofon,q3,prfg2n)+
147      >                                         vafoen(nrofon,q4,prf2cn))
148 c
149               vatrtt(nrofon,q3t,f1cp) = vafoen(nrofon,q1,prf3cn)
150 c
151               vatrtt(nrofon,q4t,f1cp) = unsde*(vafoen(nrofon,q6,prf4cn)
152      >                                        +vatren(nrofon,q6,prfg1n))
153 c
154               vatrtt(nrofon,q5t,f1cp) = unsde*(vafoen(nrofon,q6,prf2cn)+
155      >                                         vafoen(nrofon,q7,prf3cn))
156 c
157               vatrtt(nrofon,q6t,f1cp) = unsde*(vafoen(nrofon,q2,prf3cn)
158      >                                        +vafoen(nrofon,q4,prf4cn))
159 c
160 c    dans le triangle NT2
161 c
162               vatrtt(nrofon,q1t,f2cp) = vafoen(nrofon,q1,prf3cn)
163 c
164               vatrtt(nrofon,q2t,f2cp) = vafoen(nrofon,q2,prf4cn)
165 c
166               vatrtt(nrofon,q3t,f2cp) = vafoen(nrofon,q1,prf2cn)
167 c
168               vatrtt(nrofon,q4t,f2cp) = unsde*(vafoen(nrofon,q6,prf2cn)+
169      >                                        vafoen(nrofon,q7,prf3cn))
170 c
171               vatrtt(nrofon,q5t,f2cp) = vafoen(nrofon,q8,prf2cn)
172 c
173               vatrtt(nrofon,q6t,f2cp) = unsde*(vafoen(nrofon,q2,prf2cn)+
174      >                                        vafoen(nrofon,q4,prf3cn))
175 c
176 c
177 c    dans le triangle NT3
178 c
179               vatrtt(nrofon,q1t,f3cp) = vafoen(nrofon,q1,prf4cn)
180 c
181               vatrtt(nrofon,q2t,f3cp) = vatren(nrofon,q2,prfg3n)
182 c
183               vatrtt(nrofon,q3t,f3cp) = vatren(nrofon,q3,prfg2n)
184 c
185               vatrtt(nrofon,q4t,f3cp) = unstr*(vatren(nrofon,q1,prfg1n)
186      >                                        +vatren(nrofon,q1,prfg3n)
187      >                                        +vafoen(nrofon,q2,prf4cn))
188 c
189               vatrtt(nrofon,q5t,f3cp) = unstr*(vatren(nrofon,q2,prfg1n)
190      >                                        +vatren(nrofon,q2,prfg2n)
191      >                                        +vatren(nrofon,q3,prfg3n))
192 c
193               vatrtt(nrofon,q6t,f3cp) = unsde*(vatren(nrofon,q6,prfg1n)
194      >                                        +vafoen(nrofon,q6,prf4cn))
195 c
196 26111       continue
197 c
198             elseif  ( g1.eq.0 .and. d1.ne.0 ) then
199             do 26112 , nrofon = 1 , nbfonc
200 c
201 c    dans le triangle NT1
202 c
203               vatrtt(nrofon,q1t,f1cp) = vafoen(nrofon,q1,prf4cn)
204 c
205               vatrtt(nrofon,q2t,f1cp) = unsde*(vafoen(nrofon,q2,prf1cn)
206      >                                        +vatren(nrofon,q2,prfd3n))
207 c
208               vatrtt(nrofon,q3t,f1cp) = vafoen(nrofon,q1,prf3cn)
209 c
210               vatrtt(nrofon,q4t,f1cp) = unsde*(vafoen(nrofon,q7,prf1cn)
211      >                                        +vatren(nrofon,q6,prf4cn))
212 c
213               vatrtt(nrofon,q5t,f1cp) = unsde*(vafoen(nrofon,q7,prf3cn)
214      >                                        +vatren(nrofon,q6,prfd1n))
215 c
216               vatrtt(nrofon,q6t,f1cp) = unsde*(vafoen(nrofon,q2,prf3cn)
217      >                                        +vafoen(nrofon,q4,prf4cn))
218 c
219 c    dans le triangle NT2
220 c
221               vatrtt(nrofon,q1t,f2cp) = vafoen(nrofon,q1,prf3cn)
222 c
223               vatrtt(nrofon,q2t,f2cp) = vatren(nrofon,q3,prfg2n)
224 c
225               vatrtt(nrofon,q3t,f2cp) = vatren(nrofon,q3,prfd2n)
226 c
227               vatrtt(nrofon,q4t,f2cp) = unsde*(vatren(nrofon,q6,prfd1n)
228      >                                        +vafoen(nrofon,q7,prf3cn))
229 c
230               vatrtt(nrofon,q5t,f2cp) = unstr*(vatren(nrofon,q2,prfd1n)
231      >                                        +vatren(nrofon,q5,prfd2n)
232      >                                        +vatren(nrofon,q3,prfd3n))
233 c
234               vatrtt(nrofon,q6t,f2cp) = unstr*(vafoen(nrofon,q4,prf3cn)
235      >                                        +vatren(nrofon,q3,prfd1n)
236      >                                        +vatren(nrofon,q1,prfd2n))
237 c
238 c    dans le triangle NT3
239 c
240               vatrtt(nrofon,q1t,f3cp) = vafoen(nrofon,q1,prf4cn)
241 c
242               vatrtt(nrofon,q2t,f3cp) = vafoen(nrofon,q1,prf1cn)
243 c
244               vatrtt(nrofon,q3t,f3cp) = vafoen(nrofon,q2,prf1cn)
245 c
246               vatrtt(nrofon,q4t,f3cp) = unsde*(vafoen(nrofon,q4,prf1cn)+
247      >                                        vafoen(nrofon,q2,prf4cn))
248 c
249               vatrtt(nrofon,q5t,f3cp) = vafoen(nrofon,q5,prf1cn)
250 c
251               vatrtt(nrofon,q6t,f3cp) = unsde*(vafoen(nrofon,q7,prf1cn)+
252      >                                         vafoen(nrofon,q6,prf4cn))
253 c
254 26112       continue
255 c
256             elseif  ( g1.ne.0 .and. d1.ne.0 ) then
257             do 26113 , nrofon = 1 , nbfonc
258 c
259 c    dans le triangle NT1
260 c
261               vatrtt(nrofon,q1t,f1cp) = vafoen(nrofon,q1,prf4cn)
262 c
263               vatrtt(nrofon,q2t,f1cp) = unsde*(vatren(nrofon,q3,prfg2n)
264      >                                        +vatren(nrofon,q2,prfd3n))
265 c
266               vatrtt(nrofon,q3t,f1cp) = vafoen(nrofon,q1,prf3cn)
267 c
268               vatrtt(nrofon,q4t,f1cp) = unsde*(vafoen(nrofon,q6,prf4cn)
269      >                                        +vatren(nrofon,q6,prfg1n))
270 c
271               vatrtt(nrofon,q5t,f1cp) = unsde*(vafoen(nrofon,q7,prf3cn)
272      >                                        +vatren(nrofon,q6,prfd1n))
273 c
274               vatrtt(nrofon,q6t,f1cp) = unsde*(vafoen(nrofon,q2,prf3cn)
275      >                                        +vafoen(nrofon,q4,prf4cn))
276 c
277 c    dans le triangle NT2
278 c
279               vatrtt(nrofon,q1t,f2cp) = vafoen(nrofon,q1,prf3cn)
280 c
281               vatrtt(nrofon,q2t,f2cp) = vatren(nrofon,q2,prfd3n)
282 c
283               vatrtt(nrofon,q3t,f2cp) = vatren(nrofon,q3,prfd2n)
284 c
285               vatrtt(nrofon,q4t,f2cp) = unsde*(vatren(nrofon,q6,prfd1n)
286      >                                        +vafoen(nrofon,q7,prf3cn))
287 c
288               vatrtt(nrofon,q5t,f2cp) = unstr*(vatren(nrofon,q2,prfd1n)
289      >                                        +vatren(nrofon,q2,prfd2n)
290      >                                        +vatren(nrofon,q3,prfd3n))
291 c
292               vatrtt(nrofon,q6t,f2cp) = unstr*(vafoen(nrofon,q4,prf3cn)
293      >                                        +vatren(nrofon,q3,prfd1n)
294      >                                        +vatren(nrofon,q1,prfd2n))
295 c
296 c    dans le triangle NT3
297 c
298               vatrtt(nrofon,q1t,f3cp) = vafoen(nrofon,q1,prf4cn)
299 c
300               vatrtt(nrofon,q2t,f3cp) = vatren(nrofon,q2,prfg3n)
301 c
302               vatrtt(nrofon,q3t,f3cp) = vatren(nrofon,q3,prfg2n)
303 c
304               vatrtt(nrofon,q4t,f3cp) = unstr*(vatren(nrofon,q1,prfg1n)
305      >                                        +vatren(nrofon,q1,prfg3n)
306      >                                        +vafoen(nrofon,q2,prf4cn))
307 c
308               vatrtt(nrofon,q5t,f3cp) = unstr*(vatren(nrofon,q2,prfg1n)
309      >                                        +vatren(nrofon,q2,prfg2n)
310      >                                        +vatren(nrofon,q3,prfg3n))
311 c
312               vatrtt(nrofon,q6t,f3cp) = unsde*(vatren(nrofon,q6,prfg1n)
313      >                                        +vafoen(nrofon,q6,prf4cn))
314 c
315 26113       continue
316             endif
317
318 c    quadrangle predecoupe en 4 quad et decoupe en trois triangles
319 c    a l'arete a2
320 c
321             elseif (etanp1 .eq. 32) then
322 c
323             f1cn = nqueca(f1hn)
324             prf1cn = prfcan(f1cn)
325                  f4cn = nqueca(f1hn+3)
326                  prf4cn = prfcan(f4cn)
327             g1 = 0
328             d1 = 0
329 cgn            write(6,*) 'etanp1', etanp1
330 cgn            write(6,*) 'f1hn+2=',f1hn+2,
331 cgn     > 'mod(anhetr(f1hn+1),10)',mod(anhetr(f1hn+1),10)
332             if ( mod(anhequ(f1hn+1),10).eq.0 ) then
333               f2cn = nqueca(f1hn+1)
334               prf2cn = prfcan(f2cn)
335             elseif ( mod(anhequ(f1hn+1),10).eq.etanp1 ) then
336               pf = anfiqu(f1hn+1)
337               g1 = nqueca(pf)
338               prfg1n = prfcan(g1)
339               g2 = nqueca(pf+1)
340               prfg2n = prfcan(g2)
341               g3 = nqueca(pf+2)
342               prfg3n = prfcan(g3)
343             else
344               codret = codret + 1
345 cgn           write(ulsort,*) '_7h A codret', codret
346 cgn           write (ulsort,texte(langue,4)) 'n  ', trhn
347 cgn           write (ulsort,texte(langue,5)) 'n  ', etan
348 cgn           write (ulsort,texte(langue,4)) 'n+1', trhnp1
349 cgn           write (ulsort,texte(langue,5)) 'n+1', etanp1
350             endif
351 cgn            write(6,*) 'etanp1', etanp1
352 cgn            write(6,*) 'mod(anhetr(f1hn+2),10)',mod(anhetr(f1hn+2),10)
353             if ( mod(anhequ(f1hn+2),10).eq.0 ) then
354               f3cn = nqueca(f1hn+2)
355               prf3cn = prfcan(f3cn)
356             elseif ( mod(anhequ(f1hn+2),10).eq.etanp1 ) then
357               pf = anfiqu(f1hn+2)
358               d1 = nqueca(pf)
359               prfd1n = prfcan(d1)
360               d2 = nqueca(pf+1)
361               prfd2n = prfcan(d2)
362               d3 = nqueca(pf+2)
363               prfd3n = prfcan(d3)
364             else
365               codret = codret + 1
366 cgn           write (ulsort,*) '_5h B codret', codret
367 cgn           write (ulsort,texte(langue,4)) 'n  ', trhn
368 cgn           write (ulsort,texte(langue,5)) 'n  ', etan
369 cgn           write (ulsort,texte(langue,4)) 'n+1', trhnp1
370 cgn           write (ulsort,texte(langue,5)) 'n+1', etanp1
371             endif
372 c
373 c
374             if  ( g1.eq.0 .and. d1.eq.0 ) then
375 c
376             do 2612 , nrofon = 1 , nbfonc
377 c    dans le triangle NT1
378 c
379               vatrtt(nrofon,q1t,f1cp) = vafoen(nrofon,q1,prf1cn)
380 c
381               vatrtt(nrofon,q2t,f1cp) = unsde*(vafoen(nrofon,q2,prf2cn)+
382      >                                        vafoen(nrofon,q4,prf3cn))
383 c
384               vatrtt(nrofon,q3t,f1cp) = vafoen(nrofon,q1,prf4cn)
385 c
386               vatrtt(nrofon,q4t,f1cp) = unsde*(vafoen(nrofon,q6,prf1cn)+
387      >                                        vafoen(nrofon,q7,prf2cn))
388 c
389               vatrtt(nrofon,q5t,f1cp) = unsde*(vafoen(nrofon,q6,prf3cn)+
390      >                                        vafoen(nrofon,q7,prf4cn))
391 c
392               vatrtt(nrofon,q6t,f1cp) = unsde*(vafoen(nrofon,q4,prf1cn)+
393      >                                        vafoen(nrofon,q2,prf4cn))
394 c
395 c    dans le triangle NT2
396 c
397               vatrtt(nrofon,q1t,f2cp) = vafoen(nrofon,q1,prf4cn)
398 c
399               vatrtt(nrofon,q2t,f2cp) = vafoen(nrofon,q4,prf3cn)
400 c
401               vatrtt(nrofon,q3t,f2cp) = vafoen(nrofon,q1,prf3cn)
402 c
403               vatrtt(nrofon,q4t,f2cp) = unsde*(vafoen(nrofon,q6,prf3cn)+
404      >                                        vafoen(nrofon,q7,prf4cn))
405 c
406               vatrtt(nrofon,q5t,f2cp) = vafoen(nrofon,q8,prf3cn)
407 c
408               vatrtt(nrofon,q6t,f2cp) = unsde*(vafoen(nrofon,q2,prf3cn)+
409      >                                        vafoen(nrofon,q4,prf4cn))
410 c
411 c    dans le triangle NT3
412 c
413               vatrtt(nrofon,q1t,f3cp) = vafoen(nrofon,q1,prf1cn)
414 c
415               vatrtt(nrofon,q2t,f3cp) = vafoen(nrofon,q1,prf2cn)
416 c
417               vatrtt(nrofon,q3t,f3cp) = vafoen(nrofon,q2,prf2cn)
418 c
419               vatrtt(nrofon,q4t,f3cp) = unsde*(vafoen(nrofon,q2,prf1cn)+
420      >                                        vafoen(nrofon,q4,prf2cn))
421 c
422               vatrtt(nrofon,q5t,f3cp) = vafoen(nrofon,q5,prf2cn)
423 c
424               vatrtt(nrofon,q6t,f3cp) = unsde*(vafoen(nrofon,q6,prf1cn)+
425      >                                        vafoen(nrofon,q7,prf2cn))
426 c
427 2612        continue
428 c
429             elseif  ( g1.ne.0 .and. d1.eq.0 ) then
430             do 26121 , nrofon = 1 , nbfonc
431 c
432 c    dans le triangle NT1
433 c
434               vatrtt(nrofon,q1t,f1cp) = vafoen(nrofon,q1,prf1cn)
435 c
436               vatrtt(nrofon,q2t,f1cp) = unsde*(vatren(nrofon,q3,prfg2n)+
437      >                                         vafoen(nrofon,q4,prf3cn))
438 c
439               vatrtt(nrofon,q3t,f1cp) = vafoen(nrofon,q1,prf4cn)
440 c
441               vatrtt(nrofon,q4t,f1cp) = unsde*(vatren(nrofon,q6,prfg1n)+
442      >                                         vafoen(nrofon,q6,prf1cn))
443 c
444               vatrtt(nrofon,q5t,f1cp) = unsde*(vafoen(nrofon,q6,prf3cn)+
445      >                                         vafoen(nrofon,q7,prf4cn))
446 c
447               vatrtt(nrofon,q6t,f1cp) = unsde*(vafoen(nrofon,q4,prf1cn)+
448      >                                         vafoen(nrofon,q2,prf4cn))
449 c
450 c    dans le triangle NT2
451 c
452               vatrtt(nrofon,q1t,f2cp) = vafoen(nrofon,q1,prf4cn)
453 c
454               vatrtt(nrofon,q2t,f2cp) = vafoen(nrofon,q4,prf3cn)
455 c
456               vatrtt(nrofon,q3t,f2cp) = vafoen(nrofon,q1,prf3cn)
457 c
458               vatrtt(nrofon,q4t,f2cp) = unsde*(vafoen(nrofon,q6,prf3cn)+
459      >                                        vafoen(nrofon,q7,prf4cn))
460 c
461               vatrtt(nrofon,q5t,f2cp) = vafoen(nrofon,q8,prf3cn)
462 c
463               vatrtt(nrofon,q6t,f2cp) = unsde*(vafoen(nrofon,q2,prf3cn)+
464      >                                        vafoen(nrofon,q4,prf4cn))
465 c
466 c    dans le triangle NT3
467 c
468               vatrtt(nrofon,q1t,f3cp) = vafoen(nrofon,q1,prf1cn)
469 c
470               vatrtt(nrofon,q2t,f3cp) = vatren(nrofon,q2,prfg3n)
471 c
472               vatrtt(nrofon,q3t,f3cp) = vatren(nrofon,q3,prfg2n)
473 c
474               vatrtt(nrofon,q4t,f3cp) = unstr*(vafoen(nrofon,q2,prf1cn)
475      >                                        +vatren(nrofon,q1,prfg3n)
476      >                                        +vatren(nrofon,q1,prfg1n))
477 c
478               vatrtt(nrofon,q5t,f3cp) = unstr*(vatren(nrofon,q3,prfg3n)
479      >                                        +vatren(nrofon,q2,prfg2n)
480      >                                        +vatren(nrofon,q1,prfg1n))
481 c
482               vatrtt(nrofon,q6t,f3cp) = unsde*(vafoen(nrofon,q6,prf1cn)+
483      >                                         vafoen(nrofon,q6,prfg1n))
484 cc
485 26121       continue
486 c
487             elseif  ( g1.eq.0 .and. d1.ne.0 ) then
488             do 26122 , nrofon = 1 , nbfonc
489 c
490 c    dans le triangle NT1
491 c
492               vatrtt(nrofon,q1t,f1cp) = unsde*(vafoen(nrofon,q2,prf2cn)+
493      >                                         vatren(nrofon,q2,prfd3n))
494 c
495               vatrtt(nrofon,q2t,f1cp) = unsde*(vatren(nrofon,q3,prfg2n)+
496      >                                         vatren(nrofon,q2,prfd3n))
497 c
498               vatrtt(nrofon,q3t,f1cp) = vafoen(nrofon,q1,prf4cn)
499 c
500               vatrtt(nrofon,q4t,f1cp) = unsde*(vafoen(nrofon,q7,prf2cn)+
501      >                                         vafoen(nrofon,q6,prf1cn))
502 c
503               vatrtt(nrofon,q5t,f1cp) = unsde*(vatren(nrofon,q6,prfd1n)+
504      >                                         vafoen(nrofon,q7,prf4cn))
505 c
506               vatrtt(nrofon,q6t,f1cp) = unsde*(vafoen(nrofon,q4,prf1cn)+
507      >                                         vafoen(nrofon,q2,prf4cn))
508 c
509 c    dans le triangle NT2
510 c
511               vatrtt(nrofon,q1t,f2cp) = vafoen(nrofon,q1,prf4cn)
512 c
513               vatrtt(nrofon,q2t,f2cp) = vatren(nrofon,q2,prfd3n)
514 c
515               vatrtt(nrofon,q3t,f2cp) = vatren(nrofon,q3,prfd2n)
516 c
517               vatrtt(nrofon,q4t,f2cp) = unsde*(vatren(nrofon,q6,prfd1n)+
518      >                                         vafoen(nrofon,q7,prf4cn))
519 c
520               vatrtt(nrofon,q5t,f2cp) = unstr*(vafoen(nrofon,q4,prf4cn)
521      >                                        +vatren(nrofon,q3,prfd1n)
522      >                                        +vatren(nrofon,q1,prfd2n))
523 c
524               vatrtt(nrofon,q6t,f2cp) = unstr*(vafoen(nrofon,q3,prfd3n)
525      >                                        +vatren(nrofon,q2,prfd2n)
526      >                                        +vatren(nrofon,q2,prfd1n))
527 c
528 c    dans le triangle NT3
529 c
530               vatrtt(nrofon,q1t,f3cp) = vafoen(nrofon,q1,prf1cn)
531 c
532               vatrtt(nrofon,q2t,f3cp) = vafoen(nrofon,q1,prf2cn)
533 c
534               vatrtt(nrofon,q3t,f3cp) = vafoen(nrofon,q2,prf2cn)
535 c
536               vatrtt(nrofon,q4t,f3cp) = unsde*(vafoen(nrofon,q2,prf1cn)+
537      >                                        vafoen(nrofon,q4,prf2cn))
538 c
539               vatrtt(nrofon,q5t,f3cp) = vafoen(nrofon,q5,prf2cn)
540 c
541               vatrtt(nrofon,q6t,f3cp) = unsde*(vafoen(nrofon,q6,prf1cn)+
542      >                                        vafoen(nrofon,q7,prf2cn))
543 c
544 26122       continue
545 c
546             elseif  ( g1.ne.0 .and. d1.ne.0 ) then
547             do 26123 , nrofon = 1 , nbfonc
548 c
549 c    dans le triangle NT1
550 c
551               vatrtt(nrofon,q1t,f1cp) = vafoen(nrofon,q1,prf1cn)
552 c
553               vatrtt(nrofon,q2t,f1cp) = unsde*(vatren(nrofon,q3,prfg2n)+
554      >                                         vatren(nrofon,q2,prfd3n))
555 c
556               vatrtt(nrofon,q3t,f1cp) = vafoen(nrofon,q1,prf4cn)
557 c
558               vatrtt(nrofon,q4t,f1cp) = unsde*(vatren(nrofon,q6,prfg1n)+
559      >                                         vafoen(nrofon,q6,prf1cn))
560 c
561               vatrtt(nrofon,q5t,f1cp) = unsde*(vatren(nrofon,q6,prfd1n)+
562      >                                         vafoen(nrofon,q7,prf4cn))
563 c
564               vatrtt(nrofon,q6t,f1cp) = unsde*(vafoen(nrofon,q4,prf1cn)+
565      >                                         vafoen(nrofon,q2,prf4cn))
566 c
567 c    dans le triangle NT2
568 c
569               vatrtt(nrofon,q1t,f2cp) = vafoen(nrofon,q1,prf4cn)
570 c
571               vatrtt(nrofon,q2t,f2cp) = vatren(nrofon,q2,prfd3n)
572 c
573               vatrtt(nrofon,q3t,f2cp) = vatren(nrofon,q3,prfd2n)
574 c
575               vatrtt(nrofon,q4t,f2cp) = unsde*(vatren(nrofon,q6,prfd1n)+
576      >                                         vafoen(nrofon,q7,prf4cn))
577 c
578               vatrtt(nrofon,q5t,f2cp) = unstr*(vafoen(nrofon,q3,prfd3n)
579      >                                        +vatren(nrofon,q2,prfd2n)
580      >                                        +vatren(nrofon,q2,prfd1n))
581 c
582               vatrtt(nrofon,q6t,f2cp) = unstr*(vafoen(nrofon,q4,prf4cn)
583      >                                        +vatren(nrofon,q3,prfd1n)
584      >                                        +vatren(nrofon,q1,prfd2n))
585 c    dans le triangle NT3
586 c
587               vatrtt(nrofon,q1t,f3cp) = vafoen(nrofon,q1,prf1cn)
588 c
589               vatrtt(nrofon,q2t,f3cp) = vatren(nrofon,q2,prfg3n)
590 c
591               vatrtt(nrofon,q3t,f3cp) = vatren(nrofon,q3,prfg2n)
592 c
593               vatrtt(nrofon,q4t,f3cp) = unstr*(vafoen(nrofon,q2,prf1cn)
594      >                                        +vatren(nrofon,q1,prfg3n)
595      >                                        +vatren(nrofon,q1,prfg1n))
596 c
597               vatrtt(nrofon,q5t,f3cp) = unstr*(vatren(nrofon,q3,prfg3n)
598      >                                        +vatren(nrofon,q2,prfg2n)
599      >                                        +vatren(nrofon,q1,prfg1n))
600 c
601               vatrtt(nrofon,q6t,f3cp) = unsde*(vafoen(nrofon,q6,prf1cn)+
602      >                                         vafoen(nrofon,q6,prfg1n))
603 c
604 26123       continue
605             endif
606 c
607 c    quadrangle predecoupe en 4 quad et decoupe en trois triangles
608 c    a l'arete a3
609 c
610             elseif (etanp1 .eq. 33) then
611 c
612             f1cn = nqueca(f1hn)
613             prf1cn = prfcan(f1cn)
614                  f2cn = nqueca(f1hn+1)
615                  prf2cn = prfcan(f2cn)
616             g1 = 0
617             d1 = 0
618 cgn            write(6,*) 'etanp1', etanp1
619 cgn            write(6,*) 'f1hn+2=',f1hn+2,
620 cgn     > 'mod(anhetr(f1hn+2),10)',mod(anhetr(f1hn+2),10)
621             if ( mod(anhequ(f1hn+2),10).eq.0 ) then
622               f3cn = nqueca(f1hn+2)
623               prf3cn = prfcan(f3cn)
624             elseif ( mod(anhequ(f1hn+2),10).eq.etanp1 ) then
625               pf = anfiqu(f1hn+2)
626               g1 = nqueca(pf)
627               prfg1n = prfcan(g1)
628               g2 = nqueca(pf+1)
629               prfg2n = prfcan(g2)
630               g3 = nqueca(pf+2)
631               prfg3n = prfcan(g3)
632             else
633               codret = codret + 1
634 cgn           write(ulsort,*) '_7h A codret', codret
635 cgn           write (ulsort,texte(langue,4)) 'n  ', trhn
636 cgn           write (ulsort,texte(langue,5)) 'n  ', etan
637 cgn           write (ulsort,texte(langue,4)) 'n+1', trhnp1
638 cgn           write (ulsort,texte(langue,5)) 'n+1', etanp1
639             endif
640 cgn            write(6,*) 'etanp1', etanp1
641 cgn            write(6,*) 'mod(anhetr(f1hn+3),10)',mod(anhetr(f1hn+3),10)
642             if ( mod(anhequ(f1hn+3),10).eq.0 ) then
643               f4cn = nqueca(f1hn+3)
644               prf4cn = prfcan(f4cn)
645             elseif ( mod(anhequ(f1hn+3),10).eq.etanp1 ) then
646               pf = anfiqu(f1hn+3)
647               d1 = nqueca(pf)
648               prfd1n = prfcan(d1)
649               d2 = nqueca(pf+1)
650               prfd2n = prfcan(d2)
651               d3 = nqueca(pf+2)
652               prfd3n = prfcan(d3)
653             else
654               codret = codret + 1
655 cgn           write (ulsort,*) '_5h B codret', codret
656 cgn           write (ulsort,texte(langue,4)) 'n  ', trhn
657 cgn           write (ulsort,texte(langue,5)) 'n  ', etan
658 cgn           write (ulsort,texte(langue,4)) 'n+1', trhnp1
659 cgn           write (ulsort,texte(langue,5)) 'n+1', etanp1
660             endif
661 c
662 c
663             if  ( g1.eq.0 .and. d1.eq.0 ) then
664 c
665             do 2613 , nrofon = 1 , nbfonc
666 c    dans le triangle NT1
667 c
668               vatrtt(nrofon,q1t,f1cp) = vafoen(nrofon,q1,prf2cn)
669 c
670               vatrtt(nrofon,q2t,f1cp) = unsde*(vafoen(nrofon,q2,prf3cn)+
671      >                                        vafoen(nrofon,q4,prf4cn))
672 c
673               vatrtt(nrofon,q3t,f1cp) = vafoen(nrofon,q1,prf1cn)
674 c
675               vatrtt(nrofon,q4t,f1cp) = unsde*(vafoen(nrofon,q6,prf2cn)+
676      >                                        vafoen(nrofon,q7,prf3cn))
677 c
678               vatrtt(nrofon,q5t,f1cp) = unsde*(vafoen(nrofon,q7,prf1cn)+
679      >                                        vafoen(nrofon,q6,prf4cn))
680 c
681               vatrtt(nrofon,q6t,f1cp) = unsde*(vafoen(nrofon,q2,prf1cn)+
682      >                                        vafoen(nrofon,q4,prf2cn))
683 c
684 c    dans le triangle NT2
685 c
686               vatrtt(nrofon,q1t,f2cp) = vafoen(nrofon,q1,prf1cn)
687 c
688               vatrtt(nrofon,q2t,f2cp) = vafoen(nrofon,q4,prf4cn)
689 c
690               vatrtt(nrofon,q3t,f2cp) = vafoen(nrofon,q1,prf4cn)
691 c
692               vatrtt(nrofon,q4t,f2cp) = vatrtt(nrofon,q5t,f1cp)
693 c
694               vatrtt(nrofon,q5t,f2cp) = vafoen(nrofon,q8,prf4cn)
695 c
696               vatrtt(nrofon,q6t,f2cp) = unsde*(vafoen(nrofon,q4,prf1cn)+
697      >                                        vafoen(nrofon,q2,prf4cn))
698 c
699 c    dans le triangle NT3
700 c
701               vatrtt(nrofon,q1t,f3cp) = vafoen(nrofon,q1,prf2cn)
702 c
703               vatrtt(nrofon,q2t,f3cp) = vafoen(nrofon,q1,prf3cn)
704 c
705               vatrtt(nrofon,q3t,f3cp) = vafoen(nrofon,q2,prf3cn)
706 c
707               vatrtt(nrofon,q4t,f3cp) = unsde*(vafoen(nrofon,q2,prf2cn)+
708      >                                        vafoen(nrofon,q4,prf3cn))
709 c
710               vatrtt(nrofon,q5t,f3cp) = vafoen(nrofon,q5,prf3cn)
711 c
712               vatrtt(nrofon,q6t,f3cp) = vatrtt(nrofon,q4t,f1cp)
713 c
714 2613        continue
715 c
716             elseif  ( g1.ne.0 .and. d1.eq.0 ) then
717             do 26131 , nrofon = 1 , nbfonc
718 c
719 c    dans le triangle NT1
720 c
721               vatrtt(nrofon,q1t,f1cp) = vafoen(nrofon,q1,prf2cn)
722 c
723               vatrtt(nrofon,q2t,f1cp) = unsde*(vatren(nrofon,q3,prfg2n)+
724      >                                         vafoen(nrofon,q4,prf4cn))
725 c
726               vatrtt(nrofon,q3t,f1cp) = vatren(nrofon,q3,prfg2n)
727 c
728               vatrtt(nrofon,q4t,f1cp) = unstr*(vafoen(nrofon,q2,prf2cn)+
729      >                                         vatren(nrofon,q1,prfg1n)+
730      >                                         vatren(nrofon,q1,prfg3n))
731 c
732               vatrtt(nrofon,q5t,f1cp) = unsde*(vafoen(nrofon,q7,prf1cn)+
733      >                                         vafoen(nrofon,q6,prf4cn))
734 c
735               vatrtt(nrofon,q6t,f1cp) = unsde*(vafoen(nrofon,q6,prf2cn)+
736      >                                         vatren(nrofon,q6,prfg1n))
737 c
738 c    dans le triangle NT2
739 c
740               vatrtt(nrofon,q1t,f2cp) = vafoen(nrofon,q1,prf1cn)
741 c
742               vatrtt(nrofon,q2t,f2cp) = vafoen(nrofon,q4,prf4cn)
743 c
744               vatrtt(nrofon,q3t,f2cp) = vafoen(nrofon,q1,prf4cn)
745 c
746               vatrtt(nrofon,q4t,f2cp) = vatrtt(nrofon,q5t,f1cp)
747 c
748               vatrtt(nrofon,q5t,f2cp) = vafoen(nrofon,q8,prf4cn)
749 c
750               vatrtt(nrofon,q6t,f2cp) = unsde*(vafoen(nrofon,q4,prf1cn)+
751      >                                        vafoen(nrofon,q2,prf4cn))
752 c
753 c    dans le triangle NT3
754 c
755               vatrtt(nrofon,q1t,f3cp) = vafoen(nrofon,q1,prf2cn)
756 c
757               vatrtt(nrofon,q2t,f3cp) = vatren(nrofon,q2,prfg3n)
758 c
759               vatrtt(nrofon,q3t,f3cp) = vafoen(nrofon,q3,prfg2n)
760 c
761               vatrtt(nrofon,q4t,f3cp) = unstr*(vafoen(nrofon,q2,prf2cn)+
762      >                                         vatren(nrofon,q1,prfg1n)+
763      >                                         vatren(nrofon,q1,prfg3n))
764 c
765               vatrtt(nrofon,q5t,f3cp) = unstr*(vatren(nrofon,q2,prfg1n)+
766      >                                         vatren(nrofon,q2,prfg2n)+
767      >                                         vatren(nrofon,q3,prfg3n))
768 c
769               vatrtt(nrofon,q6t,f3cp) = unsde*(vafoen(nrofon,q6,prf2cn)+
770      >                                         vatren(nrofon,q6,prfg1n))
771 c
772 26131       continue
773 c
774             elseif  ( g1.eq.0 .and. d1.ne.0 ) then
775             do 26132 , nrofon = 1 , nbfonc
776 c
777 c    dans le triangle NT1
778 c
779               vatrtt(nrofon,q1t,f1cp) = vafoen(nrofon,q1,prf2cn)
780 c
781               vatrtt(nrofon,q2t,f1cp) = unsde*(vafoen(nrofon,q2,prf3cn)+
782      >                                         vatren(nrofon,q2,prfd3n))
783 c
784               vatrtt(nrofon,q3t,f1cp) = vatren(nrofon,q3,prfg2n)
785 c
786               vatrtt(nrofon,q4t,f1cp) = unsde*(vafoen(nrofon,q6,prf2cn)+
787      >                                         vatren(nrofon,q7,prf3cn))
788 c
789               vatrtt(nrofon,q5t,f1cp) = unstr*(vatren(nrofon,q3,prfg3n)+
790      >                                         vatren(nrofon,q2,prfg1n)+
791      >                                         vatren(nrofon,q2,prfg2n))
792 c
793               vatrtt(nrofon,q6t,f1cp) = unsde*(vafoen(nrofon,q6,prf2cn)+
794      >                                         vatren(nrofon,q6,prfg1n))
795 c
796 c    dans le triangle NT2
797 c
798               vatrtt(nrofon,q1t,f2cp) = vafoen(nrofon,q1,prf1cn)
799 c
800               vatrtt(nrofon,q2t,f2cp) = vatren(nrofon,q2,prfd3n)
801 c
802               vatrtt(nrofon,q3t,f2cp) = vatren(nrofon,q3,prfd2n)
803 c
804               vatrtt(nrofon,q4t,f2cp) = unsde*(vafoen(nrofon,q7,prf1cn)+
805      >                                         vatren(nrofon,q6,prfd1n))
806 c
807               vatrtt(nrofon,q5t,f2cp) = unstr*(vatren(nrofon,q2,prfd2n)+
808      >                                         vatren(nrofon,q2,prfd1n)+
809      >                                         vatren(nrofon,q3,prfd3n))
810 c
811               vatrtt(nrofon,q6t,f2cp) = unstr*(vafoen(nrofon,q4,prf1cn)+
812      >                                         vatren(nrofon,q3,prfd1n)+
813      >                                         vatren(nrofon,q1,prfd2n))
814 c
815 c    dans le triangle NT3
816 c
817               vatrtt(nrofon,q1t,f3cp) = vafoen(nrofon,q1,prf2cn)
818 c
819               vatrtt(nrofon,q2t,f3cp) = vafoen(nrofon,q1,prf3cn)
820 c
821               vatrtt(nrofon,q3t,f3cp) = vafoen(nrofon,q2,prf3cn)
822 c
823               vatrtt(nrofon,q4t,f3cp) = unsde*(vafoen(nrofon,q2,prf2cn)+
824      >                                        vafoen(nrofon,q4,prf3cn))
825 c
826               vatrtt(nrofon,q5t,f3cp) = vafoen(nrofon,q5,prf3cn)
827 c
828               vatrtt(nrofon,q6t,f3cp) = vatrtt(nrofon,q4t,f1cp)
829 c
830 26132       continue
831 c
832             elseif  ( g1.ne.0 .and. d1.ne.0 ) then
833             do 26133 , nrofon = 1 , nbfonc
834 c    dans le triangle NT1
835 c
836               vatrtt(nrofon,q1t,f1cp) = vafoen(nrofon,q1,prf2cn)
837 c
838               vatrtt(nrofon,q2t,f1cp) = unsde*(vatren(nrofon,q3,prfg2n)+
839      >                                         vatren(nrofon,q2,prfd3n))
840 c
841               vatrtt(nrofon,q3t,f1cp) = vafoen(nrofon,q1,prf1cn)
842 c
843               vatrtt(nrofon,q4t,f1cp) = unstr*(vafoen(nrofon,q2,prf2cn)+
844      >                                         vatren(nrofon,q1,prfg1n)+
845      >                                         vatren(nrofon,q1,prfg3n))
846 c
847               vatrtt(nrofon,q5t,f1cp) = unstr*(vatren(nrofon,q3,prfg3n)+
848      >                                         vatren(nrofon,q2,prfg1n)+
849      >                                         vatren(nrofon,q2,prfg2n))
850 c
851               vatrtt(nrofon,q6t,f1cp) = unsde*(vafoen(nrofon,q6,prf2cn)+
852      >                                         vatren(nrofon,q6,prfg1n))
853 c
854 c    dans le triangle NT2
855 c
856               vatrtt(nrofon,q1t,f2cp) = vafoen(nrofon,q1,prf1cn)
857 c
858               vatrtt(nrofon,q2t,f2cp) = vatren(nrofon,q2,prfd3n)
859 c
860               vatrtt(nrofon,q3t,f2cp) = vatren(nrofon,q3,prfd2n)
861 c
862               vatrtt(nrofon,q4t,f2cp) = unsde*(vafoen(nrofon,q7,prf1cn)+
863      >                                         vatren(nrofon,q6,prfd1n))
864 c
865               vatrtt(nrofon,q5t,f2cp) = unstr*(vatren(nrofon,q2,prfd2n)+
866      >                                         vatren(nrofon,q2,prfd1n)+
867      >                                         vatren(nrofon,q3,prfd3n))
868 c
869               vatrtt(nrofon,q6t,f2cp) = unstr*(vafoen(nrofon,q4,prf1cn)+
870      >                                         vatren(nrofon,q3,prfd1n)+
871      >                                         vatren(nrofon,q1,prfd2n))
872 c
873 c    dans le triangle NT3
874 c
875               vatrtt(nrofon,q1t,f3cp) = vafoen(nrofon,q1,prf2cn)
876 c
877               vatrtt(nrofon,q2t,f3cp) = vatren(nrofon,q2,prfg3n)
878 c
879               vatrtt(nrofon,q3t,f3cp) = vafoen(nrofon,q3,prfg2n)
880 c
881               vatrtt(nrofon,q4t,f3cp) = unstr*(vafoen(nrofon,q2,prf2cn)+
882      >                                         vatren(nrofon,q1,prfg1n)+
883      >                                         vatren(nrofon,q1,prfg3n))
884 c
885               vatrtt(nrofon,q5t,f3cp) = unstr*(vatren(nrofon,q2,prfg1n)+
886      >                                         vatren(nrofon,q2,prfg2n)+
887      >                                         vatren(nrofon,q3,prfg3n))
888 c
889               vatrtt(nrofon,q6t,f3cp) = unsde*(vafoen(nrofon,q6,prf2cn)+
890      >                                         vatren(nrofon,q6,prfg1n))
891 c
892 26133       continue
893             endif
894 c
895 c    quadrangle predecoupe en 4 quad et decoupe en trois triangles
896 c    a l'arete a4
897 c
898             elseif (etanp1 .eq. 34) then
899 c
900             f2cn = nqueca(f1hn+1)
901             prf2cn = prfcan(f2cn)
902                  f3cn = nqueca(f1hn+2)
903                  prf3cn = prfcan(f3cn)
904             g1 = 0
905             d1 = 0
906 cgn            write(6,*) 'etanp1', etanp1
907 cgn            write(6,*) 'f1hn+2=',f1hn+2,
908 cgn     > 'mod(anhetr(f1hn),10)',mod(anhetr(f1hn),10)
909             if ( mod(anhequ(f1hn),10).eq.0 ) then
910               f1cn = nqueca(f1hn)
911               prf1cn = prfcan(f1cn)
912             elseif ( mod(anhequ(f1hn),10).eq.etanp1 ) then
913               pf = anfiqu(f1hn)
914               g1 = nqueca(pf)
915               prfg1n = prfcan(g1)
916               g2 = nqueca(pf+1)
917               prfg2n = prfcan(g2)
918               g3 = nqueca(pf+2)
919               prfg3n = prfcan(g3)
920             else
921               codret = codret + 1
922 cgn           write(ulsort,*) '_7h A codret', codret
923 cgn           write (ulsort,texte(langue,4)) 'n  ', trhn
924 cgn           write (ulsort,texte(langue,5)) 'n  ', etan
925 cgn           write (ulsort,texte(langue,4)) 'n+1', trhnp1
926 cgn           write (ulsort,texte(langue,5)) 'n+1', etanp1
927             endif
928 cgn            write(6,*) 'etanp1', etanp1
929 cgn            write(6,*) 'mod(anhetr(f1hn+3),10)',mod(anhetr(f1hn+3),10)
930             if ( mod(anhequ(f1hn+3),10).eq.0 ) then
931               f4cn = nqueca(f1hn+3)
932               prf4cn = prfcan(f4cn)
933             elseif ( mod(anhequ(f1hn+3),10).eq.etanp1 ) then
934               pf = anfiqu(f1hn+3)
935               d1 = nqueca(pf)
936               prfd1n = prfcan(d1)
937               d2 = nqueca(pf+1)
938               prfd2n = prfcan(d2)
939               d3 = nqueca(pf+2)
940               prfd3n = prfcan(d3)
941             else
942               codret = codret + 1
943 cgn           write (ulsort,*) '_5h B codret', codret
944 cgn           write (ulsort,texte(langue,4)) 'n  ', trhn
945 cgn           write (ulsort,texte(langue,5)) 'n  ', etan
946 cgn           write (ulsort,texte(langue,4)) 'n+1', trhnp1
947 cgn           write (ulsort,texte(langue,5)) 'n+1', etanp1
948             endif
949 c
950 c
951             if  ( g1.eq.0 .and. d1.eq.0 ) then
952 c
953             do 2614 , nrofon = 1 , nbfonc
954 c    dans le triangle NT1
955 c
956               vatrtt(nrofon,q1t,f1cp) = vafoen(nrofon,q1,prf3cn)
957 c
958               vatrtt(nrofon,q2t,f1cp) = unsde*(vafoen(nrofon,q4,prf1cn)+
959      >                                         vafoen(nrofon,q2,prf4cn))
960 c
961               vatrtt(nrofon,q3t,f1cp) = vafoen(nrofon,q1,prf2cn)
962 c
963               vatrtt(nrofon,q4t,f1cp) = unsde*(vafoen(nrofon,q6,prf3cn)+
964      >                                        vafoen(nrofon,q7,prf4cn))
965 c
966               vatrtt(nrofon,q5t,f1cp) = unsde*(vafoen(nrofon,q6,prf1cn)+
967      >                                        vafoen(nrofon,q7,prf2cn))
968 c
969               vatrtt(nrofon,q6t,f1cp) = unsde*(vafoen(nrofon,q2,prf2cn)+
970      >                                        vafoen(nrofon,q4,prf3cn))
971 c
972 c    dans le triangle NT2
973 c
974               vatrtt(nrofon,q1t,f2cp) = vafoen(nrofon,q1,prf2cn)
975 c
976               vatrtt(nrofon,q2t,f2cp) = vafoen(nrofon,q4,prf1cn)
977 c
978               vatrtt(nrofon,q3t,f2cp) = vafoen(nrofon,q1,prf1cn)
979 c
980               vatrtt(nrofon,q4t,f2cp) = vatrtt(nrofon,q5t,f1cp)
981 c
982               vatrtt(nrofon,q5t,f2cp) = vafoen(nrofon,q8,prf1cn)
983 c
984               vatrtt(nrofon,q6t,f2cp) = unsde*(vafoen(nrofon,q2,prf1cn)+
985      >                                        vafoen(nrofon,q4,prf2cn))
986 c
987 c    dans le triangle NT3
988 c
989               vatrtt(nrofon,q1t,f3cp) = vafoen(nrofon,q1,prf3cn)
990 c
991               vatrtt(nrofon,q2t,f3cp) = vafoen(nrofon,q1,prf4cn)
992 c
993               vatrtt(nrofon,q3t,f3cp) = vafoen(nrofon,q2,prf4cn)
994 c
995               vatrtt(nrofon,q4t,f3cp) = unsde*(vafoen(nrofon,q2,prf3cn)+
996      >                                        vafoen(nrofon,q4,prf4cn))
997 c
998               vatrtt(nrofon,q5t,f3cp) = vafoen(nrofon,q5,prf4cn)
999 c
1000               vatrtt(nrofon,q6t,f3cp) = vatrtt(nrofon,q4t,f1cp)
1001 c
1002 2614        continue
1003 c
1004             elseif  ( g1.ne.0 .and. d1.eq.0 ) then
1005             do 26141 , nrofon = 1 , nbfonc
1006 c
1007 c    dans le triangle NT1
1008 c
1009               vatrtt(nrofon,q1t,f1cp) = vafoen(nrofon,q1,prf3cn)
1010 c
1011               vatrtt(nrofon,q2t,f1cp) = unsde*(vafoen(nrofon,q2,prf4cn)+
1012      >                                         vatren(nrofon,q2,prfg3n))
1013 c
1014               vatrtt(nrofon,q3t,f1cp) = vafoen(nrofon,q1,prf2cn)
1015 c
1016               vatrtt(nrofon,q4t,f1cp) = unsde*(vafoen(nrofon,q6,prf3cn)+
1017      >                                         vafoen(nrofon,q7,prf4cn))
1018 c
1019               vatrtt(nrofon,q5t,f1cp) = unsde*(vafoen(nrofon,q7,prf2cn)+
1020      >                                         vatren(nrofon,q6,prfg1n))
1021 c
1022               vatrtt(nrofon,q6t,f1cp) = unsde*(vafoen(nrofon,q2,prf2cn)+
1023      >                                         vafoen(nrofon,q4,prf3cn))
1024 c
1025 c    dans le triangle NT2
1026 c
1027               vatrtt(nrofon,q1t,f2cp) = vafoen(nrofon,q1,prf2cn)
1028 c
1029               vatrtt(nrofon,q2t,f2cp) = vatren(nrofon,q2,prfg3n)
1030 c
1031               vatrtt(nrofon,q3t,f2cp) = vatren(nrofon,q3,prfg2n)
1032 c
1033               vatrtt(nrofon,q4t,f2cp) = unsde*(vafoen(nrofon,q7,prf2cn)+
1034      >                                         vatren(nrofon,q6,prfg1n))
1035 c
1036               vatrtt(nrofon,q5t,f2cp) = unstr*(vatren(nrofon,q2,prfg1n)+
1037      >                                         vatren(nrofon,q2,prfg2n)+
1038      >                                         vatren(nrofon,q3,prfg3n))
1039 c
1040               vatrtt(nrofon,q6t,f2cp) = unstr*(vafoen(nrofon,q4,prf2cn)+
1041      >                                         vatren(nrofon,q1,prfg2n)+
1042      >                                         vatren(nrofon,q3,prfg1n))
1043 c
1044 c    dans le triangle NT3
1045 c
1046               vatrtt(nrofon,q1t,f3cp) = vafoen(nrofon,q1,prf3cn)
1047 c
1048               vatrtt(nrofon,q2t,f3cp) = vafoen(nrofon,q1,prf4cn)
1049 c
1050               vatrtt(nrofon,q3t,f3cp) = vafoen(nrofon,q2,prf4cn)
1051 c
1052               vatrtt(nrofon,q4t,f3cp) = unsde*(vafoen(nrofon,q2,prf3cn)+
1053      >                                        vafoen(nrofon,q4,prf4cn))
1054 c
1055               vatrtt(nrofon,q5t,f3cp) = vafoen(nrofon,q5,prf4cn)
1056 c
1057               vatrtt(nrofon,q6t,f3cp) = vatrtt(nrofon,q4t,f1cp)
1058 c
1059 26141       continue
1060 c
1061             elseif  ( g1.eq.0 .and. d1.ne.0 ) then
1062             do 26142 , nrofon = 1 , nbfonc
1063 c
1064 c    dans le triangle NT1
1065 c
1066               vatrtt(nrofon,q1t,f1cp) = vafoen(nrofon,q1,prf3cn)
1067 c
1068               vatrtt(nrofon,q2t,f1cp) = unsde*(vafoen(nrofon,q4,prf1cn)+
1069      >                                         vatren(nrofon,q3,prfd2n))
1070 c
1071               vatrtt(nrofon,q3t,f1cp) = vafoen(nrofon,q1,prf2cn)
1072 c
1073               vatrtt(nrofon,q4t,f1cp) = unsde*(vafoen(nrofon,q6,prf3cn)+
1074      >                                         vatren(nrofon,q6,prfd1n))
1075 c
1076               vatrtt(nrofon,q5t,f1cp) = unsde*(vafoen(nrofon,q6,prf1cn)+
1077      >                                         vafoen(nrofon,q7,prf2cn))
1078 c
1079               vatrtt(nrofon,q6t,f1cp) = unsde*(vafoen(nrofon,q2,prf2cn)+
1080      >                                         vafoen(nrofon,q4,prf3cn))
1081 c
1082 c    dans le triangle NT2
1083 c
1084               vatrtt(nrofon,q1t,f2cp) = vafoen(nrofon,q1,prf2cn)
1085 c
1086               vatrtt(nrofon,q2t,f2cp) = vafoen(nrofon,q4,prf1cn)
1087 c
1088               vatrtt(nrofon,q3t,f2cp) = vafoen(nrofon,q1,prf1cn)
1089 c
1090               vatrtt(nrofon,q4t,f2cp) = vatrtt(nrofon,q5t,f1cp)
1091 c
1092               vatrtt(nrofon,q5t,f2cp) = vafoen(nrofon,q8,prf1cn)
1093 c
1094               vatrtt(nrofon,q6t,f2cp) = unsde*(vafoen(nrofon,q1,prf1cn)+
1095      >                                        vafoen(nrofon,q4,prf2cn))
1096 c
1097 c    dans le triangle NT3
1098 c
1099               vatrtt(nrofon,q1t,f3cp) = vafoen(nrofon,q1,prf3cn)
1100 c
1101               vatrtt(nrofon,q2t,f3cp) = vatren(nrofon,q2,prfd3n)
1102 c
1103               vatrtt(nrofon,q3t,f3cp) = vatren(nrofon,q3,prfd2n)
1104 c
1105               vatrtt(nrofon,q4t,f3cp) = unstr*(vafoen(nrofon,q2,prf3cn)+
1106      >                                         vatren(nrofon,q1,prfd1n)+
1107      >                                         vatren(nrofon,q1,prfd3n))
1108 c
1109               vatrtt(nrofon,q5t,f3cp) = unstr*(vafoen(nrofon,q2,prfd1n)+
1110      >                                         vatren(nrofon,q2,prfd2n)+
1111      >                                         vatren(nrofon,q3,prfd3n))
1112 c
1113               vatrtt(nrofon,q6t,f3cp) = unsde*(vafoen(nrofon,q6,prf3cn)+
1114      >                                         vatren(nrofon,q6,prfd1n))
1115 c
1116 26142       continue
1117 c
1118             elseif  ( g1.ne.0 .and. d1.ne.0 ) then
1119             do 26143 , nrofon = 1 , nbfonc
1120 c    dans le triangle NT1
1121 c
1122               vatrtt(nrofon,q1t,f1cp) = vafoen(nrofon,q1,prf3cn)
1123 c
1124               vatrtt(nrofon,q2t,f1cp) = unsde*(vatren(nrofon,q3,prfg2n)+
1125      >                                         vatren(nrofon,q2,prfd3n))
1126 c
1127               vatrtt(nrofon,q3t,f1cp) = vafoen(nrofon,q1,prf2cn)
1128 c
1129               vatrtt(nrofon,q4t,f1cp) = unsde*(vafoen(nrofon,q6,prf3cn)+
1130      >                                         vatren(nrofon,q6,prfg1n))
1131 c
1132               vatrtt(nrofon,q5t,f1cp) = unsde*(vafoen(nrofon,q7,prf2cn)+
1133      >                                         vatren(nrofon,q6,prfd1n))
1134 c
1135               vatrtt(nrofon,q6t,f1cp) = unsde*(vafoen(nrofon,q2,prf2cn)+
1136      >                                         vafoen(nrofon,q4,prf3cn))
1137 c
1138 c    dans le triangle NT2
1139 c
1140               vatrtt(nrofon,q1t,f2cp) = vafoen(nrofon,q1,prf2cn)
1141 c
1142               vatrtt(nrofon,q2t,f2cp) = vatren(nrofon,q2,prfd3n)
1143 c
1144               vatrtt(nrofon,q3t,f2cp) = vatren(nrofon,q3,prfd2n)
1145 c
1146               vatrtt(nrofon,q4t,f2cp) = unsde*(vafoen(nrofon,q7,prf2cn)+
1147      >                                         vatren(nrofon,q6,prfg1n))
1148 c
1149               vatrtt(nrofon,q5t,f2cp) = unstr*(vatren(nrofon,q2,prfg1n)+
1150      >                                         vatren(nrofon,q2,prfg2n)+
1151      >                                         vatren(nrofon,q3,prfg3n))
1152 c
1153               vatrtt(nrofon,q6t,f2cp) = unstr*(vafoen(nrofon,q4,prf2cn)+
1154      >                                         vatren(nrofon,q1,prfg2n)+
1155      >                                         vatren(nrofon,q3,prfg1n))
1156 c
1157 c    dans le triangle NT3
1158 c
1159               vatrtt(nrofon,q1t,f3cp) = vafoen(nrofon,q1,prf3cn)
1160 c
1161               vatrtt(nrofon,q2t,f3cp) = vatren(nrofon,q2,prfd3n)
1162 c
1163               vatrtt(nrofon,q3t,f3cp) = vatren(nrofon,q3,prfd2n)
1164 c
1165               vatrtt(nrofon,q4t,f3cp) = unstr*(vafoen(nrofon,q2,prf3cn)+
1166      >                                         vatren(nrofon,q1,prfd1n)+
1167      >                                         vatren(nrofon,q1,prfd3n))
1168 c
1169               vatrtt(nrofon,q5t,f3cp) = unstr*(vafoen(nrofon,q2,prfd1n)+
1170      >                                         vatren(nrofon,q2,prfd2n)+
1171      >                                         vatren(nrofon,q3,prfd3n))
1172 c
1173               vatrtt(nrofon,q6t,f3cp) = unsde*(vafoen(nrofon,q6,prf3cn)+
1174      >                                         vatren(nrofon,q6,prfd1n))
1175 c
1176 26143       continue
1177             endif
1178 c
1179             endif
1180 c
1181             endif