Salome HOME
Homard executable
[modules/homard.git] / src / tool / Information / infve4.F
1       subroutine infve4 ( fotrva, foquva,
2      >                    coonoe, somare, aretri, arequa,
3      >                    nbtrvi, nbquvi,
4      >                    nntrvi, nnquvi,
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   INformation : Fichiers VEctoriel - 4eme partie
27 c   --            -        --          -
28 c ______________________________________________________________________
29 c
30 c recherche des qualites
31 c ______________________________________________________________________
32 c .        .     .        .                                            .
33 c .  nom   . e/s . taille .           description                      .
34 c .____________________________________________________________________.
35 c . fotrva .  s  . nbtrvi . fonctions triangles : valeur               .
36 c . foquva .  s  . nbquvi . fonctions quadrangles : valeur             .
37 c . coonoe . e   . nbnoto . coordonnees des noeuds                     .
38 c .        .     . * sdim .                                            .
39 c . somare . e   .2*nbarto. numeros des extremites d'arete             .
40 c . aretri . e   .nbtrto*3. numeros des 3 aretes des triangles         .
41 c . arequa . e   .nbquto*4. numeros des 4 aretes des quadrangles       .
42 c . nbtrvi . e   .   1    . nombre triangles visualisables             .
43 c . nbquvi . e   .   1    . nombre de quadrangles visualisables        .
44 c . nntrvi . e   .10nbtrvi. 1 : niveau du triangle a afficher          .
45 c .        .     .        . 2 : numero HOMARD du triangle              .
46 c .        .     .        . 3, 4, 5 : numeros des noeuds p1            .
47 c .        .     .        . 6 : famille du triangle                    .
48 c .        .     .        . 7, 8, 9 : numeros des noeuds p2            .
49 c .        .     .        . 10 : numero du noeud interne               .
50 c . nnquvi . e   .12nbquvi. 1 : niveau du quadrangle a afficher        .
51 c .        .     .        . 2 : numero HOMARD du quadrangle            .
52 c .        .     .        . 3, 4, 5, 6 : numeros des noeuds p1         .
53 c .        .     .        . 7 : famille du quadrangle                  .
54 c .        .     .        . 8, 9, 10, 11 : numeros des noeuds p2       .
55 c .        .     .        . 12 : numero du noeud interne               .
56 c . ulsort . e   .   1    . unite logique de la sortie generale        .
57 c . langue . e   .    1   . langue des messages                        .
58 c .        .     .        . 1 : francais, 2 : anglais                  .
59 c . codret .  s  .    1   . code de retour des modules                 .
60 c .        .     .        . 0 : pas de probleme                        .
61 c ______________________________________________________________________
62 c
63 c====
64 c 0. declarations et dimensionnement
65 c====
66 c
67 c 0.1. ==> generalites
68 c
69       implicit none
70       save
71 c
72       character*6 nompro
73       parameter ( nompro = 'INFVE4' )
74 c
75 #include "nblang.h"
76 #include "consts.h"
77 #include "meddc0.h"
78 c
79 c 0.2. ==> communs
80 c
81 #include "envex1.h"
82 c
83 #include "nombno.h"
84 #include "nombar.h"
85 #include "nombtr.h"
86 #include "nombqu.h"
87 #include "envca1.h"
88 c
89 c 0.3. ==> arguments
90 c
91       integer nbtrvi, nbquvi
92       integer nntrvi(10,nbtrvi)
93       integer nnquvi(12,nbquvi)
94       integer somare(2,nbarto)
95       integer aretri(nbtrto,3), arequa(nbquto,4)
96 c
97       double precision fotrva(*), foquva(*)
98       double precision coonoe(nbnoto,sdim)
99 c
100       integer ulsort, langue, codret
101 c
102 c 0.4. ==> variables locales
103 c
104       integer iaux
105       integer letria, lequad
106 c
107       double precision qual, daux
108 c
109       integer nbmess
110       parameter ( nbmess = 10 )
111       character*80 texte(nblang,nbmess)
112 c_______________________________________________________________________
113 c
114 c====
115 c 1. initialisation
116 c====
117 c
118 c 1.1. ==> messages
119 c
120 #include "impr01.h"
121 c
122 #ifdef _DEBUG_HOMARD_
123       write (ulsort,texte(langue,1)) 'Entree', nompro
124       call dmflsh (iaux)
125 #endif
126 c
127       texte(1,4) = '(''Recherche des qualites des mailles'')'
128 c
129       texte(2,4) = '(''Research of mesh qualities'')'
130 c
131 #ifdef _DEBUG_HOMARD_
132       write (ulsort,texte(langue,4))
133 #endif
134 cgn 1789   format(i4,12f13.6)
135 c
136 c====
137 c 2. Parcours des differentes mailles
138 c====
139 c 2.1. ==> les triangles
140 c
141       do 21 , iaux = 1 , nbtrvi
142 c
143         letria = nntrvi(2,iaux)
144 c
145         call utqtri ( letria, qual, daux,
146      >                coonoe, somare, aretri )
147 c
148         fotrva(iaux) = qual
149 cgn      print 1789,iaux,fotrva(iaux)
150 c
151    21 continue
152 c
153 c 2.2. ==> les quadrangles
154 c
155       do 22 , iaux = 1 , nbquvi
156 c
157         lequad = nnquvi(2,iaux)
158 c
159         call utqqua ( lequad, qual, daux,
160      >                coonoe, somare, arequa )
161 c
162         foquva(iaux) = qual
163 cgn      print 1789,iaux,fotrva(iaux)
164 c
165    22 continue
166 c
167 c====
168 c 3. la fin
169 c====
170 c
171       if ( codret.ne.0 ) then
172 c
173 #include "envex2.h"
174 c
175       write (ulsort,texte(langue,1)) 'Sortie', nompro
176       write (ulsort,texte(langue,2)) codret
177 c
178       endif
179 c
180 #ifdef _DEBUG_HOMARD_
181       write (ulsort,texte(langue,1)) 'Sortie', nompro
182       call dmflsh (iaux)
183 #endif
184 c
185       end