Salome HOME
Homard executable
[modules/homard.git] / src / tool / Utilitaire / utvot0.F
1       subroutine utvot0 ( coosom,  volume )
2 c ______________________________________________________________________
3 c
4 c                             H O M A R D
5 c
6 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
7 c
8 c Version originale enregistree le 18 juin 1996 sous le numero 96036
9 c aupres des huissiers de justice Simart et Lavoir a Clamart
10 c Version 11.2 enregistree le 13 fevrier 2015 sous le numero 2015/014
11 c aupres des huissiers de justice
12 c Lavoir, Silinski & Cherqui-Abrahmi a Clamart
13 c
14 c    HOMARD est une marque deposee d'Electricite de France
15 c
16 c Copyright EDF 1996
17 c Copyright EDF 1998
18 c Copyright EDF 2002
19 c Copyright EDF 2020
20 c ______________________________________________________________________
21 c
22 c   UTilitaire : VOlume TEtraedre - 0
23 c   --           --     --
24 c ______________________________________________________________________
25 c .        .     .        .                                            .
26 c .  nom   . e/s . taille .           description                      .
27 c .____________________________________________________________________.
28 c . coosom . e   .   3*4  . coordonnees des noeuds                     .
29 c . volume .  s  .    1   . Volume du tetraedre                        .
30 c ______________________________________________________________________
31 c
32 c====
33 c 0. declarations et dimensionnement
34 c====
35 c
36 c 0.1. ==> generalites
37 c
38       implicit none
39       save
40 c
41 #include "fracte.h"
42 c
43 c 0.2. ==> communs
44 c 0.3. ==> arguments
45 c
46       double precision coosom(3,4)
47       double precision volume
48 c
49 c 0.4. ==> variables locales
50 c
51       integer iaux
52 c
53       double precision v12(3), v13(3), v14(3)
54 c
55 c====
56 c 1. on rappelle que le volume d'un tetraedre est egale au sixieme
57 c    de la valeur absolue du produit mixte de trois des vecteurs
58 c    representant les aretes.
59 c         vn = v1xv2 --> volume = 1/6 * produit mixte (v1,v2,v3)
60 c====
61 c
62       do 11 , iaux = 1 , 3
63 c
64         v12(iaux) = coosom(iaux,2) - coosom(iaux,1)
65         v13(iaux) = coosom(iaux,3) - coosom(iaux,1)
66         v14(iaux) = coosom(iaux,4) - coosom(iaux,1)
67 c
68    11 continue
69 c
70       call utprmi ( v12, v13, v14, volume )
71 c
72       volume = unssix * abs(volume)
73 c
74       end