Salome HOME
Homard executable
[modules/homard.git] / src / tool / ES_HOMARD / esecsu.F
1       subroutine esecsu ( idfmed,
2      >                    nomail,
3      >                    nhnoeu,
4      >                    nhmapo, nharet, nhtria, nhquad,
5      >                    nhtetr, nhhexa, nhpyra, nhpent,
6      >                    infmgl,
7      >                    dimcst, coocst,
8      >                    numdt, numit, instan,
9      >                    ulsort, langue, codret)
10 c
11 c ______________________________________________________________________
12 c
13 c                             H O M A R D
14 c
15 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
16 c
17 c Version originale enregistree le 18 juin 1996 sous le numero 96036
18 c aupres des huissiers de justice Simart et Lavoir a Clamart
19 c Version 11.2 enregistree le 13 fevrier 2015 sous le numero 2015/014
20 c aupres des huissiers de justice
21 c Lavoir, Silinski & Cherqui-Abrahmi a Clamart
22 c
23 c    HOMARD est une marque deposee d'Electricite de France
24 c
25 c Copyright EDF 1996
26 c Copyright EDF 1998
27 c Copyright EDF 2002
28 c Copyright EDF 2020
29 c ______________________________________________________________________
30 c
31 c  Entree-Sortie : ECriture des informations SUpplementaires
32 c  -      -        --                        --
33 c ______________________________________________________________________
34 c .  nom   . e/s . taille .           description                      .
35 c .____________________________________________________________________.
36 c . idfmed . e   .   1    . identificateur du fichier MED              .
37 c . nomail . e   . char*8 . structure du maillage a ecrire             .
38 c . infmgl . e   .   0:*  . 0 : nombre d'informations                  .
39 c .        .     .        . >0 : informations maillage globales        .
40 c . dimcst . e   .    1   . dimension de la coordonnee constante       .
41 c .        .     .        . eventuelle, 0 si toutes varient            .
42 c . coocst . e   .    1   . coordonnee constante eventuelle            .
43 c . numdt  . e   .   1    . numero du pas de temps                     .
44 c . numit  . e   .   1    . numero d'iteration                         .
45 c . instan . e   .   1    . pas de temps                               .
46 c . ulsort . e   .   1    . numero d'unite logique de la liste standard.
47 c . langue . e   .    1   . langue des messages                        .
48 c .        .     .        . 1 : francais, 2 : anglais                  .
49 c . codret . es  .    1   . code de retour des modules                 .
50 c .        .     .        . 0 : pas de probleme                        .
51 c ______________________________________________________________________
52 c
53 c====
54 c 0. declarations et dimensionnement
55 c====
56 c
57 c 0.1. ==> generalites
58 c
59       implicit none
60       save
61 c
62       character*6 nompro
63       parameter ( nompro = 'ESECSU' )
64 c
65 #include "nblang.h"
66 #include "consts.h"
67 c
68 c 0.2. ==> communs
69 c
70 #include "envex1.h"
71 c
72 c 0.3. ==> arguments
73 c
74       integer*8 idfmed
75       integer infmgl(0:*)
76       integer numdt, numit
77       integer dimcst
78 c
79       character*8 nomail
80       character*8 nhnoeu
81       character*8 nhmapo, nharet, nhtria, nhquad
82       character*8 nhtetr, nhhexa, nhpyra, nhpent
83 c
84       double precision coocst
85       double precision instan
86 c
87       integer ulsort, langue, codret
88 c
89 c 0.4. ==> variables locales
90 c
91       integer iaux
92 #ifdef _DEBUG_HOMARD_
93       integer jaux
94 #endif
95 c
96       character*64 noprof
97 c
98       integer nbmess
99       parameter ( nbmess = 150 )
100       character*80 texte(nblang,nbmess)
101 c ______________________________________________________________________
102 c
103 c====
104 c 1. initialisation
105 c====
106 c
107 #include "impr01.h"
108 c
109 #ifdef _DEBUG_HOMARD_
110       write (ulsort,texte(langue,1)) 'Entree', nompro
111       call dmflsh (iaux)
112 #endif
113 c
114       texte(1,4) = '(''. Ecriture des informations supplementaires.'')'
115       texte(1,7) = '(''Premieres valeurs : '',10i6)'
116 c
117       texte(2,4) = '(''. Writings of additional information.'')'
118       texte(2,7) = '(''First values : '',10i6)'
119 c
120 #include "impr03.h"
121 c
122 #include "esimpr.h"
123 c
124 #ifdef _DEBUG_HOMARD_
125       write (ulsort,texte(langue,4))
126 #endif
127 c
128       codret = 0
129 c
130 c====
131 c 2. Ecriture des informations entieres sous forme de profil
132 c====
133 #ifdef _DEBUG_HOMARD_
134       write (ulsort,90002) '2. infos entieres ; codret', codret
135 #endif
136 c
137       if ( codret.eq.0 ) then
138 c
139 #ifdef _DEBUG_HOMARD_
140       write (ulsort,texte(langue,3)) 'ESECS1', nompro
141 #endif
142       call esecs1 ( idfmed,
143      >              nomail,
144      >              ulsort, langue, codret)
145 c
146       endif
147 c
148 c====
149 c 3. Ecriture des informations globales sous forme de profil
150 c====
151 #ifdef _DEBUG_HOMARD_
152       write (ulsort,90002) '3. infos globales ; codret', codret
153 #endif
154 c
155       if ( codret.eq.0 ) then
156 c
157       noprof = blan64
158 c                     1234567890123456789012
159       noprof(1:22) = 'Info_maillage_globales'
160       iaux = infmgl(0)
161 c
162 #ifdef _DEBUG_HOMARD_
163       write (ulsort,texte(langue,61)) noprof
164       write (ulsort,texte(langue,62)) iaux
165       write (ulsort,texte(langue,7)) (infmgl(jaux), jaux = 1, iaux)
166 #endif
167 c
168 #ifdef _DEBUG_HOMARD_
169       write (ulsort,texte(langue,3)) 'MPFPRW', nompro
170 #endif
171       call mpfprw ( idfmed, noprof, iaux, infmgl(1), codret )
172 c
173       endif
174 c
175 c====
176 c 4. Ecriture des renumerotations sous forme de profil
177 c====
178 #ifdef _DEBUG_HOMARD_
179       write (ulsort,90002) '4. renumerotations ; codret', codret
180 #endif
181 c
182       if ( codret.eq.0 ) then
183 c
184 #ifdef _DEBUG_HOMARD_
185       write (ulsort,texte(langue,3)) 'ESECS2', nompro
186 #endif
187       call esecs2 ( idfmed,
188      >              nomail,
189      >              ulsort, langue, codret)
190 c
191       endif
192 c
193 c====
194 c 5. Ecriture des recollements sous forme de profil
195 c====
196 #ifdef _DEBUG_HOMARD_
197       write (ulsort,90002) '5. recollements ; codret', codret
198 #endif
199 c
200       if ( codret.eq.0 ) then
201 c
202 #ifdef _DEBUG_HOMARD_
203       write (ulsort,texte(langue,3)) 'ESECS3', nompro
204 #endif
205       call esecs3 ( idfmed,
206      >              nhnoeu,
207      >              nhmapo, nharet, nhtria, nhquad,
208      >              nhtetr, nhhexa, nhpyra, nhpent,
209      >              ulsort, langue, codret)
210 c
211       endif
212 c
213 c====
214 c 6. Ecriture de la dimension constante sous forme de variable scalaire
215 c====
216 #ifdef _DEBUG_HOMARD_
217       write (ulsort,90002) '6. dimcst ; codret', codret
218 #endif
219 c
220       if ( dimcst.gt.0 ) then
221 c
222         if ( codret.eq.0 ) then
223 c
224 #ifdef _DEBUG_HOMARD_
225       write (ulsort,texte(langue,3)) 'ESECS4', nompro
226 #endif
227         call esecs4 ( idfmed,
228      >                coocst,
229      >                numdt, numit, instan,
230      >                ulsort, langue, codret)
231 c
232         endif
233 c
234       endif
235 c
236 c====
237 c 7. Ecriture des connectivites par aretes sous forme de profil
238 c====
239 #ifdef _DEBUG_HOMARD_
240       write (ulsort,90002) '7. connectivite/aretes ; codret', codret
241 #endif
242 c
243       if ( codret.eq.0 ) then
244 c
245 #ifdef _DEBUG_HOMARD_
246       write (ulsort,texte(langue,3)) 'ESECS5', nompro
247 #endif
248       call esecs5 ( idfmed,
249      >              nhtetr, nhhexa, nhpyra, nhpent,
250      >              ulsort, langue, codret)
251 c
252       endif
253 c
254 c====
255 c 8. la fin
256 c====
257 c
258       if ( codret.ne.0 ) then
259 c
260 #include "envex2.h"
261 c
262       write (ulsort,texte(langue,1)) 'Sortie', nompro
263       write (ulsort,texte(langue,2)) codret
264 c
265       endif
266 c
267 #ifdef _DEBUG_HOMARD_
268       write (ulsort,texte(langue,1)) 'Sortie', nompro
269       call dmflsh (iaux)
270 #endif
271 c
272       end