1 subroutine infca2 ( numfic,
3 > nrocha, nrocmp, nrotab,
5 > nnoeca, ntreca, nqueca,
6 > nnoeho, ntreho, nqueho,
7 > lgnoin, lgtrin, lgquin,
8 > nnoein, ntrein, nquein,
10 > ulsort, langue, codret )
11 c ______________________________________________________________________
15 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
17 c Version originale enregistree le 18 juin 1996 sous le numero 96036
18 c aupres des huissiers de justice Simart et Lavoir a Clamart
19 c Version 11.2 enregistree le 13 fevrier 2015 sous le numero 2015/014
20 c aupres des huissiers de justice
21 c Lavoir, Silinski & Cherqui-Abrahmi a Clamart
23 c HOMARD est une marque deposee d'Electricite de France
29 c ______________________________________________________________________
31 c INformation : Fichiers Champs ASCII - 2eme partie
33 c ______________________________________________________________________
35 c . nom . e/s . taille . description .
36 c .____________________________________________________________________.
37 c . numfic . es . 1 . numero du fichier a ecrire .
38 c . nbcham . e . 1 . nombre de champs definis .
39 c . nocham . e . nbcham . nom des objets qui contiennent la .
40 c . . . . description de chaque champ .
41 c . nrocha . e . 1 . nunero du champ retenu pour le coloriage .
42 c . . . . -1 si coloriage selon la qualite .
43 c . nrocmp . e . 1 . numero de la composante retenue .
44 c . nrotab . e . 1 . numero du tableau associe au pas de temps .
45 c . coonoe . e . nbnoto . coordonnees des noeuds .
47 c . nnoeca . e . renoto . noeuds en entree dans le calcul .
48 c . ntreca . e . retrto . nro des triangles dans le calcul en entree .
49 c . nqueca . e . requto . nro des quads dans le calcul en entree .
50 c . nnoeho . e . * . nro des noeuds dans HOMARD en entree .
51 c . ntreho . e . * . nro des triangles dans HOMARD en entree .
52 c . nqueho . e . * . nro des quads dans HOMARD en entree .
53 c . ulsort . e . 1 . numero d'unite logique de la liste standard.
54 c . decanu . e . -1:7 . decalage des numerotations selon le type .
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 . . . . 2 : probleme dans les memoires .
60 c . . . . 3 : probleme dans les fichiers .
61 c . . . . 5 : probleme autre .
62 c ______________________________________________________________________
65 c 0. declarations et dimensionnement
68 c 0.1. ==> generalites
74 parameter ( nompro = 'INFCA2' )
92 double precision coonoe(nbnoto,sdim)
96 integer nrocha, nrocmp, nrotab
97 integer nnoeca(renoto), ntreca(retrto), nqueca(requto)
98 integer nnoeho(*), ntreho(*), nqueho(*)
99 integer lgnoin, lgtrin, lgquin
100 integer nnoein(*), ntrein(*), nquein(*)
103 character*8 nocham(nbcham)
105 integer ulsort, langue, codret
107 c 0.4. ==> variables locales
111 integer nuroul, lnomfl
112 integer nbquvi, nbtrvi
113 integer adquvi, adtrvi
114 integer adquva, adtrva
123 parameter ( nbmess = 10 )
124 character*80 texte(nblang,nbmess)
126 c 0.5. ==> initialisations
127 c ______________________________________________________________________
135 #ifdef _DEBUG_HOMARD_
136 write (ulsort,texte(langue,1)) 'Entree', nompro
140 texte(1,9) = '(''Caracterisation de la fonction'')'
142 texte(2,9) = '(''Characteristics of function'')'
148 c 2.1. ==> determination de la fonction
150 if ( codret.eq.0 ) then
153 call gmalot ( notrva, 'reel ', nbnoto, adtrva, codret )
161 c 2.2. ==> recherche des valeurs du champ
162 c Remarque : on met une valeur bidon a nbtrvi et nbquvi pour
163 c ne pas avoir de message avec ftnchek
165 if ( nrotab.gt.0 ) then
167 if ( codret.eq.0 ) then
172 #ifdef _DEBUG_HOMARD_
173 write (ulsort,texte(langue,3)) 'INFFRE', nompro
175 call inffre ( iaux, rmem(adtrva), rmem(adquva), titre0,
176 > nocham(nrocha), nrocmp, nrotab,
178 > imem(adtrvi), imem(adquvi),
179 > nnoeca, ntreca, nqueca,
180 > nnoeho, ntreho, nqueho,
181 > lgnoin, lgtrin, lgquin,
182 > nnoein, ntrein, nquein,
184 > ulsort, langue, codret )
195 c 3. ecriture des valeurs
198 if ( codret.eq.0 ) then
200 c 3.1 ==> ouverture du fichier
202 if ( codret.eq.0 ) then
208 call utulbi ( nuroul, nomflo, lnomfl,
209 > iaux, saux08, nbiter, numfic,
210 > ulsort, langue, codret )
216 if ( codret.eq.0 ) then
220 if ( sdim.eq.1 ) then
222 do 321 , iaux = 1 , nbenti
224 write (nuroul,32000) coonoe(nnoeca(iaux),1),
225 > rmem(adtrva+iaux-1)
229 elseif ( sdim.eq.2 ) then
231 do 322 , iaux = 1 , nbenti
233 write (nuroul,32000) coonoe(nnoeca(iaux),1),
234 > coonoe(nnoeca(iaux),2),
235 > rmem(adtrva+iaux-1)
239 elseif ( sdim.eq.3 ) then
241 do 333 , iaux = 1 , nbenti
243 write (nuroul,32000) coonoe(nnoeca(iaux),1),
244 > coonoe(nnoeca(iaux),2),
245 > coonoe(nnoeca(iaux),3),
246 > rmem(adtrva+iaux-1)
256 32000 format(10g17.9)
260 c 3.3. ==> fermeture du fichier
262 if ( codret.eq.0 ) then
264 call gufeul ( nuroul , codret)
270 #ifdef _DEBUG_HOMARD_
271 cgn call gmprsx (nompro, notrvi )
278 if ( codret.eq.0 ) then
280 call gmlboj ( notrva, codret )
288 if ( codret.ne.0 ) then
292 write (ulsort,texte(langue,1)) 'Sortie', nompro
293 write (ulsort,texte(langue,2)) codret
297 #ifdef _DEBUG_HOMARD_
298 write (ulsort,texte(langue,1)) 'Sortie', nompro