1 subroutine infc34 ( numcas, nbcomp, nbentc,
2 > profil, vafoti, vafotr,
3 > arequa, perqua, nivqua,
6 > ulsort, langue, codret )
7 c ______________________________________________________________________
11 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
13 c Version originale enregistree le 18 juin 1996 sous le numero 96036
14 c aupres des huissiers de justice Simart et Lavoir a Clamart
15 c Version 11.2 enregistree le 13 fevrier 2015 sous le numero 2015/014
16 c aupres des huissiers de justice
17 c Lavoir, Silinski & Cherqui-Abrahmi a Clamart
19 c HOMARD est une marque deposee d'Electricite de France
25 c ______________________________________________________________________
26 c INformation - inFormations Complementaires - phase 34
28 c Valeurs sur les quadrangles
29 c ______________________________________________________________________
31 c . nom . e/s . taille . description .
32 c .____________________________________________________________________.
33 c . numcas . e . 1 . numero du cas en cours de traitement .
34 c . . . . 1 : niveau .
35 c . . . . 2 : qualite .
36 c . . . . 3 : diametre .
37 c . . . . 4 : parente .
38 c . . . . 5 : voisins des recollements .
39 c . nbcomp . e . 1 . nombre de composantes .
40 c . nbentc . e . 1 . nombre total d'entites du calcul .
41 c . profil . s . nbentc . pour chaque entite du calcul : .
42 c . . . . 0 : l'entite est absente du profil .
43 c . . . . 1 : l'entite est presente dans le profil .
44 c . vafoti . s . nbentc . tableau temporaire de la fonction .
45 c . vafotr . s . nbentc . tableau temporaire de la fonction .
46 c . arequa . e .nbquto*4. numeros des 4 aretes des quadrangles .
47 c . perqua . e . nbquto . pere des quadrangles .
48 c . nivqua . e . nbquto . niveau des quadrangles .
49 c . nquaca . e . * . nro des quadrangles dans le calcul .
50 c . coonoe . e . nbnoto . coordonnees des noeuds .
52 c . somare . e .2*nbarto. numeros des extremites d'arete .
53 c . ulsort . e . 1 . numero d'unite logique de la liste standard.
54 c . langue . e . 1 . langue des messages .
55 c . . . . 1 : francais, 2 : anglais .
56 c . codret . es . 1 . code de retour des modules .
57 c . . . . 0 : pas de probleme .
58 c . . . . 5 : mauvais type de code de calcul associe .
59 c ______________________________________________________________________
62 c 0. declarations et dimensionnement
65 c 0.1. ==> generalites
71 parameter ( nompro = 'INFC34' )
87 integer nbcomp, nbentc
88 integer profil(nbentc)
89 integer vafoti(nbentc)
90 integer arequa(nbquto,4), perqua(nbquto)
91 integer nivqua(nbquto)
93 integer somare(2,nbarto)
95 double precision coonoe(nbnoto,sdim)
96 double precision vafotr(nbentc)
98 integer ulsort, langue, codret
100 c 0.4. ==> variables locales
104 double precision qualit, surf, diamet
107 parameter ( nbmess = 10 )
108 character*80 texte(nblang,nbmess)
110 c 0.5. ==> initialisations
111 c ______________________________________________________________________
120 #ifdef _DEBUG_HOMARD_
121 write (ulsort,texte(langue,1)) 'Entree', nompro
124 texte(1,4) = '(''.. Valeurs sur les '',a)'
126 texte(2,4) = '(''.. Values over the '',a)'
128 #ifdef _DEBUG_HOMARD_
129 write (ulsort,texte(langue,4)) mess14(langue,3,4)
130 write (ulsort,90002) 'cas ', numcas
131 write (ulsort,90002) 'nbquto', nbquto
132 write (ulsort,90002) 'nbqupe', nbqupe
133 write (ulsort,90002) 'nbentc', nbentc
142 do 21 , iaux = 1 , nbentc
150 if ( numcas.eq.1 ) then
152 c 3.1. ==> Les quadrangles de depart ou issus d'un decoupage en 4
154 do 31 , iaux = 1 , nbqupe
157 if ( jaux.ne.0 ) then
158 vafotr(jaux) = dble(nivqua(iaux))
164 c 3.2. ==> Les quadrangles issus d'un decoupage de conformite
166 do 32 , iaux = nbqupe+1 , nbquto
169 if ( jaux.ne.0 ) then
170 vafotr(jaux) = dble(nivqua(iaux)) - 0.5d0
180 elseif ( numcas.eq.2 ) then
182 do 41 , iaux = 1 , nbquto
185 if ( jaux.ne.0 ) then
186 call utqqua ( iaux, qualit, surf,
187 > coonoe, somare, arequa )
188 vafotr(jaux) = qualit
198 elseif ( numcas.eq.3 ) then
200 do 51 , iaux = 1 , nbquto
203 if ( jaux.ne.0 ) then
204 call utdqua ( iaux, diamet,
205 > coonoe, somare, arequa )
206 vafotr(jaux) = diamet
217 elseif ( numcas.eq.4 ) then
219 do 61 , iaux = 1 , nbquto
222 if ( jaux.ne.0 ) then
223 vafoti(jaux) = perqua(iaux)
235 if ( codret.ne.0 ) then
239 write (ulsort,texte(langue,1)) 'Sortie', nompro
240 write (ulsort,texte(langue,2)) codret
244 #ifdef _DEBUG_HOMARD_
245 write (ulsort,texte(langue,1)) 'Sortie', nompro