1 subroutine deiari ( decare, decfac,
5 > ulsort, langue, codret)
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 traitement des DEcisions - Initialisation de l'indicateur entier
28 c - cas des ARetes - Initialisation
30 c ______________________________________________________________________
32 c . nom . e/s . taille . description .
33 c .____________________________________________________________________.
34 c . decare . s .0:nbarto. decisions des aretes .
35 c . decfac . s . -nbquto. decision sur les faces (quad. + tri.) .
37 c . merare . e . nbarto . mere des aretes .
38 c . posifa . e . nbarto . pointeur sur tableau facare .
39 c . facare . e . nbfaar . liste des faces contenant une arete .
40 c . arsupp . e . nbarto . support pour les aretes .
41 c . ulsort . e . 1 . numero d'unite logique de la liste standard.
42 c . langue . e . 1 . langue des messages .
43 c . . . . 1 : francais, 2 : anglais .
44 c . codret . es . 1 . code de retour des modules .
45 c . . . . 0 : pas de probleme .
46 c . . . . 2 : probleme dans le traitement .
47 c ______________________________________________________________________
50 c 0. declarations et dimensionnement
53 c 0.1. ==> generalites
59 parameter ( nompro = 'DEIARI' )
73 integer decare(0:nbarto), decfac(-nbquto:nbtrto)
74 integer merare(nbarto)
75 integer posifa(0:nbarto), facare(nbfaar)
76 integer arsupp(nbarto)
78 integer ulsort, langue, codret
80 c 0.4. ==> variables locales
82 integer larete, lamere
83 integer iaux, ideb, ifin
86 parameter (nbmess = 10 )
87 character*80 texte(nblang,nbmess)
88 c ______________________________________________________________________
94 c 1.1. ==> Les messages
99 write (ulsort,texte(langue,1)) 'Entree', nompro
108 c 2. traitement des indicateurs portant sur les aretes
111 #ifdef _DEBUG_HOMARD_
112 write(ulsort,texte(langue,4)) mess14(langue,3,1)
115 do 21 , larete = 1, nbarto
117 if ( arsupp(larete).ne.0 ) then
119 c 2.1. ==> Inhibition du raffinement par defaut : on garde l'arete
120 c designee et les faces qui la contiennent
123 cgn write(ulsort,*) 'Arete', larete, ' a garder'
124 ideb = posifa(larete-1)+1
125 ifin = posifa(larete)
126 do 211 , iaux = ideb, ifin
127 cgn write(ulsort,*) 'face', facare(iaux), ' a garder'
128 decfac(facare(iaux)) = 0
131 c 2.2. ==> Inhibition du deraffinement par defaut : on garde la mere
132 c de l'arete designee si elle existe et des faces qui
135 lamere = merare(larete)
137 if ( lamere.gt.0 ) then
140 cgn write(ulsort,*) 'Arete', lamere, ' a garder'
141 ideb = posifa(lamere-1)+1
142 ifin = posifa(lamere)
143 do 212 , iaux = ideb, ifin
144 cgn write(ulsort,*) 'face', facare(iaux), ' a garder'
145 decfac(facare(iaux)) = 0
158 if ( codret.ne.0 ) then
162 write (ulsort,texte(langue,1)) 'Sortie', nompro
163 write (ulsort,texte(langue,2)) codret
167 #ifdef _DEBUG_HOMARD_
168 write (ulsort,texte(langue,1)) 'Sortie', nompro