1 subroutine sfcoaq ( nomail, option,
3 > ulsort, langue, codret )
4 c ______________________________________________________________________
8 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
10 c Version originale enregistree le 18 juin 1996 sous le numero 96036
11 c aupres des huissiers de justice Simart et Lavoir a Clamart
12 c Version 11.2 enregistree le 13 fevrier 2015 sous le numero 2015/014
13 c aupres des huissiers de justice
14 c Lavoir, Silinski & Cherqui-Abrahmi a Clamart
16 c HOMARD est une marque deposee d'Electricite de France
22 c ______________________________________________________________________
24 c Suivi de Frontiere : COntrole - Aretes et Quadrangles concernes
26 c ______________________________________________________________________
28 c . nom . e/s . taille . description .
29 c .____________________________________________________________________.
30 c . nomail . e . char8 . nom de l'objet maillage homard .
31 c . otpion . e . 1 . type de recherche : .
32 c . . . . 0 : toutes les entites actives .
33 c . . . . 1 : les actives qui viennent d'etre coupees.
34 c . nbarfr . s . 1 . nombre d'aretes concernees .
35 c . nbqufr . s . 1 . nombre de quadrangles concernes .
36 c . ulsort . e . 1 . numero d'unite logique de la liste standard.
37 c . langue . e . 1 . langue des messages .
38 c . . . . 1 : francais, 2 : anglais .
39 c . codret . es . 1 . code de retour des modules .
40 c . . . . en entree = celui du module d'avant .
41 c . . . . en sortie = celui du module en cours .
42 c . . . . 0 : pas de probleme .
43 c . . . . 1 : manque de temps cpu .
44 c . . . . 2x : probleme dans les memoires .
45 c . . . . 3x : probleme dans les fichiers .
46 c . . . . 5 : mauvaises options .
47 c . . . . 6 : problemes dans les noms d'objet .
48 c ______________________________________________________________________
51 c 0. declarations et dimensionnement
54 c 0.1. ==> generalites
60 parameter ( nompro = 'SFCOAQ' )
78 integer nbarfr, nbqufr
80 integer ulsort, langue, codret
82 c 0.4. ==> variables locales
86 integer psomar, phetar
87 integer pcfaar, pfamar
88 integer parequ, phetqu
89 integer pcfaqu, pfamqu
92 character*8 nhnoeu, nhmapo, nharet, nhtria, nhquad
93 character*8 nhtetr, nhhexa, nhpyra, nhpent
95 character*8 nhvois, nhsupe, nhsups
98 parameter ( nbmess = 10 )
99 character*80 texte(nblang,nbmess)
101 c 0.5. ==> initialisations
102 c ______________________________________________________________________
107 c 1.1. ==> Les messages
111 #ifdef _DEBUG_HOMARD_
112 write (ulsort,texte(langue,1)) 'Entree', nompro
116 texte(1,4) = '(''Examen de toutes les entites.'')'
117 texte(1,5) = '(''Examen des entites decoupees.'')'
118 texte(1,6) = '(''Option incorrecte :'',i10)'
119 texte(1,7) = '(''Aucun '',a,''n''''est concerne.'')'
120 texte(1,8) = '(''Nombre de '',a,''concernes :'',i10)'
122 texte(2,4) = '(''Examination of all the entities.'')'
123 texte(2,5) = '(''Examination of cut entities.'')'
124 texte(2,6) = '(''Non valid option :'',i10)'
125 texte(2,7) = '(''No '',a,''is involved'')'
126 texte(2,8) = '(''Number of involved '',a,'':'',i10)'
132 if ( option.lt.0 .and. option.gt.1 ) then
133 write (ulsort,texte(langue,6)) option
137 #ifdef _DEBUG_HOMARD_
138 write (ulsort,texte(langue,4+option))
143 c 2. recuperation des pointeurs
146 c 2.1. ==> structure generale
148 if ( codret.eq.0 ) then
150 #ifdef _DEBUG_HOMARD_
151 write (ulsort,texte(langue,3)) 'UTNOMH', nompro
153 call utnomh ( nomail,
155 > degre, maconf, homolo, hierar,
156 > rafdef, nbmane, typcca, typsfr, maextr,
159 > nhnoeu, nhmapo, nharet,
161 > nhtetr, nhhexa, nhpyra, nhpent,
163 > nhvois, nhsupe, nhsups,
164 > ulsort, langue, codret)
170 if ( codret.eq.0 ) then
172 #ifdef _DEBUG_HOMARD_
173 write (ulsort,texte(langue,3)) 'UTAD02_ar', nompro
176 call utad02 ( iaux, nharet,
177 > phetar, psomar, jaux, jaux,
178 > pfamar, pcfaar, jaux,
181 > ulsort, langue, codret )
185 if ( nbquto.gt.0 ) then
187 #ifdef _DEBUG_HOMARD_
188 write (ulsort,texte(langue,3)) 'UTAD02_qu', nompro
191 call utad02 ( iaux, nhquad,
192 > phetqu, parequ, jaux, jaux,
193 > pfamqu, pcfaqu, jaux,
196 > ulsort, langue, codret )
201 c 3. Decompte des aretes concernees par la frontiere
203 #ifdef _DEBUG_HOMARD_
204 write (ulsort,90002) '3. Decompte aretes ; codret', codret
207 if ( codret.eq.0 ) then
209 #ifdef _DEBUG_HOMARD_
210 write (ulsort,texte(langue,3)) 'SFCONA', nompro
212 call sfcona ( option, nbarfr, imem(iaux),
213 > imem(phetar), imem(pcfaar), imem(pfamar),
214 > ulsort, langue, codret )
218 if ( codret.eq.0 ) then
220 #ifdef _DEBUG_HOMARD_
221 write (ulsort,texte(langue,8)) mess14(langue,3,1), nbarfr
224 if ( nbarfr.eq.0 ) then
226 write (ulsort,texte(langue,7)) mess14(langue,1,1)
233 c 4. Decompte des quadrangles concernes par la frontiere
235 #ifdef _DEBUG_HOMARD_
236 write (ulsort,90002) '4. Decompte quad ; codret', codret
239 if ( nbquto.gt.0 ) then
241 if ( codret.eq.0 ) then
243 #ifdef _DEBUG_HOMARD_
244 write (ulsort,texte(langue,3)) 'SFCONQ', nompro
246 call sfconq ( option, nbqufr, imem(iaux),
247 > imem(phetqu), imem(pcfaqu), imem(pfamqu),
248 > ulsort, langue, codret )
252 if ( codret.eq.0 ) then
254 #ifdef _DEBUG_HOMARD_
255 write (ulsort,texte(langue,8)) mess14(langue,3,4), nbqufr
258 if ( nbqufr.eq.0 ) then
260 write (ulsort,texte(langue,7)) mess14(langue,1,4)
272 if ( codret.ne.0 ) then
276 write (ulsort,texte(langue,1)) 'Sortie', nompro
277 write (ulsort,texte(langue,2)) codret
281 #ifdef _DEBUG_HOMARD_
282 write (ulsort,texte(langue,1)) 'Sortie', nompro