--- /dev/null
+ subroutine vcme25 ( typenh,
+ > nctfen, ncffen, cofxet, cofxep,
+ > notfen, nofaen, cofaen,
+ > nhenfa,
+ > nbfaen, pcfaen,
+ > ulsort, langue, codret )
+c ______________________________________________________________________
+c
+c H O M A R D
+c
+c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
+c
+c Version originale enregistree le 18 juin 1996 sous le numero 96036
+c aupres des huissiers de justice Simart et Lavoir a Clamart
+c Version 11.2 enregistree le 13 fevrier 2015 sous le numero 2015/014
+c aupres des huissiers de justice
+c Lavoir, Silinski & Cherqui-Abrahmi a Clamart
+c
+c HOMARD est une marque deposee d'Electricite de France
+c
+c Copyright EDF 1996
+c Copyright EDF 1998
+c Copyright EDF 2002
+c Copyright EDF 2020
+c ______________________________________________________________________
+c
+c aVant adaptation - Conversion de Maillage Extrude - phase 25
+c - - - - --
+c Determine les familles pour le lien face avant / face arriere
+c ______________________________________________________________________
+c . . . . .
+c . nom . e/s . taille . description .
+c .____________________________________________________________________.
+c . typenh . e . 1 . type d'entites .
+c . . . . -1 : noeuds .
+c . . . . 0 : mailles-points .
+c . . . . 1 : segments .
+c . . . . 2 : triangles .
+c . . . . 3 : tetraedres .
+c . . . . 4 : quadrangles .
+c . . . . 5 : pyramides .
+c . . . . 6 : hexaedres .
+c . . . . 7 : pentaedres .
+c . nctfen . e . 1 . nombre de caracteristique des f. entite .
+c . ncffen . e . 1 . nombre de caracteristique figees entite .
+c . cofxet . e . 1 . code de la famille de l'entite translatee .
+c . cofxep . e . 1 . code de la position de l'entite .
+c . nbenti . e . 1 . nombre d'entites .
+c . notfen . e . 1 . nombre d'origine des carac. des f. entite .
+c . nofaen . e . 1 . nombre d'origine de familles de l'entite .
+c . cofaen . e . notfen*. codes d'origine des familles de l'entite .
+c . . . nofaen . .
+c . nhenfa . e . char8 . objet decrivant les familles de l'entite .
+c . nbfaen . s . 1 . nombre de familles de l'entite .
+c . pcfaen . s . 1 . codes des familles de l'entite .
+c . ulsort . e . 1 . numero d'unite logique de la liste standard.
+c . langue . e . 1 . langue des messages .
+c . . . . 1 : francais, 2 : anglais .
+c . codret . e . 1 . code de retour des modules .
+c . . . . 0 : pas de probleme .
+c . . . . 1 : probleme .
+c ______________________________________________________________________
+c
+c====
+c 0. declarations et dimensionnement
+c====
+c
+c 0.1. ==> generalites
+c
+ implicit none
+ save
+c
+ character*6 nompro
+ parameter ( nompro = 'VCME25' )
+c
+#include "nblang.h"
+c
+c 0.2. ==> communs
+c
+#include "envex1.h"
+#include "gmenti.h"
+c
+#include "impr02.h"
+c
+c 0.3. ==> arguments
+c
+ integer typenh
+ integer nctfen, ncffen, cofxet, cofxep
+ integer notfen, nofaen, cofaen(notfen,nofaen)
+ integer nbfaen, pcfaen
+c
+ character*8 nhenfa
+c
+ integer ulsort, langue, codret
+c
+c 0.4. ==> variables locales
+c
+ integer iaux
+ integer nbfae0
+ integer numfam
+c
+ integer nbmess
+ parameter ( nbmess = 10 )
+ character*80 texte(nblang,nbmess)
+c
+c 0.5. ==> initialisations
+c ______________________________________________________________________
+c
+c====
+c 1. messages
+c====
+c
+#include "impr01.h"
+c
+#ifdef _DEBUG_HOMARD_
+ write (ulsort,texte(langue,1)) 'Entree', nompro
+ call dmflsh (iaux)
+#endif
+c
+#include "impr03.h"
+c
+ texte(1,4) = '(''Familles d''''extrusion des '',a)'
+c
+ texte(2,4) = '(''Description of families of extruded '',a)'
+c
+#ifdef _DEBUG_HOMARD_
+ write (ulsort,texte(langue,4)) mess14(langue,3,typenh)
+ write (ulsort,90002) 'nctfen', nctfen
+#endif
+c
+ codret = 0
+c
+c====
+c. Parcours des familles initiales
+c====
+#ifdef _DEBUG_HOMARD_
+ write (ulsort,90002) '3. parcours ; codret', codret
+#endif
+c
+c 2.1. ==> Taille initiale du tableau
+c
+ nbfae0 = nbfaen
+ numfam = 0
+c
+c 2.2. ==> Allongement de la taille du tableau des familles
+c
+ 22 continue
+c
+ if ( codret.eq.0 ) then
+c
+ nbfae0 = nbfae0 + 25
+c
+#ifdef _DEBUG_HOMARD_
+ write (ulsort,texte(langue,3)) 'UTFAM2', nompro
+#endif
+ call utfam2 ( typenh, nhenfa, nctfen, nbfae0,
+ > pcfaen,
+ > ulsort, langue, codret)
+c
+ endif
+c
+c 2.3. ==> Programme utilitaire
+c
+ if ( codret.eq.0 ) then
+c
+#ifdef _DEBUG_HOMARD_
+ write (ulsort,texte(langue,3)) 'VCME26', nompro
+#endif
+ call vcme26 ( typenh, numfam,
+ > nctfen, ncffen, cofxet, cofxep,
+ > notfen, nofaen, cofaen,
+ > nbfae0, nbfaen, imem(pcfaen),
+ > ulsort, langue, codret )
+c
+ endif
+c
+c 2.4. ==> A rallonger ?
+c
+ if ( codret.eq.0 ) then
+c
+ if ( nbfaen.lt.0 ) then
+c
+ nbfaen = -nbfaen
+ goto 22
+c
+ endif
+c
+ endif
+c
+c====
+c 3. Redimensionnement final
+c====
+#ifdef _DEBUG_HOMARD_
+ write (ulsort,90002) '3. Redimensionnement ; codret', codret
+ write (ulsort,90002) 'nbfaen', nbfaen
+ write (ulsort,90002) 'nbfae0', nbfae0
+#endif
+c
+ if ( nbfaen.ne.nbfae0 ) then
+c
+ if ( codret.eq.0 ) then
+c
+#ifdef _DEBUG_HOMARD_
+ write (ulsort,texte(langue,3)) 'UTFAM2', nompro
+#endif
+ call utfam2 ( typenh, nhenfa, nctfen, nbfaen,
+ > pcfaen,
+ > ulsort, langue, codret)
+c
+ endif
+c
+ endif
+c
+#ifdef _DEBUG_HOMARD_
+ call gmprsx ( mess14(langue,3,typenh), nhenfa//'.Codes')
+#endif
+c
+c====
+c 4. la fin
+c====
+c
+ if ( codret.ne.0 ) then
+c
+#include "envex2.h"
+c
+ write (ulsort,texte(langue,1)) 'Sortie', nompro
+ write (ulsort,texte(langue,2)) codret
+c
+ endif
+c
+#ifdef _DEBUG_HOMARD_
+ write (ulsort,texte(langue,1)) 'Sortie', nompro
+ call dmflsh (iaux)
+#endif
+c
+ end