2 c 2.1. ==> les aretes et les sommets de cet hexaedre actif
3 c vi(1->3) = coordonnees du sommet si
7 write (ulsort,90002) mess14(langue,1,typenh), lehexa
11 if ( lehexa.le.nbhecf ) then
15 > arequa, quahex, coquhe,
20 do 210 , iaux = 1 , 12
21 listar(iaux) = arehex(lehexa-nbhecf,iaux)
28 write (ulsort,90002) 'listar', (listar(iaux),iaux=1,10)
29 write (ulsort,90002) 'listar', (listar(iaux),iaux=11,12)
33 call utsohe ( somare, listar, sommet )
37 write (ulsort,90002) 'sommet', sommet
41 if ( degre.eq.2 ) then
42 do 211 , iaux = 1 , 12
43 sommet(8+iaux) = np2are(listar(iaux))
47 c 2.2. ==> le parallelepipede enveloppe
49 v1(1) = coonoe(sommet(1),1)
50 v1(2) = coonoe(sommet(1),2)
51 v1(3) = coonoe(sommet(1),3)
53 v2(1) = coonoe(sommet(2),1)
54 v2(2) = coonoe(sommet(2),2)
55 v2(3) = coonoe(sommet(2),3)
57 v3(1) = coonoe(sommet(3),1)
58 v3(2) = coonoe(sommet(3),2)
59 v3(3) = coonoe(sommet(3),3)
61 v4(1) = coonoe(sommet(4),1)
62 v4(2) = coonoe(sommet(4),2)
63 v4(3) = coonoe(sommet(4),3)
65 v5(1) = coonoe(sommet(5),1)
66 v5(2) = coonoe(sommet(5),2)
67 v5(3) = coonoe(sommet(5),3)
69 v6(1) = coonoe(sommet(6),1)
70 v6(2) = coonoe(sommet(6),2)
71 v6(3) = coonoe(sommet(6),3)
73 v7(1) = coonoe(sommet(7),1)
74 v7(2) = coonoe(sommet(7),2)
75 v7(3) = coonoe(sommet(7),3)
77 v8(1) = coonoe(sommet(8),1)
78 v8(2) = coonoe(sommet(8),2)
79 v8(3) = coonoe(sommet(8),3)
81 xmin = min(v1(1),v2(1),v3(1),v4(1),v5(1),v6(1),v7(1),v8(1))
82 xmax = max(v1(1),v2(1),v3(1),v4(1),v5(1),v6(1),v7(1),v8(1))
83 ymin = min(v1(2),v2(2),v3(2),v4(2),v5(2),v6(2),v7(2),v8(2))
84 ymax = max(v1(2),v2(2),v3(2),v4(2),v5(2),v6(2),v7(2),v8(2))
85 zmin = min(v1(3),v2(3),v3(3),v4(3),v5(3),v6(3),v7(3),v8(3))
86 zmax = max(v1(3),v2(3),v3(3),v4(3),v5(3),v6(3),v7(3),v8(3))
95 c 2.3. ==> on passe en revue tous les autres sommets qui ne sont pas des
97 c . on ne s'interesse qu'a ceux qui sont contenus dans le
98 c parallelepide enveloppe de l'hexaedre
99 c . ensuite, on elimine les noeuds coincidents
100 c . on recherche si le noeud est a l'interieur de l'hexaedre
101 c cela est vrai si le noeud et un sommet sont du meme cote du
102 c plan forme par les quatre autres sommets. pour cela, on
103 c regarde si les produits mixtes (ab,ac,ad) et (ab,ac,an) sont
104 c de meme signe pour les quatre permutations circulaires
106 c . on elimine les huit noeuds de l'hexaedre
108 c Remarque hyper importante : il ne faut faire les affectations
109 c de vn(2) et vn(3) que si c'est utile car elles coutent
110 c tres cheres (30% du temps total !)
111 c Remarque hyper importante : il vaut mieux mettre en dernier
112 c le test sur l'identite de lenoeu avec les noeuds de l'hexaedre
113 c car on gagne aussi 40% !
114 c En revanche, inutile de deplier davantage les tests