Salome HOME
Homard executable
[modules/homard.git] / src / tool / Utilitaire / utthex.F
1       subroutine utthex ( lehexa, torsio,
2      >                    coonoe, somare, arequa,
3      >                    quahex, coquhe, arehex )
4
5 c ______________________________________________________________________
6 c
7 c                             H O M A R D
8 c
9 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
10 c
11 c Version originale enregistree le 18 juin 1996 sous le numero 96036
12 c aupres des huissiers de justice Simart et Lavoir a Clamart
13 c Version 11.2 enregistree le 13 fevrier 2015 sous le numero 2015/014
14 c aupres des huissiers de justice
15 c Lavoir, Silinski & Cherqui-Abrahmi a Clamart
16 c
17 c    HOMARD est une marque deposee d'Electricite de France
18 c
19 c Copyright EDF 1996
20 c Copyright EDF 1998
21 c Copyright EDF 2002
22 c Copyright EDF 2020
23 c ______________________________________________________________________
24 c
25 c     UTilitaire : Torsion d'un HEXaedre
26 c     --           -            ---
27 c ______________________________________________________________________
28 c .        .     .        .                                            .
29 c .  nom   . e/s . taille .           description                      .
30 c .____________________________________________________________________.
31 c . lehexa . e   .  1     . numero de l'hexaedre a examiner            .
32 c . torsio .  s  .  1     . torsion de l'hexaedre                      .
33 c . coonoe . e   . nbnoto . coordonnees des noeuds                     .
34 c .        .     . * sdim .                                            .
35 c . somare . e   .2*nbarto. numeros des extremites d'arete             .
36 c . arequa . e   .nbquto*4. numeros des 4 aretes des quadrangles       .
37 c . quahex . e   .nbhecf*6. numeros des 6 quadrangles des hexaedres    .
38 c . coquhe . e   .nbhecf*6. codes des 6 quadrangles des hexaedres      .
39 c . arehex . e   .nbheca12. numeros des 12 aretes des hexaedres        .
40 c .____________________________________________________________________.
41 c
42 c====
43 c 0. declarations et dimensionnement
44 c====
45 c
46 c 0.1. ==> generalites
47 c
48       implicit none
49       save
50 c
51 c 0.2. ==> communs
52 c
53 #include "nombno.h"
54 #include "nombar.h"
55 #include "nombqu.h"
56 #include "nombhe.h"
57 c
58 c 0.3. ==> arguments
59 c
60       double precision torsio, coonoe(nbnoto,3)
61 c
62       integer lehexa
63       integer somare(2,nbarto)
64       integer arequa(nbquto,4)
65       integer quahex(nbhecf,6), coquhe(nbhecf,6), arehex(nbheca,12)
66 c
67 c 0.4. ==> variables locales
68 c
69       integer listar(12), listso(8)
70 c
71       double precision daux
72 c
73 c====
74 c 1. Les aretes et les sommets de l'hexaedre
75 c====
76 c
77       call utashe ( lehexa,
78      >              nbquto, nbhecf, nbheca,
79      >              somare, arequa,
80      >              quahex, coquhe, arehex,
81      >              listar, listso )
82 c
83 c====
84 c 2. traitement
85 c====
86 c
87 c 2.1. ==> face 1
88 c
89       call uttoqu ( listso(1), listso(2), listso(3), listso(4),
90      >              coonoe, daux )
91       torsio = daux
92 c
93 c 2.2. ==> face 2
94 c
95       call uttoqu ( listso(1), listso(2), listso(5), listso(6),
96      >              coonoe, daux )
97       torsio = max(torsio, daux)
98 c
99 c 2.3. ==> face 3
100 c
101       call uttoqu ( listso(1), listso(6), listso(7), listso(4),
102      >              coonoe, daux )
103       torsio = max(torsio, daux)
104 c
105 c 2.4. ==> face 4
106 c
107       call uttoqu ( listso(5), listso(2), listso(3), listso(8),
108      >              coonoe, daux )
109       torsio = max(torsio, daux)
110 c
111 c 2.5. ==> face 5
112 c
113       call uttoqu ( listso(7), listso(8), listso(3), listso(4),
114      >              coonoe, daux )
115       torsio = max(torsio, daux)
116 c
117 c 2.6. ==> face 6
118 c
119       call uttoqu ( listso(5), listso(6), listso(7), listso(8),
120      >              coonoe, daux )
121       torsio = max(torsio, daux)
122 c
123       end