1 subroutine utfaa2 ( nbtrto, nbquto,
4 > nbfaar, posifa, facare )
6 c ______________________________________________________________________
10 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
12 c Version originale enregistree le 18 juin 1996 sous le numero 96036
13 c aupres des huissiers de justice Simart et Lavoir a Clamart
14 c Version 11.2 enregistree le 13 fevrier 2015 sous le numero 2015/014
15 c aupres des huissiers de justice
16 c Lavoir, Silinski & Cherqui-Abrahmi a Clamart
18 c HOMARD est une marque deposee d'Electricite de France
24 c ______________________________________________________________________
26 c UTilitaire - voisinage FAce-Aretes - phase 2
28 c ______________________________________________________________________
30 c determine les faces voisines de chaque arete
31 c ______________________________________________________________________
33 c . nom . e/s . taille . description .
34 c .____________________________________________________________________.
35 c . nbtrto . e . 1 . nombre de triangles a examiner .
36 c . nbquto . e . 1 . nombre de quadrangles a examiner .
37 c . nbtral . e . 1 . nombre de triangles pour les allocations .
38 c . nbqual . e . 1 . nombre de quadrangles pour les allocations .
39 c . aretri . e .nbtrto*3. numeros des 3 aretes des triangles .
40 c . arequa . e .nbquto*4. numeros des 4 aretes des quadrangles .
41 c . nbfaar . e . 1 . nombre cumule de faces par arete .
42 c . posifa . e/s .0:nbaret. pointeur sur tableau facare .
43 c . facare . s . nbfaar . liste des faces contenant une arete .
44 c ______________________________________________________________________
47 c 0. declarations et dimensionnement
50 c 0.1. ==> generalites
59 integer nbtrto, nbquto, nbfaar
60 integer nbtral, nbqual
61 integer aretri(nbtral,3), arequa(nbqual,4)
62 integer posifa(0:*), facare(nbfaar)
64 c 0.4. ==> variables locales
66 integer laface, larete
67 c ______________________________________________________________________
70 c 1. on passe en revue chaque face et on indique qu'elle est voisine de
71 c ses aretes : on incremente le pointeur posifa(i) et on
72 c memorise la face dans facare a la place posifa(i) :
73 c . pour un triangle, c'est le numero HOMARD du triangle
74 c . pour un quadrangle, c'est l'oppose du numero HOMARD du quadrangle
78 c posifa(i) = position de la derniere voisine de l'arete i-1
79 c = nombre cumule de voisines pour les (i-1) 1eres aretes
83 c posifa(i) = position de la derniere voisine de l'arete i
84 c = nombre cumule de voisines pour les i premieres aretes
87 do 11 , laface = 1 , nbtrto
89 larete = aretri(laface,1)
90 posifa(larete) = posifa(larete) + 1
91 facare(posifa(larete)) = laface
93 larete = aretri(laface,2)
94 posifa(larete) = posifa(larete) + 1
95 facare(posifa(larete)) = laface
97 larete = aretri(laface,3)
98 posifa(larete) = posifa(larete) + 1
99 facare(posifa(larete)) = laface
103 do 12 , laface = 1 , nbquto
105 larete = arequa(laface,1)
106 posifa(larete) = posifa(larete) + 1
107 facare(posifa(larete)) = -laface
109 larete = arequa(laface,2)
110 posifa(larete) = posifa(larete) + 1
111 facare(posifa(larete)) = -laface
113 larete = arequa(laface,3)
114 posifa(larete) = posifa(larete) + 1
115 facare(posifa(larete)) = -laface
117 larete = arequa(laface,4)
118 posifa(larete) = posifa(larete) + 1
119 facare(posifa(larete)) = -laface