1 subroutine pcsite ( nbfop2, profho, vap2ho,
2 > tritet, cotrte, aretet,
6 c ______________________________________________________________________
10 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
12 c Version originale enregistree le 18 juin 1996 sous le numero 96036
13 c aupres des huissiers de justice Simart et Lavoir a Clamart
14 c Version 11.2 enregistree le 13 fevrier 2015 sous le numero 2015/014
15 c aupres des huissiers de justice
16 c Lavoir, Silinski & Cherqui-Abrahmi a Clamart
18 c HOMARD est une marque deposee d'Electricite de France
24 c ______________________________________________________________________
26 c aPres adaptation - Conversion de Solution -
28 c interpolation iso-p2 sur les noeuds - decoupage des TEtraedres
30 c ______________________________________________________________________
31 c attention : il faut passer ce programme avant le traitement des
32 c nouveaux noeuds sur les triangles coupes, sinon les
33 c valeurs sur les noeuds des diagonales seront inconnues
34 c remarque : on devrait optimiser cela car si le tetraedre etait dans
35 c un etat de decoupage de conformite similaire, on recalcule
36 c une valeur qui est deja presente
37 c remarque : pcs2te et pcsite sont des clones
38 c ______________________________________________________________________
40 c . nom . e/s . taille . description .
41 c .____________________________________________________________________.
42 c . nbfop2 . e . 1 . nombre de fonctions P2 .
43 c . profho . es . * . pour chaque entite en numerotation homard :.
44 c . . . . 0 : l'entite est absente du profil .
45 c . . . . 1 : l'entite est presente dans le profil .
46 c . vap2ho . es . nbfop2*. variables p2 numerotation homard .
48 c . tritet . e .nbtecf*4. numeros des 4 triangles des tetraedres .
49 c . cotrte . e .nbtecf*4. code des 4 triangles des tetraedres .
50 c . aretet . e .nbteca*6. numeros des 6 aretes des tetraedres .
51 c . hettet . e . nbteto . historique de l'etat des tetraedres .
52 c . filtet . e . nbteto . premier fils des tetraedres .
53 c . somare . e .2*nbarto. numeros des extremites d'arete .
54 c . np2are . e . nbarto . numero des noeuds p2 milieux d'aretes .
55 c . aretri . e .nbtrto*3. numeros des 3 aretes des triangles .
56 c ______________________________________________________________________
59 c 0. declarations et dimensionnement
62 c 0.1. ==> generalites
79 integer profho(nbnoto)
80 integer tritet(nbtecf,4), cotrte(nbtecf,4), aretet(nbteca,6)
81 integer hettet(nbteto), filtet(nbteto)
82 integer somare(2,nbarto), np2are(nbarto)
83 integer aretri(nbtrto,3)
85 double precision vap2ho(nbfop2,*)
87 c 0.4. ==> variables locales
93 integer listar(6), listno(10)
96 c ______________________________________________________________________
97 cgn write (*,*) 'PCSITE'
99 do 10 , letetr = 1, nbteto
102 c 1. interpolation iso-p2 pour un tetraedre qui vent d'etre decoupe
103 c les seuls cas interessants sont ceux ou un noeud est cree a
104 c l'interieur du tetraedre, donc quand il y a une diagonale.
108 call pcs0te ( iaux, profho,
109 > tritet, cotrte, aretet,
113 > afaire, listar, listno, adiag )
116 c 2. le tetraedre vient d'etre decoupe et le champ est present
117 c interpolation au noeud milieu de la diagonale
128 c interpolation p1 : interpolee (ui,i=1,2) = 1/2 (u1+u2)
130 do 22 , nuv = 1, nbfop2
132 vap2ho(nuv,sm) = unsde * ( vap2ho(nuv,ni) + vap2ho(nuv,nj) )