1 subroutine pcmar1 ( narsca,
3 > ntesca, nhesca, npesca, npysca,
4 > nparrc, nptrrc, npqurc,
5 > arerec, trirec, quarec,
6 > tetrec, hexrec, penrec, pyrrec,
7 > ulsort, langue, codret )
8 c ______________________________________________________________________
12 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
14 c Version originale enregistree le 18 juin 1996 sous le numero 96036
15 c aupres des huissiers de justice Simart et Lavoir a Clamart
16 c Version 11.2 enregistree le 13 fevrier 2015 sous le numero 2015/014
17 c aupres des huissiers de justice
18 c Lavoir, Silinski & Cherqui-Abrahmi a Clamart
20 c HOMARD est une marque deposee d'Electricite de France
26 c ______________________________________________________________________
28 c aPres adaptation - Conversion de MAillage - Recollements - phase 1
30 c Passage des listes de recollements des numerotations HOMARD
31 c aux numerotations du calcul
32 c Mise a jour des renumerotations
33 c ______________________________________________________________________
35 c . nom . e/s . taille . description .
36 c .____________________________________________________________________.
37 c . narsca . e . rsarto . numero des aretes du calcul .
38 c . ntrsca . e . rstrto . numero des triangles du calcul .
39 c . nqusca . e . rsquto . numero des quadrangles du calcul .
40 c . ntesca . e . rsteto . numero des tetraedres du calcul .
41 c . nhesca . e . rsheto . numero des hexaedres dans le calcul .
42 c . npesca . e . rspeto . numero des pentaedres dans le calcul .
43 c . npysca . e . rspyto . numero des pyramides dans le calcul sortie .
44 c . nparrc . e . 1 . nombre de paires d'aretes a recoller .
45 c . nptrrc . e . 1 . nombre de paires de triangles a recoller .
46 c . npqurc . e . 1 . nombre de paires de quadrangles a recoller .
47 c . arerec . es .2*nbarto. paires des aretes a recoller .
48 c . trirec . es . 2* x . paires des triangles a recoller .
49 c . quarec . es . 2* x . paires des quadrangles a recoller .
50 c . tetrec . es . 3*x . paires des tetra. voisins faces a recoller .
51 c . hexrec . es . 3*x . paires des hexa. voisins faces a recoller .
52 c . penrec . es . 3*x . paires des penta. voisins faces a recoller .
53 c . pyrrec . es . 3*x . paires des pyram. voisines faces a recoller.
54 c . ulsort . e . 1 . numero d'unite logique de la liste standard.
55 c . langue . e . 1 . langue des messages .
56 c . . . . 1 : francais, 2 : anglais .
57 c . codret . es . 1 . code de retour des modules .
58 c . . . . 0 : pas de probleme .
59 c . . . . 1 : probleme .
60 c ______________________________________________________________________
63 c 0. declarations et dimensionnement
66 c 0.1. ==> generalites
72 parameter ( nompro = 'PCMAR1' )
85 integer narsca(rsarto)
86 integer ntrsca(rstrto), nqusca(rsquto)
87 integer ntesca(rsteto), nhesca(rsheto)
88 integer npysca(rspyto), npesca(rspeto)
89 integer nparrc, nptrrc, npqurc
90 integer arerec(2,*), trirec(2,*), quarec(2,*)
91 integer tetrec(3,*), hexrec(3,*), penrec(3,*), pyrrec(3,*)
93 integer ulsort, langue, codret
95 c 0.4. ==> variables locales
100 parameter ( nbmess = 30 )
101 character*80 texte(nblang,nbmess)
103 c 0.5. ==> initialisations
104 c ______________________________________________________________________
112 #ifdef _DEBUG_HOMARD_
113 write (ulsort,texte(langue,1)) 'Entree', nompro
119 #ifdef _DEBUG_HOMARD_
120 write (ulsort,90002) 'nparrc', nparrc
121 write (ulsort,90002) 'nptrrc', nptrrc
122 write (ulsort,90002) 'npqurc', npqurc
128 c 2. Changement de numerotation dans les listes d'entites a recoller
131 if ( codret.eq.0 ) then
133 c 2.1. ==> les aretes
135 do 21 , iaux = 1 , nparrc
137 arerec(1,iaux) = narsca(arerec(1,iaux))
138 arerec(2,iaux) = narsca(arerec(2,iaux))
142 c 2.2. ==> les triangles
144 do 22 , iaux = 1 , nptrrc
146 trirec(1,iaux) = ntrsca(trirec(1,iaux))
147 trirec(2,iaux) = ntrsca(trirec(2,iaux))
151 c 2.3. ==> les quadrangles
153 do 23 , iaux = 1 , npqurc
155 quarec(1,iaux) = nqusca(quarec(1,iaux))
156 quarec(2,iaux) = nqusca(quarec(2,iaux))
160 c 2.4. ==> les tetraedres
162 do 24 , iaux = 1 , nptrrc
164 tetrec(1,iaux) = ntesca(tetrec(1,iaux))
165 tetrec(2,iaux) = ntesca(tetrec(2,iaux))
166 tetrec(3,iaux) = ntrsca(tetrec(3,iaux))
170 c 2.5. ==> les hexaedres
172 do 25 , iaux = 1 , npqurc
174 hexrec(1,iaux) = nhesca(hexrec(1,iaux))
175 hexrec(2,iaux) = nhesca(hexrec(2,iaux))
176 hexrec(3,iaux) = nqusca(hexrec(3,iaux))
180 c 2.6. ==> les pentaedres
182 if ( rspeto.gt.0 ) then
184 do 26 , iaux = 1 , nptrrc+npqurc
186 penrec(1,iaux) = npesca(penrec(1,iaux))
187 penrec(2,iaux) = npesca(penrec(2,iaux))
193 c 2.7. ==> les pyramides
195 if ( rspyto.gt.0 ) then
197 do 27 , iaux = 1 , nptrrc+npqurc
199 pyrrec(1,iaux) = npysca(pyrrec(1,iaux))
200 pyrrec(2,iaux) = npysca(pyrrec(2,iaux))
212 if ( codret.ne.0 ) then
216 write (ulsort,texte(langue,1)) 'Sortie', nompro
217 write (ulsort,texte(langue,2)) codret
221 #ifdef _DEBUG_HOMARD_
222 write (ulsort,texte(langue,1)) 'Sortie', nompro