1 subroutine pcmaig ( nbele0, nbelig,
3 > elemen, typele, fameel, noeele,
4 > nnosca, ancnoe, trav1a, deraff,
5 > ulsort, langue, codret )
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 . nom . e/s . taille . description .
27 c .____________________________________________________________________.
28 c . nbele0 . e . 1 . estimation du nombre d'elements .
29 c . nbelig . e . 1 . nombre d'elements elimines .
30 c . noeeig . s .nbelig**. noeuds des elements .
31 c . coueig . s . nbelig . famille med des elements .
32 c . elemen . es . 1 . numero de l'element en cours .
33 c . noeele . es . nbele0 . noeuds des elements .
35 c . typele . es . nbele0 . type des elements .
36 c . fameel . es . nbele0 . famille med des elements .
37 c . nnosca . e . * . numero des noeuds dans le calcul .
38 c . ancnoe . e . nbnoto . ancien numero de noeud si deraffinement .
39 c . deraff . e . 1 . vrai, s'il y a eu du deraffinement en .
40 c . . . . passant de l'iteration n a n+1 ; faux sinon.
41 c . ulsort . e . 1 . numero d'unite logique de la liste standard.
42 c . langue . e . 1 . langue des messages .
43 c . . . . 1 : francais, 2 : anglais .
44 c . codret . es . 1 . code de retour des modules .
45 c . . . . 0 : pas de probleme .
46 c . . . . 1 : probleme .
47 c ______________________________________________________________________
50 c 0. declarations et dimensionnement
53 c 0.1. ==> generalites
59 parameter ( nompro = 'PCMAIG' )
75 integer nbele0, nbelig
76 integer coueig(nbelig)
77 integer noeeig(nbelig,*)
78 integer elemen, typele(nbele0), fameel(nbele0)
79 integer noeele(nbele0,nbmane)
80 integer nnosca(*), ancnoe(*), trav1a(*)
84 integer ulsort, langue, codret
86 c 0.4. ==> variables locales
93 parameter ( nbmess = 10 )
94 character*80 texte(nblang,nbmess)
96 c 0.5. ==> initialisations
97 c ______________________________________________________________________
105 #ifdef _DEBUG_HOMARD_
106 write (ulsort,texte(langue,1)) 'Entree', nompro
110 #ifdef _DEBUG_HOMARD_
111 write (ulsort,*) 'deraff = ',deraff
112 write (ulsort,*) 'nbele0, nbmane = ', nbele0,nbmane
116 c 2. s'il y a eu du deraffinement, il faut construire la table qui faitc
117 c passer de l'ancien au nouveau numero de noeud HOMARD. Cela permet
118 c de trouver le bon numero pour la connectivite.
119 c remarque : cela aurait pu etre fait dans cmdcno, mais on prefere
120 c le mettre ici pour ne pas polluer la phase d'adaptation avec des
121 c informations sur les elemenst exotiques.
126 do 21 , noeud = 1 , nbnoto
127 if ( ancnoe(noeud).gt.0 ) then
128 trav1a(ancnoe(noeud)) = noeud
135 c 3. on passe en revue chaque maille.
136 c quand c'est un element qui doit etre ignore on memorise son
137 c nombre de noeuds et on transfere sa description dans la structure
141 if ( degre.eq.1 ) then
149 do 31 , iaux = 1 , nbelig
151 #ifdef _DEBUG_HOMARD_
153 write (ulsort,*) 'Element ',iaux
157 typele(elemen) = typeig
158 fameel(elemen) = coueig(iaux)
159 #ifdef _DEBUG_HOMARD_
160 write (ulsort,*) '==> elemen = ',elemen
161 write (ulsort,*) ' noeeig : ',
162 > (noeeig(iaux,noeud),noeud=1,nbnoel)
166 do 311 , noeud = 1 , nbnoel
167 noeele(elemen,noeud) = trav1a(nnosca(noeeig(iaux,noeud)))
170 do 312 , noeud = 1 , nbnoel
171 noeele(elemen,noeud) = nnosca(noeeig(iaux,noeud))
174 #ifdef _DEBUG_HOMARD_
175 write (ulsort,*) ' noeele : ',
176 > (noeele(elemen,noeud),noeud=1,nbnoel)
185 if ( codret.ne.0 ) then
189 write (ulsort,texte(langue,1)) 'Sortie', nompro
190 write (ulsort,texte(langue,2)) codret
194 #ifdef _DEBUG_HOMARD_
195 write (ulsort,texte(langue,1)) 'Sortie', nompro