1 subroutine utfaa1 ( nbarto, nbtrto, nbquto,
2 > nbaral, nbtral, nbqual,
5 c ______________________________________________________________________
9 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
11 c Version originale enregistree le 18 juin 1996 sous le numero 96036
12 c aupres des huissiers de justice Simart et Lavoir a Clamart
13 c Version 11.2 enregistree le 13 fevrier 2015 sous le numero 2015/014
14 c aupres des huissiers de justice
15 c Lavoir, Silinski & Cherqui-Abrahmi a Clamart
17 c HOMARD est une marque deposee d'Electricite de France
23 c ______________________________________________________________________
25 c UTilitaire - voisinage FAce-Aretes - phase 1
27 c ______________________________________________________________________
29 c determine le nombre de faces voisines de chaque arete
30 c ______________________________________________________________________
32 c . nom . e/s . taille . description .
33 c .____________________________________________________________________.
34 c . nbarto . e . 1 . nombre d'aretes a examiner .
35 c . nbtrto . e . 1 . nombre de triangles a examiner .
36 c . nbquto . e . 1 . nombre de quadrangles a examiner .
37 c . nbaral . e . 1 . nombre d'aretes pour les allocations .
38 c . nbtral . e . 1 . nombre de triangles pour les allocations .
39 c . nbqual . e . 1 . nombre de quadrangles pour les allocations .
40 c . aretri . e .nbtrto*3. numeros des 3 aretes des triangles .
41 c . arequa . e .nbquto*4. numeros des 4 aretes des quadrangles .
42 c . nbfaar . s . 1 . nombre cumule de faces par arete .
43 c . posifa . s .0:nbarto. pointeur sur tableau facare .
44 c ______________________________________________________________________
47 c 0. declarations et dimensionnement
50 c 0.1. ==> generalites
59 integer nbarto, nbtrto, nbquto, nbfaar
60 integer nbaral, nbtral, nbqual
61 integer aretri(nbtral,3), arequa(nbqual,4)
62 integer posifa(0:nbaral)
64 c 0.4. ==> variables locales
66 integer laface, larete
67 c ______________________________________________________________________
70 c 1. on passe en revue chaque face et on incremente de 1 le nombre de
71 c faces voisines de ses 3 aretes
79 c posifa(i) = nombre de faces voisines de l'arete i
82 do 11 , larete = 0 , nbarto
86 do 12 , laface = 1 , nbtrto
87 posifa(aretri(laface,1)) = posifa(aretri(laface,1)) + 1
88 posifa(aretri(laface,2)) = posifa(aretri(laface,2)) + 1
89 posifa(aretri(laface,3)) = posifa(aretri(laface,3)) + 1
92 do 13 , laface = 1 , nbquto
93 posifa(arequa(laface,1)) = posifa(arequa(laface,1)) + 1
94 posifa(arequa(laface,2)) = posifa(arequa(laface,2)) + 1
95 posifa(arequa(laface,3)) = posifa(arequa(laface,3)) + 1
96 posifa(arequa(laface,4)) = posifa(arequa(laface,4)) + 1
100 c 2. on initialise le pointeur dans le tableau des voisins
104 c posifa(i) = nombre de faces voisines de l'arete i
108 c posifa(i) = position de la derniere voisine de l'arete i-1
109 c = nombre cumule de voisines pour les (i-1) 1eres aretes
112 do 21 , larete = 1 , nbarto
113 posifa(larete) = posifa(larete) + posifa(larete-1)
116 nbfaar = posifa(nbarto)
118 do 22 , larete = nbarto , 1 , -1
119 posifa(larete) = posifa(larete-1)