Salome HOME
Homard executable
[modules/homard.git] / src / tool / Gestion_MTU / gmnomc.F
1       subroutine gmnomc (nom,nomter,codret)
2 c ______________________________________________________________________
3 c
4 c                             H O M A R D
5 c
6 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
7 c
8 c Version originale enregistree le 18 juin 1996 sous le numero 96036
9 c aupres des huissiers de justice Simart et Lavoir a Clamart
10 c Version 11.2 enregistree le 13 fevrier 2015 sous le numero 2015/014
11 c aupres des huissiers de justice
12 c Lavoir, Silinski & Cherqui-Abrahmi a Clamart
13 c
14 c    HOMARD est une marque deposee d'Electricite de France
15 c
16 c Copyright EDF 1996
17 c Copyright EDF 1998
18 c Copyright EDF 2002
19 c Copyright EDF 2020
20 c ______________________________________________________________________
21 c
22 c  but : rechercher le nom de l'objet-terminal du nom etendu "nom"
23 c ______________________________________________________________________
24 c .        .     .        .                                            .
25 c .  nom   . e/s . taille .           description                      .
26 c .____________________________________________________________________.
27 c . nom    . e   . char*  . nom etendu dont on veut le nom terminal    .
28 c . nomter .  s  .   ch8  . nom terminal du nom etendu nom             .
29 c . codret .  s  .    1   . 0  : tout va bien                          .
30 c .        .     .        . -1 : objet-terminal non defini : aucun     .
31 c .        .     .        .      objet n'a ete attache au champ        .
32 c .        .     .        .      terminal de l'objet-repertoire        .
33 c .        .     .        . -3 : nom etendu invalide                   .
34 c .____________________________________________________________________.
35 c
36 c====
37 c 0. declarations et dimensionnement
38 c====
39 c
40 c 0.1. ==> generalites
41 c
42       implicit none
43       save
44 c
45       character*6 nompro
46       parameter ( nompro = 'GMNOMC' )
47 c
48 #include "genbla.h"
49 c
50 c 0.2. ==> communs
51 c
52 #include "gminds.h"
53 c
54 #ifdef _DEBUG_HOMARD_
55 #include "envex1.h"
56 #include "gmimpr.h"
57 #include "gmlang.h"
58 #endif
59 c
60 c 0.3. ==> arguments
61 c
62       character*(*) nom
63       character*8   nomter
64 c
65       integer       codret
66 c
67 c 0.4. ==> variables locales
68 c
69       character*8   objrep,objter,chater
70       integer iaux
71 c
72       integer nbmess
73       parameter ( nbmess = 10 )
74 c
75       character*80 texte(nblang,nbmess)
76 c
77 c 0.5. ==> initialisations
78 c ______________________________________________________________________
79 c
80 c====
81 c  1. preliminaires
82 c====
83 c
84 #include "impr01.h"
85 c
86 #ifdef _DEBUG_HOMARD_
87       write (ulsort,texte(langue,1)) 'Entree', nompro
88       call dmflsh (iaux)
89 #endif
90 c
91       texte(1,4) = '(''Objet : '',a)'
92       texte(1,5) = '(''Le nom etendu est invalide.'')'
93       texte(1,6) = '(''L''''objet terminal est indefini.'')'
94 c
95       texte(2,4) = '(''Object : '',a)'
96       texte(2,5) = '(''Extended name is not valid.'')'
97       texte(2,6) = '(''Final object is not defined.'')'
98 c
99 c====
100 c 2. decodage du nom etendu
101 c====
102 c
103       call gbdnoe(nom,objrep,objter,chater,iaux)
104 c
105       if (iaux.lt.0) then
106 c
107 c        nom etendu invalide
108 c
109          nomter = sindef
110          codret = -3
111 c
112       else if (iaux.eq.0) then
113 c
114 c        'nom' n'a qu'un element
115 c
116          nomter = nom
117          codret = 0
118 c
119       else if (iaux.eq.1) then
120 c
121 c        objet-terminal non defini
122 c
123          nomter = sindef
124          codret = -1
125 c
126       else
127 c
128 c        objet-terminal est defini et (eventuellement alloue)
129 c
130          nomter = objter
131          codret = 0
132 c
133       endif
134 c
135 c====
136 c 4. Fin
137 c====
138 c
139 #ifdef _DEBUG_HOMARD_
140       if ( codret.ne.0 ) then
141 c
142 #include "envex2.h"
143 c
144       write (ulsort,texte(langue,1)) 'Sortie', nompro
145       write (ulsort,texte(langue,2)) codret
146       write (ulsort,texte(langue,4)) nom
147       if ( codret.eq.-3 ) then
148         write (ulsort,texte(langue,5))
149       else
150         write (ulsort,texte(langue,6))
151       endif
152 c
153       endif
154 #endif
155 c
156 #ifdef _DEBUG_HOMARD_
157       write (ulsort,texte(langue,1)) 'Sortie', nompro
158       call dmflsh (iaux)
159 #endif
160 c
161       end