1 subroutine esle01 ( idfmed, nomamd, nomcha,
2 > nbcomp, nomcmp, unicmp,
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 : LEcture noeud-maille - 01
28 c ______________________________________________________________________
29 c . nom . e/s . taille . description .
30 c .____________________________________________________________________.
31 c . idfmed . e . 1 . identificateur du fichier MED .
32 c . nomamd . e . char64 . nom du maillage MED .
33 c . nomcha . e . char64 . nom du champ MED voulu .
34 c . nbcomp . s . 1 . nombre de composantes du champ .
35 c . nomcmp . s . * . nom des composantes du champ .
36 c . unicmp . s . * . unite des composantes du champ .
37 c . optio1 . e . * . 0 : erreur si le champ n'est pas trouve .
38 c . . . . 1 : pas de probleme .
39 c . optio2 . s . 1 . 0 ou 1 selon la presence du champ .
40 c . ulsort . e . 1 . numero d'unite logique de la liste standard.
41 c . langue . e . 1 . langue des messages .
42 c . . . . 1 : francais, 2 : anglais .
43 c . codret . es . 1 . code de retour des modules .
44 c . . . . 0 : pas de probleme .
45 c ______________________________________________________________________
48 c 0. declarations et dimensionnement
51 c 0.1. ==> generalites
57 parameter ( nompro = 'ESLE01' )
69 integer optio1, optio2
72 character*16 nomcmp(*), unicmp(*)
76 integer ulsort, langue, codret
78 c 0.4. ==> variables locales
83 integer nbchfi, nrocha
91 parameter ( nbmess = 150 )
92 character*80 texte(nblang,nbmess)
93 c ______________________________________________________________________
102 #ifdef _DEBUG_HOMARD_
103 write (ulsort,texte(langue,1)) 'Entree', nompro
107 texte(1,4) = '(/,''Lecture du champ : '',a64)'
108 texte(1,5) = '(''Type du champ : '',i2)'
110 > '(''Numero ! Composante ! Unite'',/,49(''-''))'
111 texte(1,7) = '(i6,'' ! '',a16,'' ! '',a16)'
113 texte(2,4) = '(/,''Readings of field: '',a64)'
114 texte(2,5) = '(''Type of field: '',i2)'
116 > '('' # ! Component ! Unit'',/,49(''-''))'
117 texte(2,7) = '(i6,'' ! '',a16,'' ! '',a16)'
121 #ifdef _DEBUG_HOMARD_
122 write (ulsort,texte(langue,4)) nomcha
127 c 1.2. ==> champ absent a priori
134 c 2.1. ==> nombre de champs dans le fichier
136 if ( codret.eq.0 ) then
138 #ifdef _DEBUG_HOMARD_
139 write (ulsort,texte(langue,3)) 'MFDNFD', nompro
141 call mfdnfd ( idfmed, nbchfi, codret )
142 #ifdef _DEBUG_HOMARD_
143 write (ulsort,90002) 'nbchfi', nbchfi
148 do 20 , nrocha = 1 , nbchfi
150 c 2.2. ==> nombre de composantes du champ courant
152 if ( codret.eq.0 ) then
154 #ifdef _DEBUG_HOMARD_
155 write (ulsort,texte(langue,3)) 'MFDNFC', nompro
158 call mfdnfc ( idfmed, iaux, nbcomp, codret )
162 c 2.3. ==> lecture du nom du champ, des noms et des unites
165 if ( codret.eq.0 ) then
167 #ifdef _DEBUG_HOMARD_
168 write (ulsort,texte(langue,3)) 'MFDFDI', nompro
174 call mfdfdi ( idfmed, iaux, nomch0, nomamd, jaux,
175 > typcha, nomcmp, unicmp,
176 > dtunit, nbseq, codret )
180 if ( codret.eq.0 ) then
182 #ifdef _DEBUG_HOMARD_
183 if ( codret.eq.0 ) then
184 write (ulsort,93020) 'caracteristiques du champ', nomch0
185 write (ulsort,texte(langue,5)) typcha
186 write (ulsort,texte(langue,6))
187 do 231 , iaux = 1 , nbcomp
188 write (ulsort,texte(langue,7)) iaux, nomcmp(iaux), unicmp(iaux)
195 c 2.4. ==> Si c'est le bon, on sort
197 if ( codret.eq.0 ) then
199 if ( nomch0.eq.nomcha ) then
201 if ( typcha.ne.edint ) then
204 if ( nbseq.ne.1 ) then
205 write (ulsort,90002) 'nbseq ', nbseq
220 c 2.5. ==> Impossible de trouver le bon champ
225 if ( optio1.eq.0 ) then
227 write (ulsort,texte(langue,32)) nomcha
228 write (ulsort,texte(langue,92))
229 write (ulsort,90002) 'Nombre de champs presents', nbchfi
230 do 301 , nrocha = 1 , nbchfi
232 call mfdnfc ( idfmed, iaux, nbcomp, codret )
235 call mfdfdi ( idfmed, iaux, nomch0, nomamd, jaux,
236 > typcha, nomcmp, unicmp,
237 > dtunit, nbseq, codret )
238 write (ulsort,texte(langue,32)) nomch0
239 write (ulsort,texte(langue,5)) typcha
251 if ( codret.ne.0 ) then
255 write (ulsort,texte(langue,1)) 'Sortie', nompro
256 write (ulsort,texte(langue,2)) codret
260 #ifdef _DEBUG_HOMARD_
261 write (ulsort,texte(langue,1)) 'Sortie', nompro