Salome HOME
Homard executable
[modules/homard.git] / src / tool / ES_HOMARD / eslee1.F
1       subroutine eslee1 ( typenh, nbencf, nbenca, nbrfma, nbrama,
2      >                    codeen, coaren, tbiaux,
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 Entite - 1
25 c  -      -        --            -        -
26 c ______________________________________________________________________
27 c .  nom   . e/s . taille .           description                      .
28 c .____________________________________________________________________.
29 c . typenh . e   .   1    . code des entites                           .
30 c .        .     .        .  -1 : noeuds                               .
31 c .        .     .        .   0 : mailles-points                       .
32 c .        .     .        .   1 : aretes                               .
33 c .        .     .        .   2 : triangles                            .
34 c .        .     .        .   3 : tetraedres                           .
35 c .        .     .        .   4 : quadrangles                          .
36 c .        .     .        .   5 : pyramides                            .
37 c .        .     .        .   6 : hexaedres                            .
38 c .        .     .        .   7 : pentaedres                           .
39 c . nbencf . e   .   1    . nombre d'entites decrites par faces        .
40 c . nbenca . e   .   1    . nombre d'entites decrites par aretes       .
41 c . nbrfma . e   .   1    . nbre faces par maille si connectivite desce.
42 c . nbrama . e   .   1    . nbre aretes par maille si volume           .
43 c . codeen .  s  .nbencf**. connectivite descendante des mailles       .
44 c . coaren .  s  .nbenca**. connectivite des mailles par aretes        .
45 c . tbiaux . e   .    *   . tableau tampon entier                      .
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 = 'ESLEE1' )
64 c
65 #include "nblang.h"
66 #include "consts.h"
67 c
68 c 0.2. ==> communs
69 c
70 #include "envex1.h"
71 #include "fahmed.h"
72 c
73 #include "impr02.h"
74 c
75 c 0.3. ==> arguments
76 c
77       integer typenh
78       integer nbencf, nbenca, nbrfma, nbrama
79       integer codeen(nbencf,nbrfma), coaren(nbenca,nbrama)
80       integer tbiaux(*)
81 c
82       integer ulsort, langue, codret
83 c
84 c 0.4. ==> variables locales
85 c
86 #include "meddc0.h"
87 c
88       integer iaux, jaux, kaux,laux
89 c
90       integer nbmess
91       parameter ( nbmess = 100 )
92       character*80 texte(nblang,nbmess)
93 c ______________________________________________________________________
94 c
95 c====
96 c 1. messages
97 c====
98 c
99 #include "impr01.h"
100 c
101 #ifdef _DEBUG_HOMARD_
102       write (ulsort,texte(langue,1)) 'Entree', nompro
103       call dmflsh (iaux)
104 #endif
105 c
106       texte(1,4) = '(''... Connectivite pour les '',i10,1x,a)'
107 c
108       texte(2,4) = '(''... Connectivity for the '',i10,1x,a)'
109 c
110 #include "impr03.h"
111 c
112 #ifdef _DEBUG_HOMARD_
113       write (ulsort,texte(langue,4)) nbencf, mess14(langue,3,typenh)
114 #endif
115 c
116 c====
117 c 2. Mise en place de la connectivite descendante
118 c====
119 c
120       if ( codret.eq.0 ) then
121 c
122       kaux = 0
123 c
124       do 21 , iaux = 1, nbencf
125         do 211, jaux = 1, nbrfma
126           laux = nofmed(typenh,jaux,1)
127 cgn               write(ulsort,*) jaux,laux
128           kaux = kaux + 1
129           codeen(iaux,laux) = abs(tbiaux(kaux))
130   211   continue
131    21 continue
132 c
133       endif
134 c
135 c====
136 c 3. Mise en place de l'eventuelle connectivite par arete
137 c    En coherence avec l'ecriture par esece2
138 c====
139 c
140       if ( nbenca.gt.0 ) then
141 c
142         if ( codret.eq.0 ) then
143 c
144         do 31 , iaux = 1, nbenca
145           do 311, jaux = 1, nbrfma
146             kaux = kaux + 1
147             coaren(iaux,jaux) = tbiaux(kaux)
148   311     continue
149    31   continue
150 c
151         endif
152 c
153       endif
154 c
155 c====
156 c 4. la fin
157 c====
158 c
159       if ( codret.ne.0 ) then
160 c
161 #include "envex2.h"
162 c
163       write (ulsort,texte(langue,1)) 'Sortie', nompro
164       write (ulsort,texte(langue,2)) codret
165 c
166       endif
167 c
168 #ifdef _DEBUG_HOMARD_
169       write (ulsort,texte(langue,1)) 'Sortie', nompro
170       call dmflsh (iaux)
171 #endif
172 c
173       end