1 subroutine infc00 ( nbrcas, caopti, nbcham,
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 ______________________________________________________________________
25 c INformation - inFormations Complementaires - phase 00
27 c ______________________________________________________________________
28 c Allocation de la structure de l'objet solution
29 c ______________________________________________________________________
31 c . nom . e/s . taille . description .
32 c .____________________________________________________________________.
33 c . nbrcas . e . 1 . nombre de cas : .
34 c . . . . 1 : niveau .
35 c . . . . 2 : qualite .
36 c . . . . 3 : diametre .
37 c . . . . 4 : parente .
38 c . . . . 5 : voisins des recollements .
39 c . caopti . e . nbrcas . 0/1 selon que le cas est retenu .
40 c . nbcham . e . 1 . nombre de champs associes .
41 c . tab . s .(-2:7)* . i = -2 : nombre de paquets concernes .
42 c . . . nbrcas . i > -2 : nombre de valeurs pour l'entite i .
43 c . nocsol . s . 1 . nom de l'objet solution cree .
44 c . nbpafo . s . 1 . nombre d'inf. sur les paquets de fonctions .
45 c . adinch . s . 1 . adresse de l'information sur les champs .
46 c . adinpf . s . 1 . adresse de l'inf. sur paquets de fonctions .
47 c . ulsort . e . 1 . numero d'unite logique de la liste standard.
48 c . langue . e . 1 . langue des messages .
49 c . . . . 1 : francais, 2 : anglais .
50 c . codret . es . 1 . code de retour des modules .
51 c . . . . 0 : pas de probleme .
52 c . . . . 5 : mauvais type de code de calcul associe .
53 c ______________________________________________________________________
56 c 0. declarations et dimensionnement
59 c 0.1. ==> generalites
65 parameter ( nompro = 'INFC00' )
83 integer nbrcas, nbcham
84 integer caopti(nbrcas)
85 integer tab(-2:7,nbrcas)
87 integer adinch, adinpf
91 integer ulsort, langue, codret
93 c 0.4. ==> variables locales
95 integer iaux, jaux, kaux, laux
97 integer nbprof, nblopg
98 integer adinpr, adinlg
104 parameter ( nbmess = 10 )
105 character*80 texte(nblang,nbmess)
107 c 0.5. ==> initialisations
108 c ______________________________________________________________________
117 #ifdef _DEBUG_HOMARD_
118 write (ulsort,texte(langue,1)) 'Entree', nompro
121 texte(1,4) = '(''Creation de l''''objet '', a8)'
123 texte(2,4) = '(''Creation of the object '', a8)'
125 #ifdef _DEBUG_HOMARD_
126 write (ulsort,90002) 'nbrcas', nbrcas
127 write (ulsort,90002) 'caopti', caopti
128 write (ulsort,90002) 'nbcham', nbcham
131 #ifdef _DEBUG_HOMARD_
132 write (ulsort,90002) 'nbtria', nbtria
133 write (ulsort,90002) 'nbquad', nbquad
134 write (ulsort,90002) 'nbtetr', nbtetr
135 write (ulsort,90002) 'nbpyra', nbpyra
136 write (ulsort,90002) 'nbhexa', nbhexa
137 write (ulsort,90002) 'nbpent', nbpent
143 c 2. Nombre de valeurs
145 c 2.1. ==> Dimension a prendre en compte
147 if ( nbteto.ne.0 .or. nbheto.ne.0 .or.
148 > nbpeto.ne.0 .or. nbpyto.ne.0 ) then
150 elseif ( nbtrto.ne.0 .or. nbquto.ne.0 ) then
155 #ifdef _DEBUG_HOMARD_
156 write (ulsort,90002) 'ladim', ladim
159 c 2.2. ==> Decompte du nombre de valeurs
161 if ( ladim.le.1 ) then
163 elseif ( ladim.eq.3 ) then
174 if ( ladim.ge.2 ) then
176 tabaux(kaux,1) = nbtria
179 tabaux(kaux,1) = nbquad
185 do 231 , iaux = -2, 7
186 do 2311 , nucas = 1, nbrcas
192 do 232 , nucas = 1, nbrcas
193 if ( ( ladim.eq.3 .and. nucas.eq.1 ) .or. ( nucas.eq.5 ) ) then
198 do 2321 , iaux = 1, laux
199 if ( tabaux(iaux,1).gt.0 ) then
200 jaux = tabaux(iaux,2)
201 tab(-2,nucas) = tab(-2,nucas) + caopti(nucas)
202 tab(jaux,nucas) = tabaux(iaux,1)*caopti(nucas)
207 #ifdef _DEBUG_HOMARD_
208 do 2333 , iaux = 1, nbrcas
209 write (ulsort,90015) 'tab de', iaux,' :',
210 > (tab(jaux,iaux),jaux=-2,7)
215 c 3. allocation de la structure de tete
219 do 31 , nucas = 1, nbrcas
220 do 311 , jaux = -1, 7
221 if ( tab(jaux,nucas).gt.0 ) then
229 #ifdef _DEBUG_HOMARD_
230 write (ulsort,texte(langue,3)) 'UTALSO', nompro
232 call utalso ( nocsol,
233 > nbcham, nbpafo, nbprof, nblopg,
234 > adinch, adinpf, adinpr, adinlg,
235 > ulsort, langue, codret )
237 #ifdef _DEBUG_HOMARD_
238 write (ulsort,texte(langue,4)) nocsol
239 call gmprsx ( nompro, nocsol )
246 if ( codret.ne.0 ) then
250 write (ulsort,texte(langue,1)) 'Sortie', nompro
251 write (ulsort,texte(langue,2)) codret
255 #ifdef _DEBUG_HOMARD_
256 write (ulsort,texte(langue,1)) 'Sortie', nompro