1 subroutine hoavlm ( lgopti, taopti, lgopts, taopts,
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 HOMARD : interface AVant adaptation : Lectures du Maillage
26 c ______________________________________________________________________
28 c . nom . e/s . taille . description .
29 c .____________________________________________________________________.
30 c . lgopti . e . 1 . longueur du tableau des options entieres .
31 c . taopti . e . lgopti . tableau des options entieres .
32 c . lgopts . e . 1 . longueur du tableau des options caracteres .
33 c . taopts . e . lgopts . tableau des options caracteres .
34 c . lgetco . e . 1 . longueur du tableau de l'etat courant .
35 c . taetco . e . lgetco . tableau de l'etat courant .
36 c . ulsort . e . 1 . numero d'unite logique de la liste standard.
37 c . langue . e . 1 . langue des messages .
38 c . . . . 1 : francais, 2 : anglais .
39 c . codret . es . 1 . code de retour des modules .
40 c . . . . 0 : pas de probleme .
41 c . . . . 5 : mauvais type de code de calcul associe .
42 c ______________________________________________________________________
45 c 0. declarations et dimensionnement
48 c 0.1. ==> generalites
54 parameter ( nompro = 'HOAVLM' )
63 c VERRUE CONFORME PENTAEDRE - DEBUT
65 c VERRUE CONFORME PENTAEDRE - FIN
70 integer taopti(lgopti)
73 character*8 taopts(lgopts)
76 integer taetco(lgetco)
78 integer ulsort, langue, codret
80 c 0.4. ==> variables locales
83 integer nrosec, nrssse
84 integer nretap, nrsset
88 c VERRUE CONFORME PENTAEDRE - DEBUT
91 c VERRUE CONFORME PENTAEDRE - FIN
94 character*8 nomail, nosvmn
95 character*8 mcfich, mcmail
99 parameter ( nbmess = 10 )
100 character*80 texte(nblang,nbmess)
108 c=======================================================================
109 if ( codava.eq.0 ) then
110 c=======================================================================
112 c 1.1. ==> le debut des mesures de temps
117 c 1.3. ==> les messages
121 #ifdef _DEBUG_HOMARD_
122 write (ulsort,texte(langue,1)) 'Entree', nompro
126 texte(1,4) = '(/,a6,'' LECTURE DU MAILLAGE DE CALCUL'')'
127 texte(1,5) = '(36(''=''),/)'
128 texte(1,6) = '(''Mauvais code de calcul :'',i5)'
130 texte(2,4) = '(/,a6,'' READINGS OF CALCULATION MESH'')'
131 texte(2,5) = '(35(''=''),/)'
132 texte(2,6) = '(''Bad related code:'',i5)'
134 c 1.4. ==> le numero de sous-etape
137 nrsset = taetco(2) + 1
140 call utcvne ( nretap, nrsset, saux, iaux, codret )
144 #ifdef _DEBUG_HOMARD_
145 write (ulsort,90002) 'taopti( 4) - modhom', taopti( 4)
146 write (ulsort,90002) 'taopti(21) - cvmail', taopti(21)
150 c 2. lecture du maillage au format med
153 #ifdef _DEBUG_HOMARD_
154 write (ulsort,90002) '2. lecture au format med ; codret', codret
157 if ( taopti(21).ne.0 .or. taopti(4).eq.5 ) then
159 if ( mod(taopti(11)-6,10).eq.0 ) then
161 write (ulsort,texte(langue,4)) saux
162 write (ulsort,texte(langue,5))
164 nrsset = taetco(2) + 1
169 if ( taopti(4).eq.5 ) then
174 #ifdef _DEBUG_HOMARD_
175 write (ulsort,texte(langue,3)) 'ESLMMD', nompro
177 call eslmmd ( mcfich, mcmail,
178 > taopti(11), taopts(1),
180 > ulsort, langue, codret )
182 c 2.3. ==> mauvais type
193 c 3. lecture du maillage au format HOMARD
196 #ifdef _DEBUG_HOMARD_
197 write (ulsort,90002) '3. lecture au format HOMARD ; codret', codret
201 if ( taopti(21).eq.0 ) then
204 c iteration n+1 pour le mode homard interpolation (4)
205 c iteration n pour les autres modes
207 if ( taopti(4).eq.4 ) then
214 #ifdef _DEBUG_HOMARD_
215 write (ulsort,texte(langue,3)) 'ESLMHO', nompro
217 call eslmho ( typobs, nrssse, nretap, nrsset,
219 > taopti(29), taopts(16), taopts(17),
220 > ulsort, langue, codret )
222 c 3.2. ==> pour les modes homard pur (0, 1), et
223 c s'il y a conversion de solution, on cree les tables de
224 c memorisation du maillage n
226 if ( ( taopti(4).eq.0 .or. taopti(4).eq.1 ) .and.
227 > taopti(28).eq.1 ) then
229 if ( codret.eq.0 ) then
231 call utosno ( typobs, nomail, iaux, ulsort, langue, codret )
234 if ( codret.eq.0 ) then
235 call utsvmn ( nomail, nosvmn,
236 > ulsort, langue, codret )
239 if ( codret.eq.0 ) then
245 c 3.3. ==> par defaut, le maillage est extrude en Z si c'est du
246 c SATURNE ou du NEPTUNE 2D
248 if ( codret.eq.0 ) then
250 if ( typcca.eq.26 .or. typcca.eq.46 ) then
262 c 4.1. ==> message si erreur
264 if ( codret.ne.0 ) then
268 write (ulsort,texte(langue,1)) 'Sortie', nompro
269 write (ulsort,texte(langue,2)) codret
270 if ( codret.eq.5 ) then
271 write (ulsort,texte(langue,6)) taopti(11)
276 c 4.2. ==> fin des mesures de temps de la section
280 #ifdef _DEBUG_HOMARD_
281 write (ulsort,texte(langue,1)) 'Sortie', nompro
285 c=======================================================================
287 c=======================================================================