1 subroutine eslch8 ( nrtafo,
2 > nbtafo, nbpg, nbvalc, nbcomp,
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 Entree-Sortie - Lecture d'un CHamp au format MED - phase 8
28 c Ce programme est le symetrique de ESECH2
29 c Remarque : eslch5 et eslch8 sont des clones
30 c 5 : double precision
32 c ______________________________________________________________________
34 c . nom . e/s . taille . description .
35 c .____________________________________________________________________.
36 c . nrtafo . es . 1 . numero courant du tableau de la fonction .
37 c . nbtafo . e . 1 . nombre de tableaux de la fonction .
38 c . nbpg . e . 1 . nombre de points de Gauss, s'il y en a .
39 c . . . . si le champ est sans point de Gauss, nbpg .
40 c . . . . vaut 1 pour aider au traitement .
41 c . nbvalc . e . 1 . nombre de valeurs par composante .
42 c . nbcomp . e . 1 . nombre de composantes du champ .
43 c . vafonc . es . * . valeurs de la fonction .
44 c . trav1 . e . * . valeurs lues .
45 c . obcham . e . char8 . nom de l'objet de type 'InfoCham' associe .
46 c . objech . es . nbtafo . nom de l'objet de type 'InfoCham' associe .
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 . . . . 1 : probleme .
53 c ______________________________________________________________________
56 c 0. declarations et dimensionnement
59 c 0.1. ==> generalites
65 parameter ( nompro = 'ESLCH8' )
77 integer nbpg, nbvalc, nbcomp
79 integer trav1(nbpg,nbvalc,nbcomp)
80 integer vafonc(nbtafo,nbpg,*)
85 integer ulsort, langue, codret
87 c 0.4. ==> variables locales
90 integer nrcomp, nUGaus
93 parameter ( nbmess = 10 )
94 character*80 texte(nblang,nbmess)
96 c 0.5. ==> initialisations
97 c ______________________________________________________________________
105 #ifdef _DEBUG_HOMARD_
106 write (ulsort,texte(langue,1)) 'Entree', nompro
110 texte(1,4) = '(''. '',a,'' = '',i8)'
111 texte(1,5) = '(''. Premiere valeur : '',i10)'
112 texte(1,6) = '(''. Derniere valeur : '',i10)'
113 texte(1,7) = '(''... Composante numero '',i8)'
115 texte(2,4) = '(''. '',a,'' = '',i8)'
116 texte(2,5) = '(''. First value : '',i10)'
117 texte(2,6) = '(''. Last value : '',i10)'
118 texte(2,7) = '(''... Composante # '',i8)'
120 #ifdef _DEBUG_HOMARD_
121 write (ulsort,texte(langue,4)) 'nbtafo', nbtafo
122 write (ulsort,texte(langue,4)) 'nbpg ', nbpg
123 write (ulsort,texte(langue,4)) 'nbvalc', nbvalc
124 write (ulsort,texte(langue,4)) 'nbcomp', nbcomp
125 write (ulsort,texte(langue,4)) 'nrtafo au depart', nrtafo
134 do 20 , nrcomp = 1 , nbcomp
136 #ifdef _DEBUG_HOMARD_
137 write (ulsort,texte(langue,7)) nrcomp
138 write (ulsort,texte(langue,4)) '==> nrtafo', nrtafo
141 cgn print *,'nrcomp,nrtafo, nbvalc = ',nrcomp,nrtafo, nbvalc
143 c 2.1. ==> les valeurs numeriques
145 if ( nbpg.eq.1 ) then
147 do 21 , iaux = 1 , nbvalc
148 cgn write(11,*) 'trav1 = ',trav1(1,iaux,nrcomp)
149 vafonc(nrtafo,1,iaux) = trav1(1,iaux,nrcomp)
154 do 22 , iaux = 1 , nbvalc
155 cgn print *,'trav1(...,',iaux,',',nrcomp,') = ',
156 cgn > (trav1(nUGaus,iaux,nrcomp),nUGaus=1,nbpg)
157 do 221 , nUGaus = 1 , nbpg
158 vafonc(nrtafo,nUGaus,iaux) = trav1(nUGaus,iaux,nrcomp)
164 #ifdef _DEBUG_HOMARD_
165 write (ulsort,texte(langue,5)) vafonc(nrtafo,1,1)
166 write (ulsort,texte(langue,6)) vafonc(nrtafo,nbpg,nbvalc)
169 c 2.2. ==> les caracteristiques du champ associe
171 objech(nrtafo) = obcham
173 c 2.3. ==> tableau suivant dans la fonction
179 #ifdef _DEBUG_HOMARD_
180 write (ulsort,texte(langue,4)) 'nrtafo a la fin ', nrtafo
187 if ( codret.ne.0 ) then
191 write (ulsort,texte(langue,1)) 'Sortie', nompro
192 write (ulsort,texte(langue,2)) codret
196 #ifdef _DEBUG_HOMARD_
197 write (ulsort,texte(langue,1)) 'Sortie', nompro