1 : C CKON1 SOURCE PV 09/03/12 21:17:03 6325
2 : SUBROUTINE CKON1(LOGME,INDMET,
3 : & IROF,IVITF,IPF,IGAMF,IFRMAF,
4 : & ICHPSU,ICHPDI,
5 : & MELEMC,MELEMF,MELEFE,
6 : & IZG1,IZG2,IZG3,IZG4,DT,DIAMEL,NLCEMI,
7 : & LOGNC,LOGAN,MESERR)
8 : C************************************************************************
9 : C
10 : C PROJET : CASTEM 2000
11 : C
12 : C NOM : CKON1
13 : C
14 : C DESCRIPTION : Voir CKON
15 : C
16 : C Cas deux dimensions, gaz "thermally perfect"
17 : C
18 : C LANGAGE : FORTRAN 77 + ESOPE 2000 (avec estensions CISI)
19 : C
20 : C AUTEUR : A. BECCANTINI, DRN/DMT/SEMT/TTMF
21 : C
22 : C************************************************************************
23 : C
24 : C
25 : C APPELES (Outils
26 : C CASTEM) : KRIPAD, LICHT
27 : C
28 : C APPELES (Calcul) : FLURIE, FLUXVL, FLUVLH, FLHUS1, FLHUS2, FLAUSM
29 : C
30 : C
31 : C************************************************************************
32 : C
33 : C ENTREES
34 : C
35 : C
36 : C 1) PARAMETRES
37 : C
38 : C LOGME : (LOGICAL); .TRUE. -> MULTI-ESPECES
39 : C .FALSE. -> MONO-ESPECE
40 : C
41 : C INDMET : 1 Godunov
42 : C
43 : C 2 van Leer FVS
44 : C
45 : C 3 van Leer Hanel FVS
46 : C
47 : C 4 HUS (Van Leer FVS + Osher FDS)
48 : C
49 : C 5 HUS (Van Leer - Hanel FVS + Osher FDS)
50 : C
51 : C 6 AUSM+ (options non disponible)
52 : C
53 : C 2) Pointeurs des MCHAMLs
54 : C
55 : C IROF : MCHAML sur "FACEL" contenant la masse volumique
56 : C ("gauche" et "droite");
57 : C
58 : C IVITF : MCHAML sur "FACEL" contenant la vitesse dans le repaire
59 : C local (n,t) et les cosinus directeurs des repaire local;
60 : C
61 : C IPF : MCHAML sur "FACEL" contenant la pression;
62 : C
63 : C IGAMF : MCHAML sur "FACEL" contenant le gamma;
64 : C
65 : C IFRAMAF : MCHAML sur "FACEL", contenant les fractions massiques
66 : C si LOGME = .TRUE.;
67 : C LOGME = .FALSE. -> IFRAMAF = 0
68 : C
69 : C
70 : C 3) Pointeurs de CHPOINTs de la table DOMAINE
71 : C
72 : C ICHPSU : CHPOINT "FACE" contenant la surface des faces
73 : C
74 : C ICHPDI : CHPOINT "CENTRE" contenant le diametre minimum
75 : C de chaque element
76 : C
77 : C
78 : C 4) Pointeurs de MELEME de la table DOMAINE
79 : C
80 : C MELEMC : MELEME 'CENTRE' du SPG des CENTRES
81 : C
82 : C MELEMF : MELEME 'FACE' du SPG des FACES
83 : C
84 : C MELEFE : MELEME 'FACEL' du connectivité FACES -> ELEM
85 : C
86 : C SORTIES (il faudrait dire E/S)
87 : C
88 : C IZGi : pointeurs de CHPOINTs "FACE" dont les valeurs
89 : C se trouvent dans la table KIZX . 'EQEX' . 'KIZG'
90 : C aux indices 'IZGi'
91 : C
92 : C IZG1 : Increment de masse voluique
93 : C
94 : C IZG2 : Increment de quantite de mouvement
95 : C
96 : C IZG3 : Increment de l'energie totale
97 : C
98 : C IZG4 : Increment de les Masse Volumiques des Especies
99 : C (si LOGME = .TRUE.)
100 : C
101 : C
102 : C DIAMEL : 'minimum' diametre du maillage
103 : C
104 : C NLCEMI : numero local du CENTRE ou le diametre est 'minimum'
105 : C
106 : C DT : pas de temps pour le respect de la CFL-like condition
107 : C DT < DIAMEL /2 /max(Lambda_i)
108 : C En maillage regulier cette condition garantie la
109 : C non-interaction des ondes
110 : C
111 : C
112 : C LOGNC : (LOGICAL): si .TRUE. la methode de Newton-Rapson, utilisée
113 : C dans pour la solution du probleme Riemann exacte ou dans
114 : C l'algorithm HUS, n'a pas bien marchéee; MESERR = 'Goudunov'
115 : C ou 'HUS'.
116 : C
117 : C LOGAN : (LOGICAL): si .TRUE. une anomalie à été detectée
118 : C
119 : C MESERR : pour l'ecriture des messages d'erreurs
120 : C
121 : C************************************************************************
122 : C
123 : C HISTORIQUE (Anomalies et modifications éventuelles)
124 : C
125 : C HISTORIQUE :
126 : C
127 : C************************************************************************
128 : C
129 : C
130 : C N.B.: On suppose qu'on a déjà controllé RO, P > 0
131 : C GAMMA \in (1,3)
132 : C Y \in (0,1)
133 : C Si non il faut le faire!!!
134 : C
135 : C************************************************************************
136 : C
137 : C
138 : C**** Variables de COOPTIO
139 : C
140 : C INTEGER IPLLB, IERPER, IERMAX, IERR, INTERR
141 : C & ,IOTER, IOLEC, IOIMP, IOCAR, IOACQ
142 : C & ,IOPER, IOSGB, IOGRA, IOSAU, IORES
143 : C & ,IECHO, IIMPI, IOSPI
144 : C & ,IDIM
145 : CC & ,MCOORD
146 : C & ,IFOMOD, NIFOUR, IFOUR, NSDPGE, IONIVE
147 : C & ,NGMAXY, IZROSF, ISOTYP, IOSCR,LTEXLU
148 : C & ,NORINC,NORVAL,NORIND,NORVAD
149 : C & ,NUCROU, IPSAUV
150 : C
151 : IMPLICIT INTEGER(I-N)
152 : INTEGER I1
153 : & ,INDMET
154 : & ,IROF,IVITF,IPF,IGAMF,IFRMAF
155 : & ,ICHPSU,ICHPDI,MELEMC,MELEMF,MELEFE
156 : & ,IGEOMC,IGEOMF
157 : & ,IZG1,IZG2,IZG3,IZG4,NLCEMI
158 : & ,NESP, NFAC
159 : & ,NLCF, NGCEG, NGCED, NLCEG, NLCED
160 : & ,NGCF, NLCF1, SPG1, SPG2
161 : REAL*8 DIAMEL, DT, UNSDT, CELLT
162 : & , ROG, UNG, UTG, PG, GAMG
163 : & , ROD, UND, UTD, PD, GAMD
164 : & , SURF,CNX, CNY, CTX , CTY
165 : & , CELL, DIAMG, DIAMD, DIAM
166 : & , ASON, LAMBDA
167 : LOGICAL LOGME, LOGNC, LOGAN
168 : CHARACTER*(40) MESERR
169 : CHARACTER*(8) TYPE
170 : C
171 : C**** LES INCLUDES
172 : C
173 : -INC CCOPTIO
174 : -INC SMCOORD
175 : -INC SMCHAML
176 : POINTEUR MELVNX.MELVAL, MELVNY.MELVAL,
177 : & MELT1X.MELVAL, MELT1Y.MELVAL
178 : POINTEUR MELVUN.MELVAL, MELVUT.MELVAL
179 : POINTEUR MELRO.MELVAL, MELP.MELVAL,
180 : & MELGAM.MELVAL
181 : -INC SMCHPOI
182 : POINTEUR MPOVSU.MPOVAL, MPOVDI.MPOVAL
183 : & , MPOVG1.MPOVAL, MPOVG2.MPOVAL
184 : & , MPOVG3.MPOVAL, MPOVG4.MPOVAL
185 : POINTEUR MCHAMY.MCHAML
186 : -INC SMELEME
187 : -INC SMLMOTS
188 : -INC SMLENTI
189 : C
190 : C**** Les fractiones massiques.
191 : C
192 : SEGMENT FRAMAS
193 : REAL*8 YET(NESP)
194 : ENDSEGMENT
195 : POINTEUR FRAMAG.FRAMAS, FRAMAD.FRAMAS
196 : C
197 : C**** Les flux aux interface dans le repaire (n,t)
198 : C
199 : SEGMENT IFLUX
200 : REAL*8 FLUX(NESP+4)
201 : ENDSEGMENT
202 : POINTEUR IFLU1.IFLUX, IFLU2.IFLUX
203 : C
204 : C
205 : C**** Initialisation des MCHAMLs
206 : C
207 : C**** Masse volumique
208 : C
209 : MCHEL1 = IROF
210 : SEGACT MCHEL1
211 : MCHAM1 = MCHEL1.ICHAML(1)
212 : SEGACT MCHAM1
213 : MELRO = MCHAM1.IELVAL(1)
214 : SEGDES MCHEL1
215 : SEGDES MCHAM1
216 : C
217 : C**** Pression
218 : C
219 : MCHEL1 = IPF
220 : SEGACT MCHEL1
221 : MCHAM1 = MCHEL1.ICHAML(1)
222 : SEGACT MCHAM1
223 : MELP = MCHAM1.IELVAL(1)
224 : SEGDES MCHEL1
225 : SEGDES MCHAM1
226 : C
227 : C**** Gamma
228 : C
229 : MCHEL1 = IGAMF
230 : SEGACT MCHEL1
231 : MCHAM1 = MCHEL1.ICHAML(1)
232 : SEGACT MCHAM1
233 : MELGAM = MCHAM1.IELVAL(1)
234 : SEGDES MCHEL1
235 : SEGDES MCHAM1
236 : C
237 : C**** Vitesse et cosinus directeurs du repere (n,t)
238 : C
239 : MCHEL1 = IVITF
240 : SEGACT MCHEL1
241 : C
242 : C**** La vitesse a comme SPG MELEFE
243 : C Le cosinus directeurs ont comme SPG MELEMF
244 : C
245 : C MCHAM1 -> Cosinus directeurs
246 : C MCHAM2 -> Vitesse
247 : C
248 : SPG1 = MCHEL1.IMACHE(1)
249 : SPG2 = MCHEL1.IMACHE(2)
250 : IF((SPG1 .EQ. MELEMF) .AND. (SPG2 .EQ. MELEFE))THEN
251 : MCHAM1 = MCHEL1.ICHAML(1)
252 : MCHAM2 = MCHEL1.ICHAML(2)
253 : ELSEIF((SPG1 .EQ. MELEFE) .AND. (SPG2 .EQ. MELEMF))THEN
254 : MCHAM1 = MCHEL1.ICHAML(2)
255 : MCHAM2 = MCHEL1.ICHAML(1)
256 : ELSE
257 : LOGAN = .TRUE.
258 : GOTO 9999
259 : ENDIF
260 : SEGACT MCHAM1
261 : MELVNX = MCHAM1.IELVAL(1)
262 : MELVNY = MCHAM1.IELVAL(2)
263 : MELT1X = MCHAM1.IELVAL(3)
264 : MELT1Y = MCHAM1.IELVAL(4)
265 : SEGDES MCHAM1
266 : SEGACT MCHAM2
267 : MELVUN = MCHAM2.IELVAL(1)
268 : MELVUT = MCHAM2.IELVAL(2)
269 : SEGDES MCHAM2
270 : SEGDES MCHEL1
271 : C
272 : C**** Fractions massiques
273 : C
274 : IF(LOGME)THEN
275 : MCHEL1 = IFRMAF
276 : SEGACT MCHEL1
277 : MCHAMY = MCHEL1.ICHAML(1)
278 : SEGACT MCHAMY
279 : C
280 : C******* Numero d'especes dans les equations d'Euler
281 : C
282 : NESP = MCHAMY.IELVAL(/1)
283 : DO I1 = 1, NESP
284 : MELVA1 = MCHAMY.IELVAL(I1)
285 : SEGACT MELVA1
286 : ENDDO
287 : SEGINI FRAMAG
288 : SEGINI FRAMAD
289 : SEGDES MCHEL1
290 : ELSE
291 : C
292 : C******* Definition minimale de YET, necessaire pour transmetre YET aux
293 : C subroutines FORTRAN qui calculent les flux
294 : C
295 : NESP = 1
296 : SEGINI FRAMAG
297 : SEGINI FRAMAD
298 : NESP = 0
299 : ENDIF
300 : C
301 : C**** Initialisation des MELEMEs
302 : C
303 : C 'CENTRE', 'FACEL'
304 : C
305 : IPT2 = MELEFE
306 : SEGACT IPT2
307 : NFAC = IPT2.NUM(/2)
308 : C
309 : C**** KRIPAD pour la correspondance global/local de centre
310 : C
310 : CALL KRIPAD(MELEMC,MLENT1)
311 : C
312 : C**** MLENTI1 a MCORD.XCOORD(/1)/(IDIM+1) elements
313 : C
314 : C Si i est le numero global d'un noeud de ICEN,
315 : C MLENT1.LECT(i) contient sa position, i.e.
316 : C
317 : C I = numero global du noeud centre
318 : C MLENT1.LECT(i) = numero local du noeud centre
319 : C
320 : C MLENT1 déjà activé, i.e.
321 : C
322 : C SEGACT MLENT1
323 : C
324 : C
325 : C**** KRIPAD pour la correspondance global/local de 'FACE'
326 : C
326 : CALL KRIPAD(MELEMF,MLENT2)
327 : C
328 : C**** Initialisation de flux
329 : C
330 : SEGINI IFLU1
331 : SEGINI IFLU2
332 : C
333 : C**** IFLU2 = segment de travail en FLUVLH; c'est plus rapide le definir ici
334 : C
335 : C
336 : C**** CHPOINTs de la table DOMAINE
337 : C
337 : CALL LICHT(ICHPSU,MPOVSU,TYPE,IGEOMF)
337 : CALL LICHT(ICHPDI,MPOVDI,TYPE,IGEOMC)
338 : C
339 : C**** LICHT active les MPOVALs en *MOD
340 : C
341 : C i.e.
342 : C
343 : C SEGACT MPOVSU*MOD
344 : C SEGACT MPOVDI*MOD
345 : C
346 : C
347 : C**** Les FLUX aux face
348 : C
349 : C La densité
350 : C
350 : CALL LICHT(IZG1,MPOVG1,TYPE,IGEOMF)
351 : C
352 : C SEGACT MPOVG1*MOD
353 : C
354 : C**** Les debits
355 : C
355 : CALL LICHT(IZG2,MPOVG2,TYPE,IGEOMF)
356 : C
357 : C SEGACT MPOVG2*MOD
358 : C
359 : C**** L'energie totale volumique
360 : C
360 : CALL LICHT(IZG3,MPOVG3,TYPE,IGEOMF)
361 : C
362 : C SEGACT MPOVG3*MOD
363 : C
364 : C**** Les Fractions Massiques
365 : C
366 : IF(LOGME)THEN
366 : CALL LICHT(IZG4,MPOVG4,TYPE,IGEOMF)
367 : C
368 : C SEGACT MPOVG4*MOD
369 : C
370 : ENDIF
371 : C
372 : C**** Activation des MCHAMLs
373 : C
374 : SEGACT MELRO
375 : SEGACT MELP
376 : SEGACT MELGAM
377 : SEGACT MELVUN
378 : SEGACT MELVUT
379 : SEGACT MELVNX
380 : SEGACT MELVNY
381 : SEGACT MELT1X
382 : SEGACT MELT1Y
383 : C
384 : C**** Initialisation de 1/DT
385 : C
386 : UNSDT = 0.0D0
387 : C
388 : C**** BOUCLE SUR FACEL pour le calcul du FLUX
389 : C
390 : DO NLCF = 1, NFAC
391 : C
392 : C******* NLCF = numero local du centre de facel
393 : C NGCF = numero global du centre de facel
394 : C NLCF1 = numero local du centre de face
395 : C NGCEG = numero global du centre ELT "gauche"
396 : C NLCEG = numero local du centre ELT "gauche"
397 : C NGCED = numero global du centre ELT "droite"
398 : C NLCED = numero local du centre ELT "droite"
399 : C
400 : NGCEG = IPT2.NUM(1,NLCF)
401 : NGCED = IPT2.NUM(3,NLCF)
402 : NGCF = IPT2.NUM(2,NLCF)
403 : NLCF1 = MLENT2.LECT(NGCF)
404 : NLCEG = MLENT1.LECT(NGCEG)
405 : NLCED = MLENT1.LECT(NGCED)
406 : C
407 : C******* NLCF != NLCF1 -> l'auteur (MOI) n'a rien compris.
408 : C
409 : IF(NLCF .NE. NLCF1)THEN
410 : MESERR = 'Il ne faut pas jouer avec la console. '
411 : LOGAN = .TRUE.
412 : GOTO 9999
413 : ENDIF
414 : C
415 : C******* Recuperation des Etats "gauche" et "droite"
416 : C
417 : ROG = MELRO.VELCHE(1,NLCF)
418 : UNG = MELVUN.VELCHE(1,NLCF)
419 : UTG = MELVUT.VELCHE(1,NLCF)
420 : PG = MELP.VELCHE(1,NLCF)
421 : GAMG = MELGAM.VELCHE(1,NLCF)
422 : C
423 : ROD = MELRO.VELCHE(3,NLCF)
424 : UND = MELVUN.VELCHE(3,NLCF)
425 : UTD = MELVUT.VELCHE(3,NLCF)
426 : PD = MELP.VELCHE(3,NLCF)
427 : GAMD = MELGAM.VELCHE(3,NLCF)
428 : C
429 : CNX = MELVNX.VELCHE(1,NLCF)
430 : CNY = MELVNY.VELCHE(1,NLCF)
431 : CTX = MELT1X.VELCHE(1,NLCF)
432 : CTY = MELT1Y.VELCHE(1,NLCF)
433 : C
434 : C******* Le fractiones massiques
435 : C
436 : IF(LOGME)THEN
437 : DO I1 = 1, NESP
438 : MELVA1 = MCHAMY.IELVAL(I1)
439 : FRAMAG.YET(I1) = MELVA1.VELCHE(1,NLCF)
440 : FRAMAD.YET(I1) = MELVA1.VELCHE(3,NLCF)
441 : ENDDO
442 : ENDIF
443 : C
444 : C******* On a defini (ROg,ROUNg,ROUTg,Pg,(Yg)), (ROd,ROUNd,ROUTd,Pd,(Yd))
445 : C et on a déjà verifié ROg, ROd, Pg, Pd > 0 et 0FLURIE(NESP,
455 : & GAMG,ROG,PG,UNG,UTG,
456 : & GAMD,ROD,PD,UND,UTD,
457 : & FRAMAG.YET,FRAMAD.YET,
458 : & IFLU1.FLUX,
459 : & CELLT,
460 : & LOGNC,LOGAN,MESERR)
461 : C
462 : ELSEIF(INDMET .EQ. 2)THEN
463 : C
464 : C******* Van Leer FVS
465 : C
466 : C N.B: FLUXVL en FORTRAN pure
467 : C FRAMAG.YET = table d'un pointeur -> table
468 : C La meme chose pour FRAMAD.YET, IFLU1.FLUX,
469 : C IFLU2.FLUX
470 : C
470 : CALL FLUXVL(NESP,
471 : & GAMG,ROG,PG,UNG,UTG,
472 : & GAMD,ROD,PD,UND,UTD,
473 : & FRAMAG.YET,FRAMAD.YET,
474 : & IFLU1.FLUX,IFLU2.FLUX,
475 : & CELLT)
476 : ELSEIF(INDMET .EQ. 3)THEN
477 : C
478 : C******* Van Leer - Hanel FVS
479 : C
480 : C N.B: FLUVLH en FORTRAN pure
481 : C FRAMAG.YET = table d'un pointeur -> table
482 : C La meme chose pour FRAMAD.YET, IFLU1.FLUX,
483 : C IFLU2.FLUX
484 : C
484 : CALL FLUVLH(NESP,
485 : & GAMG,ROG,PG,UNG,UTG,
486 : & GAMD,ROD,PD,UND,UTD,
487 : & FRAMAG.YET,FRAMAD.YET,
488 : & IFLU1.FLUX,IFLU2.FLUX,
489 : & CELLT)
490 : ELSEIF(INDMET .EQ. 4)THEN
491 : C
492 : C******* HUS (Van Leer FVS + Osher FDS)
493 : C
493 : CALL FLHUS1(NESP,
494 : & GAMG,ROG,PG,UNG,UTG,
495 : & GAMD,ROD,PD,UND,UTD,
496 : & FRAMAG.YET,FRAMAD.YET,
497 : & IFLU1.FLUX,IFLU2.FLUX,
498 : & CELLT,
499 : & LOGNC,MESERR,LOGAN)
500 : ELSEIF(INDMET .EQ. 5)THEN
501 : C
502 : C******* HUS (Van Leer - Hanel FVS + Osher FDS)
503 : C
503 : CALL FLHUS2(NESP,
504 : & GAMG,ROG,PG,UNG,UTG,
505 : & GAMD,ROD,PD,UND,UTD,
506 : & FRAMAG.YET,FRAMAD.YET,
507 : & IFLU1.FLUX,IFLU2.FLUX,
508 : & CELLT,
509 : & LOGNC,MESERR,LOGAN)
510 : C ELSEIF(INDMET .EQ. 6)THEN
511 : C
512 : C******** AUSM
513 : C
513 : C CALL FLAUSM(NESP,
514 : C & GAMG,ROG,PG,UNG,UTG,
515 : C & GAMD,ROD,PD,UND,UTD,
516 : C & FRAMAG.YET,FRAMAD.YET,
517 : C & IFLU1.FLUX,IFLU2.FLUX,
518 : C & CELLT)
519 : ENDIF
520 : C
521 : IF(LOGAN) GOTO 9999
522 : IF(LOGNC) GOTO 9999
523 : C
524 : C******* Ecriture des flux
525 : C
526 : C FLUX(1) = RO Un RO Un
527 : C FLUX(2) = RO Un Un + P -> RO Un Ux + P CNX
528 : C FLUX(3) = RO Un Ut -> RO Un Uy + P CNY
529 : C FLUX(4) = RO Un Et RO Un Et
530 : C
531 : SURF = MPOVSU.VPOCHA(NLCF,1)
532 : MPOVG1.VPOCHA(NLCF,1) = MPOVG1.VPOCHA(NLCF,1) +
533 : & (IFLU1.FLUX(1) * SURF )
534 : MPOVG2.VPOCHA(NLCF,1) = MPOVG2.VPOCHA(NLCF,1) +
535 : & ((IFLU1.FLUX(2)*CNX+IFLU1.FLUX(3)*CTX) * SURF)
536 : MPOVG2.VPOCHA(NLCF,2) = MPOVG2.VPOCHA(NLCF,2) +
537 : & ((IFLU1.FLUX(2)*CNY+IFLU1.FLUX(3)*CTY) * SURF)
538 : MPOVG3.VPOCHA(NLCF,1) = MPOVG3.VPOCHA(NLCF,1) +
539 : & (IFLU1.FLUX(4) * SURF)
540 : IF(LOGME)THEN
541 : DO I1 = 1, NESP
542 : MPOVG4.VPOCHA(NLCF,I1)=IFLU1.FLUX(4+I1)
543 : & * SURF
544 : ENDDO
545 : ENDIF
546 : C
547 : C******* Calcul du pas du temps (CFL)
548 : C
549 : C****** a) etat a l'interface
550 : C
551 : DIAMG = MPOVDI.VPOCHA(NLCEG,1)
552 : DIAMD = MPOVDI.VPOCHA(NLCED,1)
553 : DIAM = MIN(DIAMG,DIAMD)
554 : CELL = 1.0D0/DIAM/CELLT
555 : IF(CELL .GT. UNSDT)THEN
556 : UNSDT = CELL
557 : DIAMEL = DIAMG
558 : NLCEMI = NLCEG
559 : ENDIF
560 : C
561 : C****** b) etat gauche
562 : C
563 : ASON = SQRT(GAMG*PG/ROG)
564 : LAMBDA = ABS(UNG) + ASON
565 : CELL = LAMBDA / DIAM
566 : IF(CELL .GT. UNSDT)THEN
567 : UNSDT = CELL
568 : DIAMEL = DIAMG
569 : NLCEMI = NLCEG
570 : ENDIF
571 : C
572 : C****** C) etat droite
573 : C
574 : ASON = SQRT(GAMD*PD/ROD)
575 : LAMBDA = ABS(UND) + ASON
576 : CELL = LAMBDA / DIAM
577 : IF(CELL .GT. UNSDT)THEN
578 : UNSDT = CELL
579 : DIAMEL = DIAMD
580 : NLCEMI = NLCED
581 : ENDIF
582 : C
583 : C
584 : C**** Fin boucle sur FACEL
585 : C
586 : ENDDO
587 : C
588 : C**** Pas du temps (condition de non interaction en 1D)
589 : C
590 : DT = 0.5D0 / UNSDT
591 : C
592 : C**** Desactivation des segments et
593 : C on detruit les MCHAMLs
594 : C
595 : C
596 : C**** SEGSUP FRAMAG
597 : C SEGSUP FRAMAD
598 : C
599 : C meme si LOGME = .FALSE.
600 : C
601 : SEGSUP FRAMAG
602 : SEGSUP FRAMAD
603 : C
604 : SEGSUP MLENT1
605 : SEGDES MLENT2
606 : SEGDES IPT2
607 : C
608 : SEGSUP IFLU1
609 : SEGSUP IFLU2
610 : C
611 : SEGDES MPOVSU
612 : SEGDES MPOVDI
613 : C
614 : SEGDES MPOVG1
615 : SEGDES MPOVG2
616 : SEGDES MPOVG3
617 : C
618 : SEGDES MELRO
619 : SEGDES MELP
620 : SEGDES MELGAM
621 : SEGDES MELVUN
622 : SEGDES MELVUT
623 : SEGDES MELVNX
624 : SEGDES MELVNY
625 : SEGDES MELT1X
626 : SEGDES MELT1Y
627 : C
628 : IF(LOGME) THEN
629 : DO I1 = 1, NESP
630 : MELVA1 = MCHAMY.IELVAL(I1)
631 : SEGDES MELVA1
632 : ENDDO
633 : SEGDES MPOVG4
634 : C
635 : SEGDES MCHAMY
636 : ENDIF
637 : CC
638 : 9999 CONTINUE
639 : C
640 : RETURN
641 : END
642 : C
643 :
644 :
645 :
646 :
647 :
648 :
649 :
650 :
651 :
652 :
© Cast3M 2003 - All rights reserved.
Disclaimer