Salome HOME
Merge branch 'vsr/evol_01_fixes'
[modules/homard.git] / src / tool / Suivi_Frontiere / sffaf3.F
1       subroutine sffaf3 ( nbfron, typefr, nogrfr,
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 - 3
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 . typefr . e   . nbfron . type de frontiere (1:ligne/-1:surface)     .
31 c . nogrfr . e   .10nbfron. noms des groupes des frontieres            .
32 c . ulsort . e   .   1    . numero d'unite logique de la liste standard.
33 c . langue . e   .    1   . langue des messages                        .
34 c .        .     .        . 1 : francais, 2 : anglais                  .
35 c . codret . es  .    1   . code de retour des modules                 .
36 c .        .     .        . 0 : pas de probleme                        .
37 c .        .     .        . x : probleme                               .
38 c ______________________________________________________________________
39 c
40 c====
41 c 0. declarations et dimensionnement
42 c====
43 c
44 c 0.1. ==> generalites
45 c
46       implicit none
47       save
48 c
49       character*6 nompro
50       parameter ( nompro = 'SFFAF3' )
51 c
52 #include "nblang.h"
53 c
54 c 0.2. ==> communs
55 c
56 #include "envex1.h"
57 c
58 c 0.3. ==> arguments
59 c
60       integer nbfron
61       integer typefr(nbfron)
62 c
63       character*8 nogrfr(10*nbfron)
64 c
65       integer ulsort, langue, codret
66 c
67 c 0.4. ==> variables locales
68 c
69       integer iaux
70 c
71       integer numfro
72       integer lgngro
73 c
74       character*80 nomgro
75 c
76       logical prem
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) = '(''*'',33x,''Ligne frontiere'',34x,''*'')'
99       texte(1,5) = '(''*'',32x,''Surface frontiere'',33x,''*'')'
100 c
101       texte(2,4) = '(''*'',35x,''1D boundary'',36x,''*'')'
102       texte(2,5) = '(''*'',35x,''2D boundary'',36x,''*'')'
103 c
104 #include "impr03.h"
105 c
106  1000 format('* ',a80,' *')
107  1001 format('*',10x,i10,14x,'*')
108  1100 format(84('*'))
109  1101 format(//,84('*'))
110 c
111       lgngro = 80
112 c
113 #ifdef _DEBUG_HOMARD_
114         write (ulsort,90002) 'nbfron', nbfron
115 #endif
116 c
117 c====
118 c 2. affichage des lignes
119 c====
120 c
121 #ifdef _DEBUG_HOMARD_
122       write (ulsort,90002) '2. affichage des lignes ; codret', codret
123 #endif
124 c
125       prem = .true.
126 c
127       do 21 , numfro = 1 , nbfron
128 cgn        write (ulsort,90112) 'typefr', numfro, typefr(numfro)
129 c
130         if ( typefr(numfro).gt.0 ) then
131 c
132           if ( codret.eq.0 ) then
133 c
134 c         recuperation du nom du groupe associe a la frontiere fro
135           call uts8ch ( nogrfr(10*(numfro-1)+1), lgngro, nomgro,
136      >                  ulsort, langue, codret )
137 c
138           endif
139 c
140           if ( codret.eq.0 ) then
141 c
142           if ( prem ) then
143             write (ulsort,1101)
144             write (ulsort,texte(langue,4))
145             write (ulsort,1100)
146             prem = .False.
147           endif
148           write (ulsort,1000) nomgro
149 c
150           endif
151 c
152         endif
153 c
154    21 continue
155 c
156       if ( .not. prem ) then
157         write (ulsort,1100)
158       endif
159 c
160 c====
161 c 3. affichage des surfaces
162 c====
163 #ifdef _DEBUG_HOMARD_
164       write (ulsort,90002) '3. affichage des surfaces ; codret', codret
165 #endif
166 c
167       prem = .true.
168 c
169       do 31 , numfro = 1 , nbfron
170 c
171         if ( typefr(numfro).lt.0 ) then
172 c
173           if ( codret.eq.0 ) then
174 c
175 c         recuperation du nom du groupe associe a la frontiere fro
176           call uts8ch ( nogrfr(10*(numfro-1)+1), lgngro, nomgro,
177      >                  ulsort, langue, codret )
178 c
179           endif
180 c
181           if ( codret.eq.0 ) then
182 c
183           if ( prem ) then
184             write (ulsort,1101)
185             write (ulsort,texte(langue,5))
186             write (ulsort,1100)
187             prem = .False.
188           endif
189           write (ulsort,1000) nomgro
190 c
191           endif
192 c
193         endif
194 c
195    31 continue
196 c
197       if ( .not. prem ) then
198         write (ulsort,1100)
199       endif
200 c
201 c====
202 c 3. La fin
203 c====
204 c
205       if ( codret.ne.0 ) then
206 c
207 #include "envex2.h"
208 c
209       write (ulsort,texte(langue,1)) 'Sortie', nompro
210       write (ulsort,texte(langue,2)) codret
211 c
212       endif
213 c
214 #ifdef _DEBUG_HOMARD_
215       write (ulsort,texte(langue,1)) 'Sortie', nompro
216       call dmflsh (iaux)
217 #endif
218 c
219       end