1 subroutine utpmhe ( lehexa, prmixt,
2 > som1, som2, som3, som4,
3 > coonoe, somare, arequa,
4 > quahex, coquhe, arehex )
5 c ______________________________________________________________________
9 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
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
17 c HOMARD est une marque deposee d'Electricite de France
23 c ______________________________________________________________________
25 c UTilitaire : Produit Mixte d'un HExaedre
27 c selon (som1-som2, som1-som3, som1-som4)
28 c ______________________________________________________________________
30 c . nom . e/s . taille . description .
31 c .____________________________________________________________________.
32 c . lehexa . e . 1 . numero du tetraedre a examiner .
33 c . prmixt . s . 1 . produit mixte (12, 13, 14) .
34 c . som i . e . 1 . sommets definissant le produit mixte .
35 c . coonoe . e . nbnoto . coordonnees des noeuds .
37 c . somare . e .2*nbarto. numeros des extremites d'arete .
38 c . arequa . e .nbquto*4. numeros des 4 aretes des quadrangles .
39 c . quahex . e .nbhecf*6. numeros des 6 quadrangles des hexaedres .
40 c . coquhe . e .nbhecf*6. codes des 6 quadrangles des hexaedres .
41 c . arehex . e .nbheca12. numeros des 12 aretes des hexaedres .
42 c .____________________________________________________________________.
45 c 0. declarations et dimensionnement
48 c 0.1. ==> generalites
62 double precision prmixt, coonoe(nbnoto,3)
65 integer som1, som2, som3, som4
66 integer somare(2,nbarto)
67 integer arequa(nbquto,4)
68 integer quahex(nbhecf,6), coquhe(nbhecf,6), arehex(nbheca,12)
70 c 0.4. ==> variables locales
76 double precision v12(3), v13(3), v14(3)
78 c 0.5. ==> initialisations
79 c ______________________________________________________________________
85 c 1.1. ==> les aretes et sommets de cet hexaedre
88 > nbquto, nbhecf, nbheca,
90 > quahex, coquhe, arehex,
93 c 1.2. ==> memorisation des vecteurs lies
94 c aux aretes som1-som2, som1-som3, som1-som4
96 v12(1) = coonoe(listso(som2),1) - coonoe(listso(som1),1)
97 v12(2) = coonoe(listso(som2),2) - coonoe(listso(som1),2)
98 v12(3) = coonoe(listso(som2),3) - coonoe(listso(som1),3)
100 v13(1) = coonoe(listso(som3),1) - coonoe(listso(som1),1)
101 v13(2) = coonoe(listso(som3),2) - coonoe(listso(som1),2)
102 v13(3) = coonoe(listso(som3),3) - coonoe(listso(som1),3)
104 v14(1) = coonoe(listso(som4),1) - coonoe(listso(som1),1)
105 v14(2) = coonoe(listso(som4),2) - coonoe(listso(som1),2)
106 v14(3) = coonoe(listso(som4),3) - coonoe(listso(som1),3)
108 c 1.3. ==> calcul du produit mixte (v12,v13,v14)
110 prmixt = ( v12(2)*v13(3) - v12(3)*v13(2) ) * v14(1)
111 > + ( v12(3)*v13(1) - v12(1)*v13(3) ) * v14(2)
112 > + ( v12(1)*v13(2) - v12(2)*v13(1) ) * v14(3)