1 subroutine esece0 ( idfmed, nomamd,
2 > typenh, typgeo, typent,
3 > nbenti, nbencf, nbenca, nbrfma,
5 > codeen, infosu, codear,
6 > numdt, numit, instan,
8 > ulsort, langue, codret)
10 c ______________________________________________________________________
14 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
16 c Version originale enregistree le 18 juin 1996 sous le numero 96036
17 c aupres des huissiers de justice Simart et Lavoir a Clamart
18 c Version 11.2 enregistree le 13 fevrier 2015 sous le numero 2015/014
19 c aupres des huissiers de justice
20 c Lavoir, Silinski & Cherqui-Abrahmi a Clamart
22 c HOMARD est une marque deposee d'Electricite de France
28 c ______________________________________________________________________
30 c Entree-Sortie : ECriture d'une Entite - 0
32 c ______________________________________________________________________
33 c . nom . e/s . taille . description .
34 c .____________________________________________________________________.
35 c . idfmed . e . 1 . identificateur du fichier MED .
36 c . nomamd . e . char64 . nom du maillage MED voulu .
37 c . typenh . e . 1 . code des entites .
38 c . . . . -1 : noeuds .
39 c . . . . 0 : mailles-points .
40 c . . . . 1 : aretes .
41 c . . . . 2 : triangles .
42 c . . . . 3 : tetraedres .
43 c . . . . 4 : quadrangles .
44 c . . . . 5 : pyramides .
45 c . . . . 6 : hexaedres .
46 c . . . . 7 : pentaedres .
47 c . typgeo . e . 1 . type geometrique au sens MED .
48 c . typent . e . 1 . type d'entite au sens MED .
49 c . nbenti . e . 1 . nombre d'entites .
50 c . nbencf . e . 1 . nombre d'entites decrites par faces .
51 c . nbenca . e . 1 . nombre d'entites decrites par aretes .
52 c . nbrfma . e . 1 . nbre noeuds par maille si connec. par noeud.
53 c . . . . nbre faces par maille si connectivite desce.
54 c . somare . e .2*nbarto. numeros des extremites d'arete .
55 c . codeen . e .nbencf**. connectivite descendante des mailles .
56 c . infosu . e .nbencf**. code des faces dans les mailles 3D .
57 c . codear . e .nbenca**. connectivite des mailles par aretes .
58 c . numdt . e . 1 . numero du pas de temps .
59 c . numit . e . 1 . numero d'iteration .
60 c . instan . e . 1 . pas de temps .
61 c . ltbiau . e . 1 . longueur allouee a tbiaux .
62 c . tbiaux . . * . tableau tampon entier .
63 c . ulsort . e . 1 . numero d'unite logique de la liste standard.
64 c . langue . e . 1 . langue des messages .
65 c . . . . 1 : francais, 2 : anglais .
66 c . codret . es . 1 . code de retour des modules .
67 c . . . . 0 : pas de probleme .
68 c ______________________________________________________________________
71 c 0. declarations et dimensionnement
74 c 0.1. ==> generalites
80 parameter ( nompro = 'ESECE0' )
94 integer typenh, typgeo, typent
95 integer nbenti, nbencf, nbenca, nbrfma
97 integer codeen(nbencf,*), infosu(nbencf,*), codear(nbenca,*)
99 integer ltbiau, tbiaux(*)
103 double precision instan
105 integer ulsort, langue, codret
107 c 0.4. ==> variables locales
117 parameter ( nbmess = 150 )
118 character*80 texte(nblang,nbmess)
119 c ______________________________________________________________________
127 #ifdef _DEBUG_HOMARD_
128 write (ulsort,texte(langue,1)) 'Entree', nompro
132 texte(1,4) = '(''... Ecriture des '',i10,1x,a)'
134 texte(2,4) = '(''... Writings of '',i10,1x,a)'
138 texte(1,81) = '(''Longueur allouee pour tbiaux : '',i10)'
139 texte(1,82) = '(''Longueur necessaire pour tbiaux : '',i10)'
141 texte(2,81) = '(''Allocated length for tbiaux : '',i10)'
142 texte(2,82) = '(''Used length for tbiaux : '',i10)'
146 #ifdef _DEBUG_HOMARD_
147 write (ulsort,texte(langue,4)) nbenti, mess14(langue,3,typenh)
148 write (ulsort,90002) 'nbencf', nbencf
149 write (ulsort,90002) 'nbenca', nbenca
153 c 2. Preparation des donnees
155 c 2.1. ==> Verification
157 if ( codret.eq.0 ) then
159 if ( nbenti*nbrfma.gt.ltbiau ) then
160 write (ulsort,texte(langue,81)) ltbiau
161 write (ulsort,texte(langue,82)) nbenti*nbrfma
167 c 2.2. ==> Creation du tableau
169 if ( codret.eq.0 ) then
173 c 2.2.2. ==> Mailles-points
175 if ( typenh.eq.0 ) then
180 c 2.2.1. ==> Segments
182 elseif ( typenh.eq.1 ) then
188 c 2.2.4. ==> Autres : on cree directement le tableau a ecrire
195 #ifdef _DEBUG_HOMARD_
196 write (ulsort,texte(langue,3)) 'ESECE2', nompro
198 call esece2 ( typenh, nbencf, nbenca, nbrfma,
199 > somare, codeen, infosu, codear,
201 > ulsort, langue, codret )
208 c 3. Ecriture veritable
211 if ( codret.eq.0 ) then
213 #ifdef _DEBUG_HOMARD_
214 write (ulsort,texte(langue,3)) 'ESEMMC', nompro
216 call esemmc ( idfmed, nomamd,
217 > typenh, typent, typgeo,
218 > nbenti, nbrfma, nbenti,
220 > codeen, infosu, listma,
221 > numdt, numit, instan,
223 > ulsort, langue, codret )
231 if ( codret.ne.0 ) then
235 write (ulsort,texte(langue,1)) 'Sortie', nompro
236 write (ulsort,texte(langue,2)) codret
240 #ifdef _DEBUG_HOMARD_
241 write (ulsort,texte(langue,1)) 'Sortie', nompro