Salome HOME
Homard executable
[modules/homard.git] / src / tool / ES_MED / eslsch.F
1       subroutine eslsch ( nochso,
2      >                    nbseal, adcact, adcaet, adcart,
3      >                    ulsort, langue, codret )
4 c ______________________________________________________________________
5 c
6 c                             H O M A R D
7 c
8 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
9 c
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
15 c
16 c    HOMARD est une marque deposee d'Electricite de France
17 c
18 c Copyright EDF 1996
19 c Copyright EDF 1998
20 c Copyright EDF 2002
21 c Copyright EDF 2020
22 c ______________________________________________________________________
23 c
24 c  Entree-Sortie - Lecture d'une Solution - les CHamps a lire
25 c  -      -        -             -              --
26 c ______________________________________________________________________
27 c .        .     .        .                                            .
28 c .  nom   . e/s . taille .           description                      .
29 c .____________________________________________________________________.
30 c . nochso . e   . char8  . nom de l'objet decrivant les chmps a lire  .
31 c .        .     .        . si blanc, on lit tous les champs du fichier.
32 c . nbseal .   s .    1   . nombre de sequences a lire                 .
33 c .        .     .        . si = -1, on lit tous les champs du fichier .
34 c . adcact .   s .    1   . adresse du champ CarCaChp de nochso        .
35 c . adcaet .   s .    1   . adresse du champ CarEnChp de nochso        .
36 c .        .     .        . 1. type de support au sens MED             .
37 c .        .     .        .  -1, si on prend tous les supports         .
38 c .        .     .        . 2. 1, si numero du pas de temps, 0 sinon   .
39 c .        .     .        . 3. numero du pas de temps                  .
40 c .        .     .        . 4. 1, si numero d'ordre, 0 sinon           .
41 c .        .     .        . 5. numero d'ordre                          .
42 c .        .     .        . 6. 1, si instant, 0 sinon                  .
43 c .        .     .        . 7. 1, si aux noeuds par elements, 0 sinon, .
44 c .        .     .        .   -1, si non precise                       .
45 c .        .     .        . 8. numero du champ noeuds/element associe  .
46 c .        .     .        . 9. numero du champ associe dans HOMARD     .
47 c .        .     .        . 10. type d'interpolation                   .
48 c .        .     .        .  0, si automatique                         .
49 c .        .     .        .  1 si degre 1, 2 si degre 2, 3 si iso-P2   .
50 c .        .     .        . 11. 1, s'il fait partie du champ en cours  .
51 c .        .     .        .    d'examen, 0, sinon                      .
52 c .        .     .        . 12. type de champ edfl64/edin64            .
53 c . adcart .   s .    1   . adresse du champ CarReChp de nochso        .
54 c . ulsort . e   .   1    . numero d'unite logique de la liste standard.
55 c . langue . e   .    1   . langue des messages                        .
56 c .        .     .        . 1 : francais, 2 : anglais                  .
57 c . codret . es  .    1   . code de retour des modules                 .
58 c .        .     .        . 0 : pas de probleme                        .
59 c .        .     .        . 1 : probleme                               .
60 c ______________________________________________________________________
61 c
62 c====
63 c 0. declarations et dimensionnement
64 c====
65 c
66 c 0.1. ==> generalites
67 c
68       implicit none
69       save
70 c
71       character*6 nompro
72       parameter ( nompro = 'ESLSCH' )
73 c
74 #include "nblang.h"
75 #include "consts.h"
76 c
77 #include "meddc0.h"
78 c
79 c 0.2. ==> communs
80 c
81 #include "envex1.h"
82 c
83 #include "gmenti.h"
84 #include "gmreel.h"
85 #include "gmstri.h"
86 c
87 c 0.3. ==> arguments
88 c
89       integer nbseal, adcact, adcaet, adcart
90 c
91       character*8 nochso
92 c
93       integer ulsort, langue, codret
94 c
95 c 0.4. ==> variables locales
96 c
97       integer iaux, jaux
98       integer codre1, codre2, codre3, codre4
99       integer codre0
100 c
101       character*64 saux64
102 c
103       integer nbmess
104       parameter ( nbmess = 150 )
105       character*80 texte(nblang,nbmess)
106 c
107 c 0.5. ==> initialisations
108 c ______________________________________________________________________
109 c
110 c====
111 c 1. initialisations
112 c====
113 c
114 #include "impr01.h"
115 c
116 #ifdef _DEBUG_HOMARD_
117       write (ulsort,texte(langue,1)) 'Entree', nompro
118       call dmflsh (iaux)
119 #endif
120 c
121 #include "esimpr.h"
122 c
123       texte(1,4) = '(/,''Lecture de tous les champs du fichier'')'
124 c
125       texte(2,4) = '(/,''Readings of all fields from the file.'')'
126 c
127 #include "impr03.h"
128 c
129 c====
130 c 2. tous les champs sont a lire
131 c====
132 c
133       if ( nochso.eq.blan08 ) then
134 c
135         nbseal = -1
136 c
137 #ifdef _DEBUG_HOMARD_
138         write (ulsort,texte(langue,4))
139 #endif
140 c
141 c====
142 c 3. on lit les champs enregistres
143 c====
144 c
145       else
146 c
147 c 3.1. ==> reperage des informations stockees
148 c
149 #ifdef _DEBUG_HOMARD_
150         call gmprsx (nompro, nochso )
151         call gmprsx (nompro, nochso//'.CarCaChp' )
152         call gmprsx (nompro, nochso//'.CarEnChp' )
153         call gmprsx (nompro, nochso//'.CarReChp' )
154 #endif
155 c
156         call gmliat ( nochso, 1, nbseal, codre1 )
157         call gmadoj ( nochso//'.CarCaChp', adcact, iaux, codre2 )
158         call gmadoj ( nochso//'.CarEnChp', adcaet, iaux, codre3 )
159         call gmadoj ( nochso//'.CarReChp', adcart, iaux, codre4 )
160 c
161         codre0 = min ( codre1, codre2, codre3, codre4 )
162         codret = max ( abs(codre0), codret,
163      >                 codre1, codre2, codre3, codre4 )
164 c
165 c 3.2. ==> impression
166 c
167 cgn      print *,nbseal
168         if ( codret.eq.0 ) then
169 c
170         do 32 , iaux = 1 , nbseal
171 c
172           if ( codret.eq.0 ) then
173 c
174           jaux = len(saux64)
175           call uts8ch ( smem(adcact+8*(iaux-1)), jaux, saux64,
176      >                  ulsort, langue, codret )
177 c
178           endif
179 c
180           if ( codret.eq.0 ) then
181 c
182           call utlgut ( jaux, saux64, ulsort, langue, codret )
183 c
184           endif
185 c
186           if ( codret.eq.0 ) then
187 c
188           write (ulsort,texte(langue,32)) saux64(1:jaux)
189           if ( imem(adcaet+12*iaux-11).gt.0 ) then
190             write (ulsort,texte(langue,113)) imem(adcaet+12*iaux-10)
191           endif
192           if ( imem(adcaet+12*iaux-9).gt.0 ) then
193             write (ulsort,texte(langue,114)) imem(adcaet+12*iaux-8)
194           endif
195           if ( imem(adcaet+12*iaux-7).gt.0 ) then
196             write (ulsort,texte(langue,115)) rmem(adcart+iaux-1)
197           endif
198           write (ulsort,*) ' '
199 c
200           endif
201 c
202    32   continue
203 c
204         endif
205 c
206       endif
207 c
208 c====
209 c 4. la fin
210 c====
211 c
212       if ( codret.ne.0 ) then
213 c
214 #include "envex2.h"
215 c
216       write (ulsort,texte(langue,1)) 'Sortie', nompro
217       write (ulsort,texte(langue,2)) codret
218 c
219       endif
220 c
221 #ifdef _DEBUG_HOMARD_
222       write (ulsort,texte(langue,1)) 'Sortie', nompro
223       call dmflsh (iaux)
224 #endif
225 c
226       end