]> SALOME platform Git repositories - modules/homard.git/blob - src/tool/AV_Conversion/vcfia1.F
Salome HOME
Homard executable
[modules/homard.git] / src / tool / AV_Conversion / vcfia1.F
1       subroutine vcfia1 ( lisgro, nhsupe, nhsups,
2      >                    ngrofi, adgfpt, adgftb,
3      >                    nbfmed, pnumfa, pgrpo, pgrtab,
4      >                    ntrav1, adtra1, ntrav2, adtra2,
5      >                    ulsort, langue, codret )
6 c ______________________________________________________________________
7 c
8 c                             H O M A R D
9 c
10 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
11 c
12 c Version originale enregistree le 18 juin 1996 sous le numero 96036
13 c aupres des huissiers de justice Simart et Lavoir a Clamart
14 c Version 11.2 enregistree le 13 fevrier 2015 sous le numero 2015/014
15 c aupres des huissiers de justice
16 c Lavoir, Silinski & Cherqui-Abrahmi a Clamart
17 c
18 c    HOMARD est une marque deposee d'Electricite de France
19 c
20 c Copyright EDF 1996
21 c Copyright EDF 1998
22 c Copyright EDF 2002
23 c Copyright EDF 2020
24 c ______________________________________________________________________
25 c
26 c    aVant adaptation - FIltrage de l'Adaptation - phase 1
27 c     -                 --            -                  -
28 c ______________________________________________________________________
29 c .        .     .        .                                            .
30 c .  nom   . e/s . taille .           description                      .
31 c .____________________________________________________________________.
32 c . lisgro . e   .  ch8   . nom de l'objet de type PtTabC08 qui        .
33 c .        .     .        . definit la liste des groupes de filtrage   .
34 c . nhsupe . e   . char8  . informations supplementaires entieres      .
35 c . nhsups . e   . char8  . informations supplementaires caracteres 8  .
36 c . ngrofi .  s  .    1   . nombre de groupes de filtrage              .
37 c . adgfpt .  s  .   1    . adresse de groupes de filtrage - pointeur  .
38 c . adgftb .  s  .   1    . adresse de groupes de filtrage - table     .
39 c . nbfmed .  s  .    1   . nombre de familles MED dans le maillage    .
40 c . pnumfa .  s  .   1    . adresse des numeros MED des familles       .
41 c . pgrpo  .  s  .   1    . adresse de groupes calcul - pointeur       .
42 c . pgrtab .  s  .   1    . adresse de groupes calcul - table          .
43 c . ntravk .  s  .   1    . nom du tableau de travail k                .
44 c . adtrak .  s  .   1    . adresse du tableau de travail k            .
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 = 'VCFIA1' )
63 c
64 #include "nblang.h"
65 c
66 c 0.2. ==> communs
67 c
68 #include "envex1.h"
69 c
70 c 0.3. ==> arguments
71 c
72       integer ngrofi, adgfpt, adgftb
73       integer nbfmed, pnumfa, pgrpo, pgrtab
74       integer adtra1, adtra2
75 c
76       character*8 lisgro
77       character*8 nhsupe, nhsups
78       character*8 ntrav1, ntrav2
79 c
80       integer ulsort, langue, codret
81 c
82 c 0.4. ==> variables locales
83 c
84       integer iaux, jaux
85 c
86       integer codre0, codre1, codre2, codre3, codre4
87 c
88       integer nbmess
89       parameter ( nbmess = 10 )
90       character*80 texte(nblang,nbmess)
91 c
92 c 0.5. ==> initialisations
93 c ______________________________________________________________________
94 c
95 c====
96 c 1. messages
97 c====
98 c
99 #include "impr01.h"
100 c
101 #ifdef _DEBUG_HOMARD_
102       write (ulsort,texte(langue,1)) 'Entree', nompro
103       call dmflsh (iaux)
104 #endif
105 c
106 c====
107 c 2. Decodage des adresses pour les groupes de filtrage
108 c====
109 c
110 #ifdef _DEBUG_HOMARD_
111       call gmprsx (nompro,lisgro)
112       call gmprsx (nompro,lisgro//'.Pointeur')
113       call gmprsx (nompro,lisgro//'.Table')
114 #endif
115 c
116 #ifdef _DEBUG_HOMARD_
117       write (ulsort,texte(langue,3)) 'UTRPTC', nompro
118 #endif
119       call utrptc ( lisgro,
120      >              ngrofi, iaux,
121      >              adgfpt, jaux, adgftb,
122      >              ulsort, langue, codret )
123 c
124 c====
125 c 3. Decodage des caracteristiques des groupes dans les familles MED
126 c    du maillage
127 c====
128 ccc      call gmprsx (nompro,nhsupe//'.Tab5')
129 ccc      call gmprsx (nompro,nhsupe//'.Tab6')
130 ccc      call gmprsx (nompro,nhsups//'.Tab2')
131 c
132       if ( codret.eq.0 ) then
133 c
134       call gmliat ( nhsupe, 9, nbfmed, codre1 )
135       call gmadoj ( nhsupe//'.Tab9', pnumfa, iaux, codre2 )
136       call gmadoj ( nhsupe//'.Tab5', pgrpo, iaux, codre3 )
137       call gmadoj ( nhsups//'.Tab2', pgrtab, iaux, codre4 )
138 c
139       codre0 = min ( codre1, codre2, codre3, codre4 )
140       codret = max ( abs(codre0), codret,
141      >               codre1, codre2, codre3, codre4 )
142 c
143       endif
144 c
145 c====
146 c 4. Tableaux de travail
147 c====
148 c
149       if ( codret.eq.0 ) then
150 c
151       call gmalot ( ntrav1, 'entier  ', ngrofi, adtra1, codre1 )
152       call gmalot ( ntrav2, 'entier  ', nbfmed, adtra2, codre2 )
153 c
154       codre0 = min ( codre1, codre2 )
155       codret = max ( abs(codre0), codret,
156      >               codre1, codre2 )
157 c
158       endif
159 c
160 c====
161 c 5. la fin
162 c====
163 c
164       if ( codret.ne.0 ) then
165 c
166 #include "envex2.h"
167 c
168       write (ulsort,texte(langue,1)) 'Sortie', nompro
169       write (ulsort,texte(langue,2)) codret
170 c
171       endif
172 c
173 #ifdef _DEBUG_HOMARD_
174       write (ulsort,texte(langue,1)) 'Sortie', nompro
175       call dmflsh (iaux)
176 #endif
177 c
178       end