1 subroutine utlgar ( larete, coonoe, somare,
3 > ulsort, langue, codret )
4 c ______________________________________________________________________
8 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
10 c Version originale enregistree le 18 juin 1996 sous le numero 96036
11 c aupres des huissiers de justice Simart et Lavoir a Clamart
12 c Version 11.2 enregistree le 13 fevrier 2015 sous le numero 2015/014
13 c aupres des huissiers de justice
14 c Lavoir, Silinski & Cherqui-Abrahmi a Clamart
16 c HOMARD est une marque deposee d'Electricite de France
22 c ______________________________________________________________________
24 c UTilitaire - LonGueur d'une ARete
26 c ______________________________________________________________________
28 c . nom . e/s . taille . description .
29 c .____________________________________________________________________.
30 c . larete . e . 1 . l'arete .
31 c . coonoe . e . nbnoto . coordonnees des noeuds .
33 c . somare . e .2*nbarto. numeros des extremites d'arete .
34 c . dlong . s . 1 . la longueur de l'arete .
35 c . ulsort . e . 1 . unite logique de la sortie generale .
36 c . langue . e . 1 . langue des messages .
37 c . . . . 1 : francais, 2 : anglais .
38 c . codret . s . 1 . code de retour des modules .
39 c . . . . 0 : pas de probleme .
40 c . . . . 1 : probleme .
41 c .____________________________________________________________________.
44 c 0. declarations et dimensionnement
47 c 0.1. ==> generalites
53 parameter ( nompro = 'UTLGAR' )
65 double precision coonoe(nbnoto,sdim)
68 integer somare(2,nbarto)
70 double precision dlong
72 integer ulsort, langue, codret
74 c 0.4. ==> variables locales
81 double precision vn(3)
84 parameter (nbmess = 20 )
85 character*80 texte(nblang,nbmess)
87 c 0.5. ==> initialisations
88 c ______________________________________________________________________
97 write (ulsort,texte(langue,1)) 'Entree', nompro
104 c 2. calcul de la longueur de l'arete
107 sa1a2 = somare(1,larete)
108 sa2a3 = somare(2,larete)
110 vn(1) = coonoe(sa2a3,1) - coonoe(sa1a2,1)
112 if ( sdim.eq.1 ) then
114 dlong = abs ( vn(1) )
116 elseif ( sdim.eq.2 ) then
118 vn(2) = coonoe(sa2a3,2) - coonoe(sa1a2,2)
119 dlong = sqrt ( vn(1)*vn(1) + vn(2)*vn(2) )
123 vn(2) = coonoe(sa2a3,2) - coonoe(sa1a2,2)
124 vn(3) = coonoe(sa2a3,3) - coonoe(sa1a2,3)
125 dlong = sqrt ( vn(1)*vn(1) + vn(2)*vn(2) + vn(3)*vn(3) )