1 subroutine mmagr4 ( nbte06, tbaux5, tbaux6,
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 Modification de Maillage - AGRegat - phase 4
28 c On marque chaque triangle et chaque arete avec la famille MED
29 c du tetraedre voisin. Quand une arete ou un triangle est voisin
30 c de deux familles differentes, la derniere valeur est gardee
31 c mais peu importe car ces aretes/triangles sont ailleurs
32 c ______________________________________________________________________
34 c . nom . e/s . taille . description .
35 c .____________________________________________________________________.
36 c . nbte06 . e . 1 . nombre de tetr. des j. ponctuels d'ordre 6 .
37 c . tbaux5 . s . nbarto . numero MED du volume de l'arete .
38 c . tbaux6 . s . nbtrto . numero MED du volume du triangle .
39 c . aretri . e .nbtrto*3. numeros des 3 aretes des triangles .
40 c . tritet . e .nbtecf*4. numeros des 4 triangles des tetraedres .
41 c . famtet . e . nbteto . famille des tetraedres .
42 c . cfatet . e . nctfte. codes des familles des tetraedres .
43 c . . . nbftet . 1 : famille MED .
44 c . . . . 2 : type de tetraedres .
45 c . ulsort . e . 1 . numero d'unite logique de la liste standard.
46 c . langue . e . 1 . langue des messages .
47 c . . . . 1 : francais, 2 : anglais .
48 c . codret . es . 1 . code de retour des modules .
49 c . . . . 0 : pas de probleme .
50 c ______________________________________________________________________
53 c 0. declarations et dimensionnement
56 c 0.1. ==> generalites
62 parameter ( nompro = 'MMAGR4' )
81 integer tbaux5(nbarto), tbaux6(nbtrto)
82 integer aretri(nbtrto,3)
83 integer tritet(nbtecf,4), cotrte(nbtecf,4)
84 integer famtet(nbteto), cfatet(nctfte,nbftet)
86 integer ulsort, langue, codret
88 c 0.4. ==> variables locales
90 integer iaux, jaux, kaux
97 parameter ( nbmess = 30 )
98 character*80 texte(nblang,nbmess)
100 c 0.5. ==> initialisations
101 c ______________________________________________________________________
110 #ifdef _DEBUG_HOMARD_
111 write (ulsort,texte(langue,1)) 'Entree', nompro
117 c 1.2. ==> rien au depart
119 do 121 , iaux = 1 , nbarto
122 do 122 , iaux = 1 , nbtrto
129 c 2. Parcours des tetraedres
131 #ifdef _DEBUG_HOMARD_
132 write (ulsort,texte(langue,5)) mess14(langue,3,3)
135 kaux = nbteto - nbte06
137 do 21 , iaux = 1 , kaux
141 #ifdef _DEBUG_HOMARD_
142 write (ulsort,texte(langue,4)) ' ', mess14(langue,1,3), letetr
145 #ifdef _DEBUG_HOMARD_
146 write (ulsort,texte(langue,3)) 'UTARTE', nompro
148 call utarte ( letetr,
150 > aretri, tritet, cotrte,
153 fammed = cfatet(cofamd,famtet(letetr))
154 cgn write(ulsort,*) fammed
155 do 211 , jaux = 1 , 6
156 tbaux5(listar(jaux)) = fammed
158 do 212 , jaux = 1 , 4
159 tbaux6(tritet(letetr,jaux)) = fammed
168 if ( codret.ne.0 ) then
172 write (ulsort,texte(langue,1)) 'Sortie', nompro
173 write (ulsort,texte(langue,2)) codret
177 #ifdef _DEBUG_HOMARD_
178 write (ulsort,texte(langue,1)) 'Sortie', nompro