Salome HOME
Updated copyright comment
[modules/homard.git] / src / tool / ES_HOMARD / esecig.F
1       subroutine esecig ( idfmed,
2      >                    nhelig,
3      >                    tbiaux,
4      >                    ulsort, langue, codret)
5 c
6 c ______________________________________________________________________
7 c
8 c                             H O M A R D
9 c
10 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
11 c
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
17 c
18 c    HOMARD est une marque deposee d'Electricite de France
19 c
20 c Copyright EDF 1996
21 c Copyright EDF 1998
22 c Copyright EDF 2002
23 c Copyright EDF 2020
24 c ______________________________________________________________________
25 c
26 c  Entree-Sortie : ECriture des elements IGnores
27 c  -      -        --                    --
28 c ______________________________________________________________________
29 c .  nom   . e/s . taille .           description                      .
30 c .____________________________________________________________________.
31 c . idfmed . e   .   1    . identificateur du fichier MED              .
32 c . nhelig . e   . char8  . nom de l'objet decrivant les ignores       .
33 c . tbiaux .     .    *   . tableau tampon entier                      .
34 c . ulsort . e   .   1    . numero d'unite logique de la liste standard.
35 c . langue . e   .    1   . langue des messages                        .
36 c .        .     .        . 1 : francais, 2 : anglais                  .
37 c . codret . es  .    1   . code de retour des modules                 .
38 c .        .     .        . 0 : pas de probleme                        .
39 c ______________________________________________________________________
40 c
41 c====
42 c 0. declarations et dimensionnement
43 c====
44 c
45 c 0.1. ==> generalites
46 c
47       implicit none
48       save
49 c
50       character*6 nompro
51       parameter ( nompro = 'ESECIG' )
52 c
53 #include "nblang.h"
54 #include "consts.h"
55 c
56 c 0.2. ==> communs
57 c
58 #include "gmenti.h"
59 #include "envca1.h"
60 #include "envex1.h"
61 c
62 c 0.3. ==> arguments
63 c
64       integer*8 idfmed
65       integer tbiaux(0:*)
66 c
67       character*8 nhelig
68 c
69       integer ulsort, langue, codret
70 c
71 c 0.4. ==> variables locales
72 c
73 #include "meddc0.h"
74 c
75       integer iaux, jaux
76       integer nbelig
77       integer nbnoel
78       integer hfmdel, hnoeel
79 c
80       character*64 noprof
81 c
82       integer codre1, codre2, codre3
83       integer codre0
84 c
85       integer nbmess
86       parameter ( nbmess = 150 )
87       character*80 texte(nblang,nbmess)
88 c ______________________________________________________________________
89 c
90 c====
91 c 1. initialisation
92 c====
93 c
94 #include "impr01.h"
95 c
96 #ifdef _DEBUG_HOMARD_
97       write (ulsort,texte(langue,1)) 'Entree', nompro
98       call dmflsh (iaux)
99 #endif
100 c
101       texte(1,4) = '(''. Ecriture des elements ignores.'')'
102 c
103       texte(2,4) = '(''. Writings of additional information.'')'
104 c
105 #include "impr03.h"
106 c
107 #include "esimpr.h"
108 c
109 #ifdef _DEBUG_HOMARD_
110       write (ulsort,texte(langue,4))
111 #endif
112 c
113       codret = 0
114 c
115 cgn      call gmprsx (nompro, nhelig )
116 cgn      call gmprsx (nompro, nhelig//'.ConnNoeu' )
117 cgn      call gmprsx (nompro, nhelig//'.FamilMED' )
118 c
119 c====
120 c 2. Recuperation des adresses
121 c====
122 #ifdef _DEBUG_HOMARD_
123       write (ulsort,*) '2. adresses ; codret = ', codret
124 #endif
125 c
126       call gmliat ( nhelig, 1, nbelig, codre1 )
127       call gmadoj ( nhelig//'.ConnNoeu', hnoeel, iaux, codre2 )
128       call gmadoj ( nhelig//'.FamilMED', hfmdel, iaux, codre3 )
129 c
130       codre0 = min ( codre1, codre2, codre3 )
131       codret = max ( abs(codre0),
132      >               codre1, codre2, codre3 )
133 c
134 c====
135 c 3. Ecriture vraie
136 c====
137 c
138       if ( codret.eq.0 ) then
139 c
140       if ( degre.eq.1 ) then
141         nbnoel = 5
142       else
143         nbnoel = 13
144       endif
145 c
146       tbiaux(0) = nbelig
147       do 211 , iaux = 1 , nbelig
148         tbiaux(iaux) = imem(hfmdel+iaux-1)
149   211 continue
150       jaux = nbelig*nbnoel
151       do 212 , iaux = 1 , jaux
152         tbiaux(nbelig+iaux) = imem(hnoeel+iaux-1)
153   212 continue
154 c
155       noprof = blan64
156 c                     1234567890123456
157       noprof(1:16) = 'Elements_Ignores'
158 c
159       iaux = nbelig*(nbnoel+1) + 1
160 #ifdef _DEBUG_HOMARD_
161       write (ulsort,texte(langue,61)) noprof
162       write (ulsort,texte(langue,62)) iaux
163 #endif
164 c
165 #ifdef _DEBUG_HOMARD_
166       write (ulsort,texte(langue,3)) 'MPFPRW', nompro
167 #endif
168       call mpfprw ( idfmed, noprof, iaux, tbiaux, codret )
169 c
170       endif
171 c
172 c====
173 c 4. la fin
174 c====
175 c
176       if ( codret.ne.0 ) then
177 c
178 #include "envex2.h"
179 c
180       write (ulsort,texte(langue,1)) 'Sortie', nompro
181       write (ulsort,texte(langue,2)) codret
182 c
183       endif
184 c
185 #ifdef _DEBUG_HOMARD_
186       write (ulsort,texte(langue,1)) 'Sortie', nompro
187       call dmflsh (iaux)
188 #endif
189 c
190       end