Salome HOME
Homard executable
[modules/homard.git] / src / tool / Utilitaire / utad12.F
1       subroutine utad12 ( option, typenh,
2      >                    nccoex, adcoex,
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    UTilitaire - ADresses - phase 12
25 c    --           --               --
26 c ______________________________________________________________________
27 c   Recuperation des adresses des tableaux pour MC_Gr_En et MC_CEx
28 c   Remarque : le code de retour en entree ne doit pas etre ecrase
29 c              brutalement ; il doit etre cumule avec les operations
30 c              de ce programme
31 c ______________________________________________________________________
32 c .        .     .        .                                            .
33 c .  nom   . e/s . taille .           description                      .
34 c .____________________________________________________________________.
35 c . option . e   .   1    . option de pilotage des adresses a recuperer.
36 c .        .     .        . c'est un multiple des entiers suivants :   .
37 c .        .     .        .  7 : code externe                          .
38 c . typenh . e   .   1    . code des entites au sens homard            .
39 c .        .     .        .  -1 : noeuds                               .
40 c .        .     .        .   0 : mailles-points                       .
41 c .        .     .        .   1 : segments                             .
42 c .        .     .        .   2 : triangles                            .
43 c .        .     .        .   3 : tetraedres                           .
44 c .        .     .        .   4 : quadrangles                          .
45 c .        .     .        .   5 : pyramides                            .
46 c .        .     .        .   6 : hexaedres                            .
47 c .        .     .        .   7 : pentaedres                           .
48 c . nccoex . e   . char8  . nom de la branche CodeExte                 .
49 c . adcoex .   s  .  1    . code externe                               .
50 c . ulsort . e   .   1    . numero d'unite logique de la liste standard.
51 c . langue . e   .    1   . langue des messages                        .
52 c .        .     .        . 1 : francais, 2 : anglais                  .
53 c . codret . es  .    1   . code de retour des modules                 .
54 c ______________________________________________________________________
55 c
56 c====
57 c 0. declarations et dimensionnement
58 c====
59 c
60 c 0.1. ==> generalites
61 c
62       implicit none
63       save
64 c
65       character*6 nompro
66       parameter ( nompro = 'UTAD12' )
67 c
68 #include "nblang.h"
69 c
70 c 0.2. ==> communs
71 c
72 #include "envex1.h"
73 #include "enti01.h"
74 #include "impr02.h"
75 c
76 c 0.3. ==> arguments
77 c
78       character*8 nccoex
79 c
80       integer option, typenh
81       integer adcoex
82 c
83       integer ulsort, langue, codret
84 c
85 c 0.4. ==> variables locales
86 c
87       integer iaux
88 c
89       character*6 saux06
90 c
91       integer nbmess
92       parameter ( nbmess = 10 )
93       character*80 texte(nblang,nbmess)
94 c
95 c 0.5. ==> initialisations
96 c ______________________________________________________________________
97 c
98 c====
99 c 1. initialisations
100 c====
101 c
102 c 1.1. ==> les messages
103 c
104 #include "impr01.h"
105 c
106 #ifdef _DEBUG_HOMARD_
107       write (ulsort,texte(langue,1)) 'Entree', nompro
108       call dmflsh (iaux)
109 #endif
110 c
111       texte(1,4) = '(''Adresses relatives aux '',a)'
112       texte(1,5) = '(''Option :'',i10)'
113       texte(1,9) = '(''Erreur dans l''''adresse de code externe'')'
114 c
115       texte(2,4) = '(''Adresses for '',a)'
116       texte(2,5) = '(''Option :'',i10)'
117       texte(2,9) = '(''Error in address of external code'')'
118 c
119 #ifdef _DEBUG_HOMARD_
120       write (ulsort,texte(langue,4)) mess14(langue,3,typenh)
121       write (ulsort,texte(langue,5)) option
122 #endif
123 c
124 c 1.2. ==> types d'entites
125 c
126       saux06 = '.'//suffix(1,typenh)(1:5)
127 c
128 c====
129 c 2. recuperation des adresses
130 c====
131 c
132       if ( option.gt.0 ) then
133 c
134 c 2.1. ==> Code externe
135 c
136       if ( mod(option,7).eq.0 ) then
137 c
138         call gmadoj ( nccoex//saux06, adcoex, iaux, codret )
139 c
140         if ( codret.ne.0 ) then
141           codret = 4
142         endif
143 c
144       endif
145 c
146       endif
147 c
148 c====
149 c 3. la fin
150 c====
151 c
152       if ( codret.ne.0 ) then
153 c
154 #include "envex2.h"
155 c
156       write (ulsort,texte(langue,1)) 'Sortie', nompro
157       write (ulsort,texte(langue,2)) codret
158       write (ulsort,texte(langue,4)) mess14(langue,3,typenh)
159       write (ulsort,texte(langue,5)) option
160       write (ulsort,texte(langue,5+codret))
161       call gmprsx (nompro,nccoex//saux06)
162 c
163       endif
164 c
165 #ifdef _DEBUG_HOMARD_
166       write (ulsort,texte(langue,1)) 'Sortie', nompro
167       call dmflsh (iaux)
168 #endif
169 c
170       end