1 subroutine eslsmd ( nocson, nochso,
3 > ulsort, langue, codret )
4 c ______________________________________________________________________
8 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
10 c Version originale enregistree le 18 juin 1996 sous le numero 96036
11 c aupres des huissiers de justice Simart et Lavoir a Clamart
12 c Version 11.2 enregistree le 13 fevrier 2015 sous le numero 2015/014
13 c aupres des huissiers de justice
14 c Lavoir, Silinski & Cherqui-Abrahmi a Clamart
16 c HOMARD est une marque deposee d'Electricite de France
22 c ______________________________________________________________________
24 c Entree-Sortie - Lecture d'une Solution au format MeD
26 c ______________________________________________________________________
28 c . nom . e/s . taille . description .
29 c .____________________________________________________________________.
30 c . nocson . s . char*8 . nom de l'objet solution calcul iteration n .
31 c . nochso . e . char*8 . nom des champs de solution a lire .
32 c . . . . si la chaine est blanche, on lit tout .
33 c . messin . e . 1 . message d'informations .
34 c . . . . impressions MED si multiple de 3 .
35 c . option . e . 1 . 1 : on controle que l'on a les couples (aux.
36 c . . . . noeuds par element/aux points de Gauss) .
37 c . . . . 0 : pas de controle .
38 c . ulsort . e . 1 . numero d'unite logique de la liste standard.
39 c . langue . e . 1 . langue des messages .
40 c . . . . 1 : francais, 2 : anglais .
41 c . codret . es . 1 . code de retour des modules .
42 c . . . . 0 : pas de probleme .
43 c . . . . 1 : probleme .
44 c . . . . -1 : fichier inconnu .
45 c . . . . -2 : nom de maillage inconnu .
46 c ______________________________________________________________________
50 c ESLSMD -> ESLSM0 -> ESOUVL -> ESVERI -> MFICOM
63 c -> ESLCH1 -> ESLCH2 -> MFDCSI
67 c -> ESLPG1 -> ESLPG2 -> MLCNLC
75 c -> ESLSM4 -> ESLCH4 -> MFDRPR
80 c 0. declarations et dimensionnement
83 c 0.1. ==> generalites
89 parameter ( nompro = 'ESLSMD' )
106 character*8 nocson, nochso
108 integer messin, option
110 integer ulsort, langue, codret
112 c 0.4. ==> variables locales
115 integer lnomfi, lnomam
116 integer nbseal, nbtosv
117 integer adcact, adcaet, adcart
124 parameter ( nbmess = 150 )
125 character*80 texte(nblang,nbmess)
127 c 0.5. ==> initialisations
128 c ______________________________________________________________________
134 c 1.1. ==> les messages
138 #ifdef _DEBUG_HOMARD_
139 write (ulsort,texte(langue,1)) 'Entree', nompro
147 c 1.2. ==> nom du fichier contenant la solution
152 call utfino ( typobs, iaux, nomfic, lnomfi,
154 > ulsort, langue, codret )
155 if ( codret.ne.0 ) then
156 write (ulsort,texte(langue,8)) 'en entree'
160 c 1.3. ==> nom du maillage dans ce fichier
162 if ( codret.eq.0 ) then
167 call utfino ( typobs, iaux, nomamd, lnomam,
169 > ulsort, langue, codret )
170 if ( codret.ne.0 ) then
171 call utosme ( typobs, ulsort, langue )
172 if ( codret.eq.4 ) then
173 write (ulsort,texte(langue,52)) lnomam
174 write (ulsort,texte(langue,53)) len(nomamd)
182 c 2. liste des champs a lire
183 c si nbseal = -1, on lira tous les champs du fichier
185 #ifdef _DEBUG_HOMARD_
186 write (ulsort,90002) '2. liste des champs a lire ; codret', codret
189 if ( codret.eq.0 ) then
191 #ifdef _DEBUG_HOMARD_
192 write (ulsort,90002) '... Debut de 2., codret',codret
193 write (ulsort,*) '... Debut de 2., nochso =',nochso
194 if ( nochso.ne.blan08 ) then
195 write (ulsort,*) '... Champs a lire :'
196 cgn call gmprsx (nompro,nochso)
197 call gmprsx (nompro, nochso//'.CarCaChp' )
198 call gmprsx (nompro, nochso//'.CarEnChp' )
199 call gmprsx (nompro, nochso//'.CarReChp' )
201 write (ulsort,texte(langue,3)) 'ESLSCH', nompro
203 call eslsch ( nochso,
204 > nbseal, adcact, adcaet, adcart,
205 > ulsort, langue, codret )
209 #ifdef _DEBUG_HOMARD_
210 write (ulsort,90002) 'Etape 2, nbseal', nbseal
216 #ifdef _DEBUG_HOMARD_
217 write (ulsort,90002) '3. lecture vraie ; codret', codret
220 if ( codret.eq.0 ) then
222 #ifdef _DEBUG_HOMARD_
223 write (ulsort,texte(langue,3)) 'ESLSM0', nompro
225 call eslsm0 ( nocson, nomfic, lnomfi,
228 > smem(adcact), imem(adcaet), rmem(adcart),
230 > ulsort, langue, codret )
234 #ifdef _DEBUG_HOMARD_
235 if ( codret.eq.0 ) then
236 write (ulsort,texte(langue,111)) nbtosv
237 call gmprsx (nompro, nocson)
238 call gmprsx (nompro, nocson//'.InfoCham')
239 call gmprsx (nompro, nocson//'.InfoPaFo')
240 call gmprsx (nompro, nocson//'.InfoProf')
241 call gmprsx (nompro, nocson//'.InfoLoPG')
242 call gmprsx (nompro, '%%%%%%%7')
243 call gmprsx (nompro, '%%%%%%%9')
244 call gmprsx (nompro, '%%Fo002o')
245 call gmprsx (nompro, '%%%%%%%8')
246 call gmprsx (nompro, '%%%%%%%8.InfoCham')
247 call gmprsx (nompro, '%%%%%%%8.InfoPrPG')
248 call gmprsx (nompro, '%%%%%%%8.ValeursR')
253 c 4. message si on n'a pas trouve les champs
255 #ifdef _DEBUG_HOMARD_
256 write (ulsort,90002) '4. message ; codret', codret
259 if ( codret.ne.0 ) then
263 #ifdef _DEBUG_HOMARD_
264 write (ulsort,texte(langue,3)) 'ESLSC1', nompro
266 call eslsc1 ( nomfic, lnomfi,
268 > ulsort, langue, codret )
278 if ( codret.eq.0 ) then
280 if ( nochso.ne.blan08 ) then
282 call gmsgoj (nochso, codret)
292 if ( codret.ne.0 ) then
296 write (ulsort,texte(langue,1)) 'Sortie', nompro
297 write (ulsort,texte(langue,2)) codret
298 if ( codret.ne.-1 ) then
299 write (ulsort,texte(langue,8)) nomfic
301 if ( codret.gt.0 ) then
302 write (ulsort,texte(langue,22)) nomamd
307 #ifdef _DEBUG_HOMARD_
308 write (ulsort,texte(langue,1)) 'Sortie', nompro