Salome HOME
Merge branch 'vsr/evol_01_fixes'
[modules/homard.git] / src / tool / Suivi_Frontiere / sffaf1.F
1       subroutine sffaf1 ( nbfron, pointa, taigra, nomgra,
2      >                    ulsort, langue, codret)
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   Suivi de Frontiere - Frontieres AFfichage - 1
23 c   -        -           -          --          -
24 c remarque : sffaf1, sffaf2 et sffaf3 sont des clones
25 c ______________________________________________________________________
26 c .        .     .        .                                            .
27 c .  nom   . e/s . taille .           description                      .
28 c .____________________________________________________________________.
29 c . nbfron . e   .   1    . nombre de frontieres                       .
30 c . pointa . e   .0:nbfron. pointeur sur le tableau nomgra             .
31 c . taigra . e   .   *    . taille des noms des groupes des frontieres .
32 c . nomgra . e   .   *    . noms des groupes des frontieres            .
33 c . ulsort . e   .   1    . numero d'unite logique de la liste standard.
34 c . langue . e   .    1   . langue des messages                        .
35 c .        .     .        . 1 : francais, 2 : anglais                  .
36 c . codret . es  .    1   . code de retour des modules                 .
37 c .        .     .        . 0 : pas de probleme                        .
38 c .        .     .        . x : 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 = 'SFFAF1' )
52 c
53 #include "nblang.h"
54 c
55 c 0.2. ==> communs
56 c
57 #include "envex1.h"
58 c
59 c 0.3. ==> arguments
60 c
61       integer nbfron
62       integer pointa(0:nbfron), taigra(*)
63 c
64       character*8 nomgra(*)
65 c
66       integer ulsort, langue, codret
67 c
68 c 0.4. ==> variables locales
69 c
70       integer iaux, jaux
71 c
72       integer numfro
73       integer lgngro
74 c
75       character*8 notyfr(2)
76       character*80 nomgro
77 c
78       integer nbmess
79       parameter ( nbmess = 10 )
80       character*80 texte(nblang,nbmess)
81 c
82 c 0.5. ==> initialisations
83 c ______________________________________________________________________
84 c
85 c====
86 c 1. messages
87 c====
88 c
89       codret = 0
90 c
91 #include "impr01.h"
92 c
93 #ifdef _DEBUG_HOMARD_
94       write (ulsort,texte(langue,1)) 'Entree', nompro
95       call dmflsh (iaux)
96 #endif
97 c
98       texte(1,4) =
99      >'(''*'',26x,''Groupe(s) frontiere '',a8,28x,''*'')'
100 c
101       texte(2,4) =
102      >'(''*'',28x,a8,'' boundary group(s)'',28x,''*'')'
103 c
104 #include "impr03.h"
105 c
106  1000 format('* ',a80,' *')
107  1001 format('*',10x,i10,14x,'*')
108  1100 format(84('*'))
109 c
110 c====
111 c 2. affichage
112 c====
113 c
114 #ifdef _DEBUG_HOMARD_
115       write (ulsort,90002) '2. affichage ; codret', codret
116 #endif
117 c
118       notyfr(1) = 'discrete'
119       notyfr(2) = 'Discrete'
120 c
121       write (ulsort,1100)
122       write (ulsort,texte(langue,4)) notyfr(langue)
123       write (ulsort,1100)
124 c
125       do 21 , numfro = 1 , nbfron
126 c
127 c 2.1. ==> Reperage du nom du groupe
128 c
129         if ( codret.eq.0 ) then
130 c
131 c         adresse du debut du groupe associe a la frontiere
132         jaux = pointa(numfro-1) + 1
133 c
134 c         longueur utile du nom du groupe
135         lgngro = 0
136         do 221 , iaux = jaux , pointa(numfro)
137           lgngro = lgngro + taigra(iaux)
138   221   continue
139 c
140         endif
141 c
142         if ( codret.eq.0 ) then
143 c
144 c         recuperation du nom du groupe associe a la frontiere fro
145         call uts8ch ( nomgra(jaux), lgngro, nomgro,
146      >                ulsort, langue, codret )
147 c
148         endif
149 c
150 c 2.2. ==> Affichage
151 c
152         if ( codret.eq.0 ) then
153 c
154         write (ulsort,1000) nomgro
155 c
156         endif
157 c
158    21 continue
159 c
160       write (ulsort,1100)
161 c
162 c====
163 c 3. La fin
164 c====
165 c
166       if ( codret.ne.0 ) then
167 c
168 #include "envex2.h"
169 c
170       write (ulsort,texte(langue,1)) 'Sortie', nompro
171       write (ulsort,texte(langue,2)) codret
172 c
173       endif
174 c
175 #ifdef _DEBUG_HOMARD_
176       write (ulsort,texte(langue,1)) 'Sortie', nompro
177       call dmflsh (iaux)
178 #endif
179 c
180       end