1 subroutine pcfaa2 ( fahope, numfam, nromat, numboi,
2 > cfaqua, lgpile, lapile,
3 > ulsort, langue, codret )
4 c ______________________________________________________________________
8 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
10 c Version originale enregistree le 18 juin 1996 sous le numero 96036
11 c aupres des huissiers de justice Simart et Lavoir a Clamart
12 c Version 11.2 enregistree le 13 fevrier 2015 sous le numero 2015/014
13 c aupres des huissiers de justice
14 c Lavoir, Silinski & Cherqui-Abrahmi a Clamart
16 c HOMARD est une marque deposee d'Electricite de France
22 c ______________________________________________________________________
24 c aPres adaptation - Conversion - FAmilles pour ATHENA - Phase 2
26 c ______________________________________________________________________
28 c . nom . e/s . taille . description .
29 c .____________________________________________________________________.
30 c . fahope . e . 1 . famille HOMARD du quadrangle pere .
31 c . numfam . e . 1 . famille MED a associer a cette famille .
32 c . nromat . e . 1 . numero du materiau de la boite .
33 c . numboi . e . 1 . numero de la boite .
34 c . cfaqua . e . nctfqu*. codes des familles des quadrangles .
35 c . . . nbfqua . 1 : famille MED .
36 c . . . . 2 : type de quadrangle .
37 c . . . . 3 : numero de surface de frontiere .
38 c . . . . 4 : famille des aretes internes apres raf.
39 c . . . . 5 : famille des triangles de conformite .
40 c . . . . 6 : famille de sf active/inactive .
41 c . . . . + l : appartenance a l'equivalence l .
42 c . lgpile . es . 1 . longueur de la pile .
43 c . lapile . a . * . tableau de travail .
44 c . ulsort . e . 1 . numero d'unite logique de la liste standard.
45 c . langue . e . 1 . langue des messages .
46 c . . . . 1 : francais, 2 : anglais .
47 c . codret . es . 1 . code de retour des modules .
48 c . . . . 0 : pas de probleme .
49 c . . . . 1 : probleme .
50 c ______________________________________________________________________
53 c 0. declarations et dimensionnement
56 c 0.1. ==> generalites
62 parameter ( nompro = 'PCFAA2' )
80 integer fahope, numfam, nromat, numboi
82 integer cfaqua(nctfqu,*)
84 integer lgpile, lapile(*)
86 integer ulsort, langue, codret
88 c 0.4. ==> variables locales
93 parameter ( nbmess = 10 )
94 character*80 texte(nblang,nbmess)
96 c 0.5. ==> initialisations
97 c ______________________________________________________________________
107 #ifdef _DEBUG_HOMARD_
108 write (ulsort,texte(langue,1)) 'Entree', nompro
112 texte(1,4) = '(''Creation de la famille HOMARD numero : '',i8)'
113 texte(1,5) = '(/,a14,'' : nombre de familles crees : '',i8)'
114 texte(1,6) = '(''Ce nombre est superieur au maximum :'',i8)'
115 texte(1,7) = '(''Modifier le programme UTINCG'',/)'
117 texte(2,4) = '(''Creation of HOMARD family # : '',i8)'
118 texte(2,5) = '(/,a14,'' : number of created families : '',i8)'
119 texte(2,6) = '(''This number is greater than maximum :'',i8)'
120 texte(2,7) = '(''Modify UTINCG program.'',/)'
125 c 2. creation d'une nouvelle famille homard pour les quadrangles
128 c 2.1. ==> numero de cette famille
132 #ifdef _DEBUG_HOMARD_
133 write (ulsort,texte(langue,4)) nbfqua
136 if ( nbfqua.gt.nbfqum ) then
137 write (ulsort,texte(langue,5)) mess14(langue,4,8), nbfqua
138 write (ulsort,texte(langue,6)) nbfqum
139 write (ulsort,texte(langue,7))
143 c 2.2. ==> les caracteristiques : celles du pere, sauf la famille MED
145 if ( codret.eq.0 ) then
147 do 22 , iaux = 1 , nctfqu
148 cfaqua(iaux,nbfqua) = cfaqua(iaux,fahope)
150 cfaqua(cofamd,nbfqua) = numfam
152 #ifdef _DEBUG_HOMARD_
154 write (ulsort,60031) nbfqua,
155 > (cfaqua(jaux,nbfqua),jaux=1,ncffqu)
159 >/,5x,'* Numero code * 1 * 2 * 3 *',
161 >/,5x,'* Numero de la * Fami. * Type * Fami. *',
162 >/,5x,'* famille * MED * * tria. *',
165 > 5x,'*', i8,' *',i6,' *',i6,' *',i6,' *')
172 c 2.3. ==> memorisation des caracteristiques dans la pile
174 if ( codret.eq.0 ) then
176 jaux = lgpile * (nctfqu+3)
178 cgn write(ulsort,*) '.. lgpile', lgpile
179 lapile(jaux+1) = nbfqua
180 lapile(jaux+2) = nromat
181 lapile(jaux+3) = numboi
182 do 23 , iaux = 1 , nctfqu
183 lapile(jaux+3+iaux) = cfaqua(iaux,nbfqua)
185 cgn write(ulsort,1007) (lapile(iaux),iaux=1,lgpile * (nctfqu+3))
194 if ( codret.ne.0 ) then
198 write (ulsort,texte(langue,1)) 'Sortie', nompro
199 write (ulsort,texte(langue,2)) codret
203 #ifdef _DEBUG_HOMARD_
204 write (ulsort,texte(langue,1)) 'Sortie', nompro