]> SALOME platform Git repositories - modules/homard.git/blob - src/tool/Decision/deini2.F
Salome HOME
Copyright update 2022
[modules/homard.git] / src / tool / Decision / deini2.F
1       subroutine deini2 ( nohind, typind, ncmpin,
2      >                    nbvtri, nbvqua,
3      >                    nbvtet, nbvhex, nbvpyr,
4      >                    adquin, adqurn, adqusu,
5      >                    adhein, adhern, adhesu,
6      >                    ulsort, langue, codret )
7 c ______________________________________________________________________
8 c
9 c                             H O M A R D
10 c
11 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
12 c
13 c Version originale enregistree le 18 juin 1996 sous le numero 96036
14 c aupres des huissiers de justice Simart et Lavoir a Clamart
15 c Version 11.2 enregistree le 13 fevrier 2015 sous le numero 2015/014
16 c aupres des huissiers de justice
17 c Lavoir, Silinski & Cherqui-Abrahmi a Clamart
18 c
19 c    HOMARD est une marque deposee d'Electricite de France
20 c
21 c Copyright EDF 1996
22 c Copyright EDF 1998
23 c Copyright EDF 2002
24 c Copyright EDF 2020
25 c ______________________________________________________________________
26 c
27 c traitement des DEcisions - INITialisations - phase 2
28 c                --          ---                     -
29 c ______________________________________________________________________
30 c  Allocations de structures supplementaires pour accueillir des valeurs
31 c  d'indicateurs en prevision de la suppression de la conformite
32 c ______________________________________________________________________
33 c .        .     .        .                                            .
34 c .  nom   . e/s . taille .           description                      .
35 c .____________________________________________________________________.
36 c . nohind . e   .  ch8   . nom de l'objet contenant l'indicateur      .
37 c . typind . e   .   1    . type de valeurs                            .
38 c .        .     .        . 2 : entieres                               .
39 c .        .     .        . 3 : reelles                                .
40 c . ncmpin . e   .   1    . nombre de composantes de l'indicateur      .
41 c . nbvent . es  .   1    . nombre de valeurs pour l'entite            .
42 c . adensu . es  .   1    . adresse du support                         .
43 c . adenin . es  .   1    . adresse des valeurs entieres               .
44 c . adenrn . es  .   1    . adresse des valeurs reelles                .
45 c . ulsort . e   .   1    . numero d'unite logique de la liste standard.
46 c . langue . e   .    1   . langue des messages                        .
47 c .        .     .        . 1 : francais, 2 : anglais                  .
48 c . codret . es  .    1   . code de retour des modules                 .
49 c .        .     .        . 0 : pas de probleme                        .
50 c ______________________________________________________________________
51 c
52 c====
53 c 0. declarations et dimensionnement
54 c====
55 c
56 c 0.1. ==> generalites
57 c
58       implicit none
59       save
60 c
61       character*6 nompro
62       parameter ( nompro = 'DEINI2' )
63 c
64 #include "nblang.h"
65 c
66 c 0.2. ==> communs
67 c
68 #include "envex1.h"
69 c
70 #include "nombqu.h"
71 #include "nombhe.h"
72 #ifdef _DEBUG_HOMARD_
73 #include "enti01.h"
74 #endif
75 c
76 c 0.3. ==> arguments
77 c
78       character*8 nohind
79 c
80       integer typind, ncmpin
81       integer nbvtri, nbvqua
82       integer nbvtet, nbvhex, nbvpyr
83       integer adquin, adqurn, adqusu
84       integer adhein, adhern, adhesu
85 c
86       integer ulsort, langue, codret
87 c
88 c 0.4. ==> variables locales
89 c
90       integer iaux
91       integer typenh
92 c
93 #ifdef _DEBUG_HOMARD_
94       integer codre0
95 #endif
96       character*8 motaux
97 c
98       integer nbmess
99       parameter ( nbmess = 10 )
100       character*80 texte(nblang,nbmess)
101 c
102 c 0.5. ==> initialisations
103 c ______________________________________________________________________
104 c
105 c====
106 c 1. messages
107 c====
108 c
109 #include "impr01.h"
110 c
111 #ifdef _DEBUG_HOMARD_
112       write (ulsort,texte(langue,1)) 'Entree', nompro
113       call dmflsh (iaux)
114 #endif
115 c
116       texte(1,4) = '(''Type d''''indicateur inconnu :'',i8)'
117 c
118       texte(2,4) = '(''Indicator type is unknown :'',i8)'
119 c
120       if ( typind.eq.2 ) then
121         motaux = 'ValeursE'
122       elseif ( typind.eq.3 ) then
123         motaux = 'ValeursR'
124       else
125         write (ulsort,texte(langue,4)) typind
126         codret = 1
127       endif
128 c
129 #ifdef _DEBUG_HOMARD_
130       if ( codret.eq.0 ) then
131       call gmprsx (nompro, nohind )
132       do 1999 , iaux = 4, 6, 2
133         motaux = '.'//suffix(1,iaux)(1:5)//'  '
134         call gmobal ( nohind//motaux, codre0 )
135         if ( codre0.eq.1 ) then
136           call gmprsx (nompro, nohind//motaux )
137         endif
138  1999 continue
139       endif
140 #endif
141 c
142 c====
143 c 2. Les quadrangles
144 c    Dans le cas suivant :
145 c    . Des quadrangles existent
146 c    . Aucun indicateur n'a ete defini sur les quadrangles
147 c    . Un indicateur a ete defini sur les triangles
148 c====
149 #ifdef _DEBUG_HOMARD_
150       write (ulsort,*) '2. quadrangles ; codret = ', codret
151 #endif
152 c
153       if ( nbquto.ne.0 .and. nbvqua.eq.0 .and. nbvtri.ne.0 ) then
154 c
155       if ( codret.eq.0 ) then
156 c
157 #ifdef _DEBUG_HOMARD_
158       write (ulsort,texte(langue,3)) 'UTALIH_qu', nompro
159 #endif
160       typenh = 4
161       call utalih ( nohind, typenh, nbquto, ncmpin, motaux,
162      >              adquin, adqusu,
163      >              ulsort, langue, codret)
164 c
165       if ( typind.eq.2 ) then
166         adquin = adquin
167       else
168         adqurn = adquin
169       endif
170       nbvqua = 1
171 c
172       endif
173 c
174       endif
175 c
176 c====
177 c 3. Les hexaedres
178 c    Dans le cas suivant :
179 c    . Des hexaedres existent
180 c    . Aucun indicateur n'a ete defini sur les hexaedres
181 c    . Un indicateur a ete defini sur les tetraedres ou les pyramides
182 c====
183 #ifdef _DEBUG_HOMARD_
184       write (ulsort,*) '3. hexaedres ; codret = ', codret
185 #endif
186 c
187       if ( nbheto.ne.0 .and. nbvhex.eq.0 .and.
188      >     ( nbvtet.ne.0 .or. nbvpyr.ne.0 ) ) then
189 c
190       if ( codret.eq.0 ) then
191 c
192 #ifdef _DEBUG_HOMARD_
193       write (ulsort,texte(langue,3)) 'UTALIH_he', nompro
194 #endif
195       typenh = 6
196       call utalih ( nohind, typenh, nbheto, ncmpin, motaux,
197      >              adhein, adhesu,
198      >              ulsort, langue, codret)
199 c
200       if ( typind.eq.2 ) then
201         adhein = adhein
202       else
203         adhern = adhein
204       endif
205       nbvhex = 1
206 c
207       endif
208 c
209       endif
210 c
211 c====
212 c 4. la fin
213 c====
214 c
215       if ( codret.ne.0 ) then
216 c
217 #include "envex2.h"
218 c
219       write (ulsort,texte(langue,1)) 'Sortie', nompro
220       write (ulsort,texte(langue,2)) codret
221 c
222       endif
223 c
224 #ifdef _DEBUG_HOMARD_
225       write (ulsort,texte(langue,1)) 'Sortie', nompro
226       call dmflsh (iaux)
227 #endif
228 c
229       end