1 subroutine esemm0 ( idfmed, nomamd,
4 > ulsort, langue, codret)
6 c ______________________________________________________________________
10 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
12 c Version originale enregistree le 18 juin 1996 sous le numero 96036
13 c aupres des huissiers de justice Simart et Lavoir a Clamart
14 c Version 11.2 enregistree le 13 fevrier 2015 sous le numero 2015/014
15 c aupres des huissiers de justice
16 c Lavoir, Silinski & Cherqui-Abrahmi a Clamart
18 c HOMARD est une marque deposee d'Electricite de France
24 c ______________________________________________________________________
26 c Entree-Sortie - Ecriture d'un Maillage au format MED - phase 0
28 c ______________________________________________________________________
29 c . nom . e/s . taille . description .
30 c .____________________________________________________________________.
31 c . idfmed . e . 1 . identificateur du fichier de .
32 c . . . . maillage de sortie .
33 c . nomamd . e . char64 . nom du maillage MED .
34 c . sdim . e . 1 . dimension de l'espace .
35 c . mdim . e . 1 . dimension du maillage .
36 c . inftbl . e .nbpqt*10. tables en caracteres des infos generales .
37 c . . . . regroupees par paquets de 80 caracteres .
38 c . . . . pour gerer la conversion en pseudo-groupe .
39 c . . . . paquet 1 : 1 : 'NomCo' .
40 c . . . . 2/3, 4/5, 6/7 : nom coordonnees .
41 c . . . . 8 : nom du repere utilise .
42 c . . . . paquet 2 : 1 : 'UniteCo' .
43 c . . . . 2/3, 4/5, 6/7 : unite coord. .
44 c . . . . paquet 3 : titre (limite a 80 caracteres) .
45 c . . . . paquet 4 : 1 : 'NOMAMD' .
46 c . . . . 2-7 : nom du maillage .
47 c . ulsort . e . 1 . numero d'unite logique de la liste standard.
48 c . langue . e . 1 . langue des messages .
49 c . . . . 1 : francais, 2 : anglais .
50 c . codret . es . 1 . code de retour des modules .
51 c . . . . 0 : pas de probleme .
52 c ______________________________________________________________________
55 c 0. declarations et dimensionnement
58 c 0.1. ==> generalites
64 parameter ( nompro = 'ESEMM0' )
79 character*8 inftbl(10*nbpqt)
84 integer ulsort, langue, codret
86 c 0.4. ==> variables locales
90 integer iaux, jaux, kaux
94 character*16 nomaxe(3), uniaxe(3)
98 parameter ( nbmess = 150 )
99 character*80 texte(nblang,nbmess)
100 c ______________________________________________________________________
108 #ifdef _DEBUG_HOMARD_
109 write (ulsort,texte(langue,1)) 'Entree', nompro
113 texte(1,4) = '(''Ecriture complete.'')'
114 texte(1,5) = '(''Ecriture uniquement de la renumerotation.'')'
116 texte(2,4) = '(''Full writings.'')'
117 texte(2,5) = '(''Writings of numbering only.'')'
126 c 2. restauration des noms et unites des axes
129 do 21 , iaux = 1, nbpqt
131 jaux = 10*(iaux-1) + 1
132 cgn write (ulsort,90064) jaux, '%'//inftbl(jaux)//'%'
134 c 2.1. Repere et noms des coordonnees
136 if ( inftbl(jaux).eq.'NomCo ' ) then
138 read ( inftbl(jaux+9), '(i8)' ) typrep
139 cgn write (ulsort,90002)'typrep',typrep
140 do 211 , kaux = 1 , sdim
141 nomaxe(kaux) = inftbl(jaux+2*kaux-1)//inftbl(jaux+2*kaux)
142 cgn write (ulsort,90064) kaux, '%'//nomaxe(kaux)//'%'
145 c 2.2. Unites des coordonnees
147 elseif ( inftbl(jaux).eq.'UniteCo ' ) then
149 do 212 , kaux = 1 , sdim
150 uniaxe(kaux) = inftbl(jaux+2*kaux-1)//inftbl(jaux+2*kaux)
151 cgn write (ulsort,90064) kaux, '%'//uniaxe(kaux)//'%'
159 c 3. creation du maillage
161 #ifdef _DEBUG_HOMARD_
162 write (ulsort,*) '3. creation du maillage ; codret = ', codret
165 if ( codret.eq.0 ) then
167 c a TRAITER mettre dtunit dans inftbl
170 #ifdef _DEBUG_HOMARD_
171 write (ulsort,90002) 'idfmed', idfmed
172 write (ulsort,90003) 'nomamd', nomamd
173 write (ulsort,90002) 'len(nomamd)', len(nomamd)
174 write (ulsort,90002) 'sdim ', sdim
175 write (ulsort,90002) 'mdim ', mdim
176 write (ulsort,90002) 'ednost', ednost
177 write (ulsort,90003) 'descri', descri
178 write (ulsort,90003) 'dtunit', dtunit
179 write (ulsort,90002) 'stype ', stype
180 write (ulsort,90002) 'typrep', typrep
181 write (ulsort,90003) 'nomaxe', nomaxe
182 write (ulsort,90003) 'uniaxe', uniaxe
185 #ifdef _DEBUG_HOMARD_
186 write (ulsort,texte(langue,3)) 'MMHCRE', nompro
188 call mmhcre ( idfmed, nomamd, sdim, mdim, ednost, descri,
189 > dtunit, stype, typrep, nomaxe, uniaxe, codret )
191 if ( codret.ne.0 ) then
192 write(ulsort,texte(langue,78)) 'mmhcre', codret
201 if ( codret.ne.0 ) then
205 write (ulsort,texte(langue,1)) 'Sortie', nompro
206 write (ulsort,texte(langue,2)) codret
210 #ifdef _DEBUG_HOMARD_
211 write (ulsort,texte(langue,1)) 'Sortie', nompro