1 subroutine eslmmb ( idfmed, nomamd,
2 > typenh, typent, typgeo,
3 > nmadeb, nbmato, nbrfma, nbelem, numfam,
7 > ulsort, langue, codret )
8 c ______________________________________________________________________
12 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
14 c Version originale enregistree le 18 juin 1996 sous le numero 96036
15 c aupres des huissiers de justice Simart et Lavoir a Clamart
16 c Version 11.2 enregistree le 13 fevrier 2015 sous le numero 2015/014
17 c aupres des huissiers de justice
18 c Lavoir, Silinski & Cherqui-Abrahmi a Clamart
20 c HOMARD est une marque deposee d'Electricite de France
26 c ______________________________________________________________________
28 c Entree-Sortie - Lecture d'un Maillage au format MED
32 c ______________________________________________________________________
34 c . nom . e/s . taille . description .
35 c .____________________________________________________________________.
36 c . idfmed . e . 1 . identificateur du fichier de .
37 c . . . . maillage de sortie .
38 c . nomamd . e . char64 . nom du maillage MED .
39 c . nmadeb . e . 1 . numero de la maille de debut .
40 c . . . . >=0 : le tableau est pris tel quel .
41 c . . . . <0 : les descriptions sont inversees .
42 c . nbmato . e . 1 . nombre de mailles a lire .
43 c . nbrfma . e . 1 . nbre noeuds par maille si connec. par noeud.
44 c . . . . nbre faces par maille si connectivite desce.
45 c . nbelem . e . 1 . nombre d'elements, tous types confondus .
46 c . numfam . e . 1 . decalage dans la numerotation des familles .
47 c . . . . 1 : le tableau est pris tel quel .
48 c . . . . <=0 : le tableau passe negatif et est .
49 c . . . . decale de numfam .
50 c . typenh . e . 1 . code des entites au sens homard .
51 c . . . . -1 : noeuds .
52 c . . . . 0 : mailles-points .
53 c . . . . 1 : segments .
54 c . . . . 2 : triangles .
55 c . . . . 3 : tetraedres .
56 c . . . . 4 : quadrangles .
57 c . . . . 5 : pyramides .
58 c . . . . 6 : hexaedres .
59 c . . . . 7 : pentaedres .
60 c . typent . e . 1 . type des entites au sens MED .
61 c . typgeo . e . 1 . type geometrique au sens MED .
62 c . typcon . e . 1 . type de connectivite .
63 c . . . . 0 : par noeud (ednoda) .
64 c . . . . 1 : descendente (eddesc) .
65 c . dim1 . e . 1 . 1ere dimension de la connectivite .
66 c . conmai . s .nbelem**. connectivite des mailles .
67 c . fammai . s . nbelem . famille med des mailles .
68 c . tbiaux . . nbelem . tableau tampon .
70 c . ulsort . e . 1 . numero d'unite logique de la liste standard.
71 c . langue . e . 1 . langue des messages .
72 c . . . . 1 : francais, 2 : anglais .
73 c . codret . es . 1 . code de retour des modules .
74 c . . . . 0 : pas de probleme .
75 c . . . . 1 : probleme .
76 c ______________________________________________________________________
79 c 0. declarations et dimensionnement
82 c 0.1. ==> generalites
88 parameter ( nompro = 'ESLMMB' )
100 integer typenh, typent, typgeo
101 integer nmadeb, nbmato, nbrfma, nbelem, numfam
103 integer conmai(dim1,*), fammai(nbelem)
108 integer ulsort, langue, codret
110 c 0.4. ==> variables locales
115 parameter ( nbmess = 150 )
116 character*80 texte(nblang,nbmess)
117 c ______________________________________________________________________
123 c 1.1. ==> les messages
127 #ifdef _DEBUG_HOMARD_
128 write (ulsort,texte(langue,1)) 'Entree', nompro
132 texte(1,4) = '(''... Lecture des '',i10,1x,a)'
134 texte(2,4) = '(''... Readings of '',i10,1x,a)'
140 #ifdef _DEBUG_HOMARD_
141 write (ulsort,texte(langue,4)) nbmato, mess14(langue,3,typenh)
147 c 2. Lecture de la famille d'appartenance
150 if ( codret.eq.0 ) then
152 #ifdef _DEBUG_HOMARD_
153 write (ulsort,texte(langue,3)) 'ESLMMF', nompro
155 call eslmmf ( idfmed, nomamd,
156 > typenh, typent, typgeo,
157 > nmadeb, nbmato, nbelem, numfam,
161 > ulsort, langue, codret )
166 c 3. Lecture de la connectivite des mailles
169 if ( codret.eq.0 ) then
171 #ifdef _DEBUG_HOMARD_
172 write (ulsort,texte(langue,3)) 'ESLMMC', nompro
174 call eslmmc ( idfmed, nomamd,
175 > typenh, typent, typgeo,
176 > nmadeb, nbmato, dim1, nbrfma,
180 > ulsort, langue, codret )
188 if ( codret.ne.0 ) then
192 write (ulsort,texte(langue,1)) 'Sortie', nompro
193 write (ulsort,texte(langue,2)) codret
194 write (ulsort,texte(langue,4)) nbmato, mess14(langue,3,typenh)
195 write (ulsort,texte(langue,78)) nompro, codret
196 write (ulsort,texte(langue,79))
200 #ifdef _DEBUG_HOMARD_
201 write (ulsort,texte(langue,1)) 'Sortie', nompro