1 subroutine utimpg ( choix, ngauss, nbnorf, sdim,
2 > conorf, copgrf, wipg,
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 UTilitaire - IMpressions relatives aux Points de Gauss
26 c ______________________________________________________________________
28 c . nom . e/s . taille . description .
29 c .____________________________________________________________________.
30 c . choix . e . 1 . choix des impressions .
31 c . . . . 2n : les localisations de l'element de .
33 c . . . . 3n : les fonctions de forme .
34 c . ngauss . e . 1 . nbre de points de Gauss des fonctions pg .
35 c . nbnorf . e . 1 . nbre de noeuds de l'element de reference .
36 c . sdim . e . 1 . dimension de l'element de reference .
37 c . conorf . e . sdim* . coordonnees des noeuds de l'element de .
38 c . . . nbnorf . reference .
39 c . copgrf . e . sdim* . coordonnees des points de Gauss .
40 c . . . ngauss . de l'element de reference .
41 c . wipg . s . nbnorf*. fonctions de forme exprimees aux points de .
42 c . . . ngauss . Gauss .
43 c . ulsort . e . 1 . numero d'unite logique de la liste standard.
44 c . langue . e . 1 . langue des messages .
45 c . . . . 1 : francais, 2 : anglais .
46 c . codret . es . 1 . code de retour des modules .
47 c . . . . 0 : pas de probleme .
48 c . . . . 1 : probleme .
49 c ______________________________________________________________________
52 c 0. declarations et dimensionnement
55 c 0.1. ==> generalites
61 parameter ( nompro = 'UTIMPG' )
72 integer ngauss, nbnorf, sdim
74 double precision conorf(sdim,nbnorf), copgrf(sdim,ngauss)
75 double precision wipg(nbnorf,ngauss)
77 integer ulsort, langue, codret
79 c 0.4. ==> variables locales
84 parameter ( nbmess = 10 )
85 character*80 texte(nblang,nbmess)
87 c 0.5. ==> initialisations
88 c ______________________________________________________________________
97 write (ulsort,texte(langue,1)) 'Entree', nompro
103 if ( choix.gt.0 ) then
106 c 2. Ecriture des localisations
109 if ( mod(choix,2).eq.0 ) then
111 c 2.1. ==> dimension 1
113 if ( sdim.eq.1 ) then
115 write (ulsort,20001) 'noeuds '
116 do 2011 , iaux = 1 , nbnorf
117 write (ulsort,20011) iaux, conorf(1,iaux)
120 write (ulsort,20001) 'points de Gauss'
121 do 2021 , iaux = 1 , ngauss
122 write (ulsort,20011) iaux, copgrf(1,iaux)
126 c 2.2. ==> dimension 2
128 elseif ( sdim.eq.2 ) then
130 write (ulsort,20002) 'noeuds '
131 do 2012 , iaux = 1 , nbnorf
132 write (ulsort,20012) iaux, conorf(1,iaux), conorf(2,iaux)
135 write (ulsort,20002) 'points de Gauss'
136 do 2022 , iaux = 1 , ngauss
137 write (ulsort,20012) iaux, copgrf(1,iaux), copgrf(2,iaux)
141 c 2.3. ==> dimension 3
145 write (ulsort,20003) 'noeuds '
146 do 2013 , iaux = 1 , nbnorf
147 write (ulsort,20013) iaux, conorf(1,iaux), conorf(2,iaux),
151 write (ulsort,20003) 'points de Gauss'
152 do 2023 , iaux = 1 , ngauss
153 write (ulsort,20013) iaux, copgrf(1,iaux), copgrf(2,iaux),
161 >/,'* Coordonnees des *',
168 >/,'* Coordonnees des ',a15 ,' *',
170 >/,'* Numero * x * y *',
174 >/,'* Coordonnees des ',a15 ,
177 >/,'* Numero * x * y *',
180 20011 format('* ',i5,' * ',g11.5,' *')
181 20012 format('* ',i5,2x,2(' * ',g11.5),' *')
182 20013 format('* ',i5,2x,3(' * ',g11.5),' *')
183 20021 format(28('*'))
184 20022 format(44('*'))
185 20023 format(60('*'))
188 c 3. Ecriture des fonctions de forme aux points de Gauss
191 elseif ( mod(choix,3).eq.0 ) then
193 do 3011 , iaux = 1 , nbnorf
194 write (ulsort,30001) iaux
195 do 3021 , jaux = 1 , ngauss
196 write (ulsort,20011) jaux, wipg(iaux,jaux)
203 c 123456789012345678901234567890
206 >/,'* Fonction associee au *',
207 >/,'* noeud numero', i8,' *',
209 >/,'* Point de * Valeur *',
219 if ( codret.ne.0 ) then
223 write (ulsort,texte(langue,1)) 'Sortie', nompro
224 write (ulsort,texte(langue,2)) codret
228 #ifdef _DEBUG_HOMARD_
229 write (ulsort,texte(langue,1)) 'Sortie', nompro