subroutine vcvos2 ( noeele, typele, povoso, voisom, > nvosom, nbelem, nbmane, nbnoto ) c ______________________________________________________________________ c c H O M A R D c c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D c c Version originale enregistree le 18 juin 1996 sous le numero 96036 c aupres des huissiers de justice Simart et Lavoir a Clamart c Version 11.2 enregistree le 13 fevrier 2015 sous le numero 2015/014 c aupres des huissiers de justice c Lavoir, Silinski & Cherqui-Abrahmi a Clamart c c HOMARD est une marque deposee d'Electricite de France c c Copyright EDF 1996 c Copyright EDF 1998 c Copyright EDF 2002 c Copyright EDF 2020 c ______________________________________________________________________ c c aVant adaptation - Conversion - VOisins des Sommets - phase 2 c - - -- - - c ______________________________________________________________________ c c but : determine les elements 0d, 1d, 2d ou 3d voisins de c chaque sommet pour un maillage a la table de connectivite c du type med c c attention : tout est fait en numerotation du calcul pour les noeuds, c c'est-a-dire avec la numerotation initiale c ______________________________________________________________________ c . . . . . c . nom . e/s . taille . description . c .____________________________________________________________________. c . noeele . e . nbelem . noeuds des elements . c . . .*nbmane . . c . typele . e . nbelem . type des elements pour le code de calcul . c . povoso . e/s .0:nbnoto. pointeur des voisins par sommet . c . voisom . s . nvosom . voisins des sommets en stockage morse . c ______________________________________________________________________ c c==== c 0. declarations et dimensionnement c==== c c 0.1. ==> generalites c implicit none save c #include "referx.h" c c 0.2. ==> communs c #include "refere.h" #include "rftmed.h" c c 0.3. ==> arguments c integer nbelem, nbmane, nbnoto integer noeele(nbelem,nbmane), typele(nbelem) integer nvosom integer voisom(nvosom), povoso(0:nbnoto) c c 0.4. ==> variables locales c integer el, sommet, typhom integer iaux integer nbsoma c ______________________________________________________________________ c c==== c 1. on passe en revue chaque maille et on indique qu'il est c le voisin de ses sommets c selon le type, les sommets ne sont pas ranges au meme endroit c c au depart : c povoso(i) = position du dernier voisin du sommet i-1 c = nombre cumule de voisins pour les (i-1) 1ers sommets c a l'arrivee : c povoso(i) = position du dernier voisin du sommet i c = nombre cumule de voisins pour les i premiers sommets c==== c do 11 , el = 1 , nbelem c typhom = medtrf(typele(el)) nbsoma = nbnref(typhom,1) if ( tyeref(typhom).ne.0 ) then nbsoma = 0 endif c do 111 , iaux = 1 , nbsoma sommet = noeele(el,iaux) povoso(sommet) = povoso(sommet) + 1 voisom(povoso(sommet)) = el 111 continue c 11 continue c end