1 subroutine vcme25 ( typenh,
2 > nctfen, ncffen, cofxet, cofxep,
3 > notfen, nofaen, cofaen,
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 ______________________________________________________________________
27 c aVant adaptation - Conversion de Maillage Extrude - phase 25
29 c Determine les familles pour le lien face avant / face arriere
30 c ______________________________________________________________________
32 c . nom . e/s . taille . description .
33 c .____________________________________________________________________.
34 c . typenh . e . 1 . type d'entites .
35 c . . . . -1 : noeuds .
36 c . . . . 0 : mailles-points .
37 c . . . . 1 : segments .
38 c . . . . 2 : triangles .
39 c . . . . 3 : tetraedres .
40 c . . . . 4 : quadrangles .
41 c . . . . 5 : pyramides .
42 c . . . . 6 : hexaedres .
43 c . . . . 7 : pentaedres .
44 c . nctfen . e . 1 . nombre de caracteristique des f. entite .
45 c . ncffen . e . 1 . nombre de caracteristique figees entite .
46 c . cofxet . e . 1 . code de la famille de l'entite translatee .
47 c . cofxep . e . 1 . code de la position de l'entite .
48 c . nbenti . e . 1 . nombre d'entites .
49 c . notfen . e . 1 . nombre d'origine des carac. des f. entite .
50 c . nofaen . e . 1 . nombre d'origine de familles de l'entite .
51 c . cofaen . e . notfen*. codes d'origine des familles de l'entite .
53 c . nhenfa . e . char8 . objet decrivant les familles de l'entite .
54 c . nbfaen . s . 1 . nombre de familles de l'entite .
55 c . pcfaen . s . 1 . codes des familles de l'entite .
56 c . ulsort . e . 1 . numero d'unite logique de la liste standard.
57 c . langue . e . 1 . langue des messages .
58 c . . . . 1 : francais, 2 : anglais .
59 c . codret . e . 1 . code de retour des modules .
60 c . . . . 0 : pas de probleme .
61 c . . . . 1 : probleme .
62 c ______________________________________________________________________
65 c 0. declarations et dimensionnement
68 c 0.1. ==> generalites
74 parameter ( nompro = 'VCME25' )
88 integer nctfen, ncffen, cofxet, cofxep
89 integer notfen, nofaen, cofaen(notfen,nofaen)
90 integer nbfaen, pcfaen
94 integer ulsort, langue, codret
96 c 0.4. ==> variables locales
103 parameter ( nbmess = 10 )
104 character*80 texte(nblang,nbmess)
106 c 0.5. ==> initialisations
107 c ______________________________________________________________________
115 #ifdef _DEBUG_HOMARD_
116 write (ulsort,texte(langue,1)) 'Entree', nompro
122 texte(1,4) = '(''Familles d''''extrusion des '',a)'
124 texte(2,4) = '(''Description of families of extruded '',a)'
126 #ifdef _DEBUG_HOMARD_
127 write (ulsort,texte(langue,4)) mess14(langue,3,typenh)
128 write (ulsort,90002) 'nctfen', nctfen
134 c. Parcours des familles initiales
136 #ifdef _DEBUG_HOMARD_
137 write (ulsort,90002) '3. parcours ; codret', codret
140 c 2.1. ==> Taille initiale du tableau
145 c 2.2. ==> Allongement de la taille du tableau des familles
149 if ( codret.eq.0 ) then
153 #ifdef _DEBUG_HOMARD_
154 write (ulsort,texte(langue,3)) 'UTFAM2', nompro
156 call utfam2 ( typenh, nhenfa, nctfen, nbfae0,
158 > ulsort, langue, codret)
162 c 2.3. ==> Programme utilitaire
164 if ( codret.eq.0 ) then
166 #ifdef _DEBUG_HOMARD_
167 write (ulsort,texte(langue,3)) 'VCME26', nompro
169 call vcme26 ( typenh, numfam,
170 > nctfen, ncffen, cofxet, cofxep,
171 > notfen, nofaen, cofaen,
172 > nbfae0, nbfaen, imem(pcfaen),
173 > ulsort, langue, codret )
177 c 2.4. ==> A rallonger ?
179 if ( codret.eq.0 ) then
181 if ( nbfaen.lt.0 ) then
191 c 3. Redimensionnement final
193 #ifdef _DEBUG_HOMARD_
194 write (ulsort,90002) '3. Redimensionnement ; codret', codret
195 write (ulsort,90002) 'nbfaen', nbfaen
196 write (ulsort,90002) 'nbfae0', nbfae0
199 if ( nbfaen.ne.nbfae0 ) then
201 if ( codret.eq.0 ) then
203 #ifdef _DEBUG_HOMARD_
204 write (ulsort,texte(langue,3)) 'UTFAM2', nompro
206 call utfam2 ( typenh, nhenfa, nctfen, nbfaen,
208 > ulsort, langue, codret)
214 #ifdef _DEBUG_HOMARD_
215 call gmprsx ( mess14(langue,3,typenh), nhenfa//'.Codes')
222 if ( codret.ne.0 ) then
226 write (ulsort,texte(langue,1)) 'Sortie', nompro
227 write (ulsort,texte(langue,2)) codret
231 #ifdef _DEBUG_HOMARD_
232 write (ulsort,texte(langue,1)) 'Sortie', nompro