1 : C KON13 SOURCE CHAT 06/08/24 21:47:46 5529 2 : SUBROUTINE KON13 3 : C************************************************************************ 4 : C 5 : C PROJET : CASTEM 2000 6 : C 7 : C NOM : KON13 8 : C 9 : C DESCRIPTION : Subroutine appellée par KON1 10 : C 11 : C Modelisation 2D/3D des equations d'Euler 12 : C Calcul du jacobien (2eme ordre) 13 : C Option non documentée dans la notice!!! 14 : C 15 : C LANGAGE : FORTRAN 77 + ESOPE 2000 (avec estensions CISI) 16 : C 17 : C AUTEUR : A. BECCANTINI, DRN/DMT/SEMT/LTMF 18 : C 19 : C************************************************************************ 20 : C 20 : C APPELES (Calcul) : KONJA5 (calcul du jacobien, gaz "calorically 21 : C perfect", monoespece, 2D, 2eme ordre, 22 : C AUSMplus, VLH) 23 : C 24 : C************************************************************************ 25 : C 26 : C*** SYNTAXE 27 : C 28 : C Discrétisation en VF "cell-centered" des équations d'Euler pour 29 : C un gaz parfait mono-constituent polytropique 30 : C Inconnues: densité, quantité de mouvement, énergie totale par 31 : C unité de volumes (variables conservatives) 32 : C Calcul du jacobien 2eme ordre en espace 33 : C Cas 2D 34 : C 35 : C RMAT1 = 'KONV' 'VF' 'PERFMONO' 'JACOCON2' LMOT1 36 : C MOD1 MOT1 37 : C MCHAM1 MCHAM2 MCHAM3 MCHAM4 38 : C (MAILIM) CHPO1 CHPO2 CHPO3 CHPO5 39 : C CHPO6 CHPO7 CHPO8 CHPO9 CHPO10 CHPO11 40 : C MCHAM5 MCHAM6 MCHAM7 CHPO12 ; 41 : C 42 : C ENTREES 43 : C 44 : C MOT1 : objet de type MOT 45 : C 'VLH' : jacobien du residu pour la methode VLH 46 : C 'AUSMPLUS' : jacobien du residu pour la methode AUSM+ 47 : C 48 : C LMOT1 : objet de type LISTMOTS 49 : C Noms de composantes des variable primales et duales de RMAT1. 50 : C Il contient dans l'ordre suivant: le noms de la densité, 51 : C du momentum, de l'énergie totale par unité de volume 52 : C 53 : C MOD1 : objet modele de type Navier_Stokes 54 : C 55 : C MCHAM1 : MCHAML contenant la masse volumique, qui a comme 56 : C SPG (support géométrique) l'indice 'FACEL' de 57 : C MOD1 (une composante, 'SCAL') 58 : C 59 : C MCHAM2 : MCHAML contenant la vitesse et les cosinus 60 : C directeurs du repère locale (n,t) dans le repère 61 : C global (x,y) (dans le cas 2D 6 composantes: 62 : C * 'UN' = vitesse normale (SPG =(DOMA MOD1 'FACEL')) 63 : C * 'UT' = vitesse tangentielle (SPG =(DOMA MOD1 'FACEL')) 64 : C * 'NX' = n.x (SPG = 'FACE') 65 : C * 'NY' = n.y (SPG = 'FACE') 66 : C * 'TX' = t.x (SPG = 'FACE') 67 : C * 'TY' = t.y (SPG = 'FACE')). 68 : C 69 : C MCHAM3 : MCHAML (SPG =(DOMA MOD1 'FACEL')) contenant la pression du 70 : C gaz (une seule composante, 'SCAL'). 71 : C 72 : C MCHAM4 : MCHAML (SPG =(DOMA MOD1 'FACEL')) contenant le "gamma" du 73 : C gaz (une seule composante, 'SCAL'). 74 : C (MAILIM): MAIILAGE de POI1 ou on ne veut pas calculer le FLUX convective 75 : C 76 : C CHPO1 : CHPOINT contenant la masse volumique 77 : C (SPG =(DOMA MOD1 'CENTRE'), une seule composante, 78 : C 'SCAL'). 79 : C 80 : C CHPO2 : CHPOINT contenant la vitesse 81 : C (SPG =(DOMA MOD1 'CENTRE'), deux/trois composantes 82 : C 'UX', 'UY', 'UZ') 83 : C 84 : C CHPO3 : CHPOINT contenant la pression du gaz 85 : C (SPG =(DOMA MOD1 'CENTRE'), une seule composante, 86 : C 'SCAL'). 87 : C 88 : C CHPO5 : CHPOINT contenant le "gamma" du gaz 89 : C (SPG =(DOMA MOD1 'CENTRE'), une seule composante, 90 : C 'SCAL'). 91 : C 92 : C CHPO6 : CHPOINT contenant le gradient de la densité 93 : C CHPO1 (voir operatéur PENT) 94 : C 95 : C CHPO7 : CHPOINT contenant le gradient de la vitesse 96 : C CHPO2 (voir operatéur PENT) 97 : C 98 : C CHPO8 : CHPOINT contenant le gradient de la pression 99 : C CHPO3 (voir operatéur PENT) 100 : C 101 : C CHPO9 : CHPOINT contenant le limiteur de la densité 102 : C CHPO1 (voir operatéur PENT) 103 : C 104 : C CHPO10 : CHPOINT contenant le limiteur de la vitesse 105 : C CHPO2 (voir operatéur PENT) 106 : C 107 : C CHPO11 : CHPOINT contenant le limiteur de la pression 108 : C CHPO3 (voir operatéur PENT) 109 : C 110 : C MCHAM5 : CHAMELEM contenant le coefficient pour le calcul 111 : C du gradient de la densité 112 : C CHPO1 (voir operatéur PENT) 113 : C 114 : C MCHAM6 : CHAMELEM contenant le coefficient pour le calcul 115 : C du gradient de la vitesse 116 : C CHPO2 (voir operatéur PENT) 117 : C 118 : C MCHAM7 : CHAMELEM contenant le coefficient pour le calcul 119 : C du gradient de la pression 120 : C CHPO3 (voir operatéur PENT) 121 : C 122 : C CHPO12 : CHPOINT contenant la condition limite sur la vitesse 123 : C aux bords 124 : C 125 : C SORTIES 126 : C 127 : C 128 : C RMAT1 : objet de type MATRIK 129 : C (SPG =(DOMA MOD1 'CENTRE')) 130 : C (inconnues primales = inconnues duales = LMOT1) 131 : C*********************************************************************** 132 : C 133 : C************************************************************************ 134 : C 135 : C HISTORIQUE (Anomalies et modifications éventuelles) 136 : C 137 : C HISTORIQUE : 138 : C 139 : C************************************************************************ 140 : C 141 : IMPLICIT INTEGER(I-N) 142 : -INC CCOPTIO 143 : -INC SMLMOTS 144 : -INC SMCHPOI 145 : -INC SMELEME 146 : POINTEUR MLMVIT.MLMOTS 147 : C 148 : C**** Variables de COOPTIO 149 : C 150 : C INTEGER IPLLB, IERPER, IERMAX, IERR, INTERR 151 : C & ,IOTER, IOLEC, IOIMP, IOCAR, IOACQ 152 : C & ,IOPER, IOSGB, IOGRA, IOSAU, IORES 153 : C & ,IECHO, IIMPI, IOSPI 154 : C & ,IDIM, IFICLE, IPREFI 155 : C & ,MCOORD 156 : C & ,IFOMOD, NIFOUR, IFOUR, NSDPGE, IONIVE 157 : C & ,NGMAXY, IZROSF, ISOTYP, IOSCR,LTEXLU 158 : C & ,NORINC,NORVAL,NORIND,NORVAD 159 : C & ,NUCROU, IPSAUV 160 : C 161 : INTEGER NBJAC, IRET, INDIC, NBCOMP, NESP, NC, JGN, JGM 162 : & ,IIMPL, IIMPL2, IJACO 163 : & ,IDOMA, MELEMC, MELEMF, MELEFE, MELTFA, ICHPSU, ICHPDI 164 : & ,ICHPVO, INORM 165 : & ,IROF, IVITF, IPF, IGAMF, ILIINC 166 : & ,IFLIM, ICACCA, MELLIM 167 : & ,IRN, IVN, IPN, IGAMN 168 : & ,IGRN, IGVN, IGPN, IGLRN, IGLVN, IGLPN, ICRN, ICVN, ICPN 169 : & ,IVLIM, INEFMD, ICOND 170 : C 171 : PARAMETER (NBJAC=2) 172 : CHARACTER*8 TYPE, LJACO(NBJAC) 173 : CHARACTER*4 MOT 174 : C 175 : DATA LJACO/'VLH ','AUSMPLUS'/ 176 : C 176 : CALL LIRMOT(LJACO,NBJAC,IIMPL,1) 177 : IF(IERR .NE. 0)GOTO 9999 178 : C 179 : C********************************** 180 : C**** Lecture de l'objet MODELE *** 181 : C********************************** 182 : C 183 : ICOND = 1 183 : CALL QUETYP(TYPE,ICOND,IRET) 184 : 185 : IF(IRET.EQ.0.AND.TYPE.NE.'MMODEL')THEN 186 : WRITE(6,*)' On attend un objet MMODEL' 187 : RETURN 188 : ENDIF 188 : CALL LIROBJ('MMODEL',MMODEL,ICOND,IRET) 189 : IF(IERR.NE.0)GOTO 9999 189 : CALL LEKMOD(MMODEL,IDOMA,INEFMD) 190 : IF(IERR.NE.0)GOTO 9999 191 : C 192 : C**** Centre, FACE, FACEL, ELTFA 193 : C 193 : CALL LEKTAB(IDOMA,'CENTRE',MELEMC) 194 : IF(IERR .NE. 0) GOTO 9999 195 : C 195 : CALL LEKTAB(IDOMA,'FACE',MELEMF) 196 : IF(IERR .NE. 0) GOTO 9999 197 : C 197 : CALL LEKTAB(IDOMA,'FACEL',MELEFE) 198 : IF(IERR .NE. 0) GOTO 9999 199 : C 199 : CALL LEKTAB(IDOMA,'ELTFA',MELTFA) 200 : IF(IERR .NE. 0) GOTO 9999 201 : C 202 : C**** Lecture du CHPOINT contenant les surfaces des faces. 203 : C 203 : CALL LEKTAB(IDOMA,'XXSURFAC',ICHPSU) 204 : IF(IERR .NE. 0) GOTO 9999 205 : INDIC = 1 206 : NBCOMP = 1 207 : MOT = 'SCAL' 207 : CALL QUEPOI(ICHPSU, MELEMF, INDIC, NBCOMP, MOT) 208 : IF(IERR .NE. 0) GOTO 9999 209 : C 210 : C**** Lecture du CHPOINT contenant les diametres minimums. 211 : C 211 : CALL LEKTAB(IDOMA,'XXDIEMIN',ICHPDI) 212 : IF(IERR .NE. 0) GOTO 9999 213 : INDIC = 1 214 : NBCOMP = 1 215 : MOT = 'SCAL' 215 : CALL QUEPOI(ICHPDI, MELEMC, INDIC, NBCOMP, MOT) 216 : IF(IERR .NE. 0) GOTO 9999 217 : 218 : C 219 : C**** Lecture du CHPOINT contenant les volumes 220 : C 220 : CALL LEKTAB(IDOMA,'XXVOLUM',ICHPVO) 221 : IF(IERR .NE. 0) GOTO 9999 222 : INDIC = 1 223 : NBCOMP = 1 224 : MOT = 'SCAL' 224 : CALL QUEPOI(ICHPVO, MELEMC, INDIC, NBCOMP, MOT) 225 : IF(IERR .NE. 0) GOTO 9999 226 : C 227 : C**** Les normales aux faces 228 : C 229 : IF(IDIM .EQ. 2)THEN 230 : C Que les normales 230 : CALL LEKTAB(IDOMA,'XXNORMAF',INORM) 231 : IF(IERR .NE. 0) GOTO 9999 232 : JGN = 4 233 : JGM = 2 234 : SEGINI MLMVIT 235 : MLMVIT.MOTS(1) = 'UX ' 236 : MLMVIT.MOTS(2) = 'UY ' 236 : CALL QUEPO1(INORM, MELEMF, MLMVIT) 237 : SEGSUP MLMVIT 238 : IF(IERR .NE. 0) GOTO 9999 239 : ELSE 240 : C Les normales et les tangentes 241 : TYPE = ' ' 241 : CALL ACMO(IDOMA,'MATROT',TYPE,INORM) 242 : IF (TYPE .NE. 'CHPOINT ') THEN 242 : CALL MATRAN(IDOMA,INORM) 243 : IF(IERR .NE. 0) GOTO 9999 244 : ENDIF 245 : JGN = 4 246 : JGM = 9 247 : SEGINI MLMVIT 248 : MLMVIT.MOTS(1) = 'UX ' 249 : MLMVIT.MOTS(2) = 'UY ' 250 : MLMVIT.MOTS(3) = 'UZ ' 251 : MLMVIT.MOTS(4) = 'RX ' 252 : MLMVIT.MOTS(5) = 'RY ' 253 : MLMVIT.MOTS(6) = 'RZ ' 254 : MLMVIT.MOTS(7) = 'MX ' 255 : MLMVIT.MOTS(8) = 'MY ' 256 : MLMVIT.MOTS(9) = 'MZ ' 256 : CALL QUEPO1(INORM, MELEMF, MLMVIT) 257 : SEGSUP MLMVIT 258 : ENDIF 259 : C 260 : C******************************** 261 : C**** Fin table domaine ********* 262 : C******************************** 263 : C 264 : C 265 : C**** On va lire les pointeurs des MCHAMLs 266 : C Lecture du MCHAML 'FACEL' densité 267 : C 268 : TYPE='MCHAML ' 268 : CALL LIROBJ(TYPE,IROF,1,IRET) 269 : IF(IERR.NE.0) GOTO 9999 270 : C 271 : C**** Lecture du MCHAML 'FACEL' vitesse 272 : C 273 : TYPE='MCHAML ' 273 : CALL LIROBJ(TYPE,IVITF,1,IRET) 274 : IF(IERR .NE. 0) GOTO 9999 275 : C 276 : C**** Lecture du MCHAML 'FACEL' contenant la pression 277 : C 278 : TYPE='MCHAML ' 278 : CALL LIROBJ(TYPE,IPF,1,IRET) 279 : IF(IERR .NE. 0) GOTO 9999 280 : C 281 : C**** Lecture du MCHAML 'FACEL' contenant les gamma 282 : C 283 : TYPE='MCHAML ' 283 : CALL LIROBJ(TYPE,IGAMF,1,IRET) 284 : IF(IERR .NE. 0) GOTO 9999 285 : C 286 : C**** La list des inconnues 287 : C 288 : NESP=0 289 : TYPE='LISTMOTS' 289 : CALL LIROBJ(TYPE,ILIINC,1,IRET) 290 : IF(IERR .NE. 0) GOTO 9999 291 : MLMOTS = ILIINC 292 : SEGACT MLMOTS 293 : NC = MLMOTS.MOTS(/2) 294 : SEGDES MLMOTS 295 : IF(NC .NE. (IDIM+2+NESP))THEN 296 : MOTERR(1:40) = 'LISTINCO = ???' 297 : WRITE(IOIMP,*) MOTERR 298 : C 299 : C******* Message d'erreur standard 300 : C 21 2 301 : C Données incompatibles 302 : C 302 : CALL ERREUR(21) 303 : GOTO 9999 304 : ENDIF 305 : C 306 : C**** Boundary condition 307 : C 308 : IRET=0 309 : TYPE='MAILLAGE' 309 : CALL LIROBJ(TYPE,IFLIM,0,IRET) 310 : IF(IERR.NE.0)GOTO 9999 311 : IF(IRET .EQ. 0)THEN 312 : MELLIM = 0 313 : ELSE 314 : MELEME=IFLIM 315 : SEGACT MELEME 316 : ICACCA=MELEME.NUM(/2) 317 : IF(ICACCA .EQ. 0)THEN 318 : MELLIM = 0 319 : ELSE 320 : MELLIM = IFLIM 321 : ENDIF 322 : SEGDES MELEME 323 : ENDIF 324 : C 325 : C******* La densité au centre 326 : C 327 : TYPE = 'CHPOINT ' 327 : CALL LIROBJ(TYPE,IRN,1,IRET) 328 : IF(IERR .NE. 0) GOTO 9999 329 : C 330 : C**** Control du CHPOINT: QUEPOI 331 : C 332 : C INDIC = 1 -> on impose le pointeur du support geometrique (ICEN) 333 : C N.B. Le CHPOINT peut changer de structure pour 334 : C avoir SPG = ICEN!!!! 335 : C INDIC = 0 -> on ne fait que verifier le support geometrique 336 : C (ICEN). Si le SPG sont differents INDIC = -4 en sortie 337 : C 338 : C NBCOMP > 0 -> numero des composantes 339 : C 340 : C MOT = ' ' obligatoire s'on connais pas les noms des composantes 341 : C 342 : INDIC = 1 343 : NBCOMP = 1 344 : MOT = 'SCAL' 344 : CALL QUEPOI(IRN, MELEMC, INDIC, NBCOMP, MOT) 345 : IF(IERR .NE. 0) GOTO 9999 346 : C 347 : C******* La vitesse au centre 348 : C 349 : TYPE = 'CHPOINT ' 349 : CALL LIROBJ(TYPE,IVN,1,IRET) 350 : IF(IERR .NE. 0) GOTO 9999 351 : JGN = 4 352 : JGM = IDIM 353 : SEGINI MLMVIT 354 : MLMVIT.MOTS(1) = 'UX ' 355 : MLMVIT.MOTS(2) = 'UY ' 356 : IF(IDIM .EQ. 3) MLMVIT.MOTS(3) = 'UZ ' 356 : CALL QUEPO1(IVN, MELEMC, MLMVIT) 357 : SEGSUP MLMVIT 358 : IF(IERR .NE. 0) GOTO 9999 359 : C 360 : C******* La pression au centre 361 : C 362 : TYPE = 'CHPOINT ' 362 : CALL LIROBJ(TYPE,IPN,1,IRET) 363 : IF(IERR .NE. 0) GOTO 9999 364 : INDIC = 1 365 : NBCOMP = 1 366 : MOT = 'SCAL' 366 : CALL QUEPOI(IPN, MELEMC, INDIC, NBCOMP, MOT) 367 : IF(IERR .NE. 0) GOTO 9999 368 : C 369 : C******* Gamma au centre 370 : C 371 : TYPE = 'CHPOINT ' 371 : CALL LIROBJ(TYPE,IGAMN,1,IRET) 372 : IF(IERR .NE. 0) GOTO 9999 373 : INDIC = 1 374 : NBCOMP = 1 375 : MOT = 'SCAL' 375 : CALL QUEPOI(IGAMN, MELEMC, INDIC, NBCOMP, MOT) 376 : IF(IERR .NE. 0) GOTO 9999 377 : C 378 : C 379 : C********** Gradient of density 380 : C 381 : TYPE = 'CHPOINT ' 381 : CALL LIROBJ(TYPE,IGRN,1,IRET) 382 : IF(IERR .NE. 0) GOTO 9999 383 : JGN = 4 384 : JGM = IDIM 385 : SEGINI MLMVIT 386 : MLMVIT.MOTS(1) = 'P1DX' 387 : MLMVIT.MOTS(2) = 'P1DY' 388 : IF(IDIM .EQ. 3) MLMVIT.MOTS(3) = 'P1DZ' 388 : CALL QUEPO1(IGRN, MELEMC, MLMVIT) 389 : SEGSUP MLMVIT 390 : IF(IERR .NE. 0) GOTO 9999 391 : C 392 : C********** Gradient of speed 393 : C 394 : TYPE = 'CHPOINT ' 394 : CALL LIROBJ(TYPE,IGVN,1,IRET) 395 : IF(IERR .NE. 0) GOTO 9999 396 : JGN = 4 397 : JGM = IDIM*IDIM 398 : SEGINI MLMVIT 399 : MLMVIT.MOTS(1) = 'P1DX' 400 : MLMVIT.MOTS(2) = 'P1DY' 401 : MLMVIT.MOTS(3) = 'P2DX' 402 : MLMVIT.MOTS(4) = 'P2DY' 403 : IF(IDIM .EQ. 3)THEN 404 : MLMVIT.MOTS(1) = 'P1DX' 405 : MLMVIT.MOTS(2) = 'P1DY' 406 : MLMVIT.MOTS(3) = 'P1DZ' 407 : MLMVIT.MOTS(4) = 'P2DX' 408 : MLMVIT.MOTS(5) = 'P2DY' 409 : MLMVIT.MOTS(6) = 'P2DZ' 410 : MLMVIT.MOTS(7) = 'P3DX' 411 : MLMVIT.MOTS(8) = 'P3DY' 412 : MLMVIT.MOTS(9) = 'P3DZ' 413 : ENDIF 413 : CALL QUEPO1(IGVN, MELEMC, MLMVIT) 414 : SEGSUP MLMVIT 415 : IF(IERR .NE. 0) GOTO 9999 416 : C 417 : C********** Gradient of pressure 418 : C 419 : TYPE = 'CHPOINT ' 419 : CALL LIROBJ(TYPE,IGPN,1,IRET) 420 : IF(IERR .NE. 0) GOTO 9999 421 : JGN = 4 422 : JGM = IDIM 423 : SEGINI MLMVIT 424 : MLMVIT.MOTS(1) = 'P1DX' 425 : MLMVIT.MOTS(2) = 'P1DY' 426 : IF(IDIM .EQ. 3) MLMVIT.MOTS(3) = 'P1DZ' 426 : CALL QUEPO1(IGPN, MELEMC, MLMVIT) 427 : SEGSUP MLMVIT 428 : IF(IERR .NE. 0) GOTO 9999 429 : C 430 : C********** Limiter of density gradient 431 : C 432 : TYPE = 'CHPOINT ' 432 : CALL LIROBJ(TYPE,IGLRN,1,IRET) 433 : IF(IERR .NE. 0) GOTO 9999 434 : INDIC = 1 435 : NBCOMP = 1 436 : MOT = 'P1 ' 436 : CALL QUEPOI(IGLRN, MELEMC, INDIC, NBCOMP, MOT) 437 : IF(IERR .NE. 0) GOTO 9999 438 : C 439 : C********** Limiter of velocity gradient 440 : C 441 : TYPE = 'CHPOINT ' 441 : CALL LIROBJ(TYPE,IGLVN,1,IRET) 442 : IF(IERR .NE. 0) GOTO 9999 443 : JGN = 4 444 : JGM = IDIM 445 : SEGINI MLMVIT 446 : MLMVIT.MOTS(1) = 'P1 ' 447 : MLMVIT.MOTS(2) = 'P2 ' 448 : IF(IDIM .EQ. 3) MLMVIT.MOTS(3) = 'P3 ' 448 : CALL QUEPO1(IGLVN, MELEMC, MLMVIT) 449 : SEGSUP MLMVIT 450 : IF(IERR .NE. 0) GOTO 9999 451 : C 452 : C********** Limiter of pressure gradient 453 : C 454 : TYPE = 'CHPOINT ' 454 : CALL LIROBJ(TYPE,IGLPN,1,IRET) 455 : IF(IERR .NE. 0) GOTO 9999 456 : INDIC = 1 457 : NBCOMP = 1 458 : MOT = 'P1 ' 458 : CALL QUEPOI(IGLPN, MELEMC, INDIC, NBCOMP, MOT) 459 : IF(IERR .NE. 0) GOTO 9999 460 : C 461 : C********** On va lire les pointeurs des MCHAMLs pour 462 : C le calcul du gradient 463 : C 464 : C Densité 465 : C 466 : TYPE='MCHAML ' 466 : CALL LIROBJ(TYPE,ICRN,1,IRET) 467 : IF(IERR.NE.0) GOTO 9999 468 : C 469 : C********** Vitesse 470 : C 471 : TYPE='MCHAML ' 471 : CALL LIROBJ(TYPE,ICVN,1,IRET) 472 : IF(IERR .NE. 0) GOTO 9999 473 : C 474 : C********** Pression 475 : C 476 : TYPE='MCHAML ' 476 : CALL LIROBJ(TYPE,ICPN,1,IRET) 477 : IF(IERR .NE. 0) GOTO 9999 478 : C 479 : C********** On va lire le chpoin limite pour la vitesse 480 : C 481 : TYPE='CHPOINT ' 481 : CALL LIROBJ(TYPE,IVLIM,1,IRET) 482 : IF(IERR .NE. 0) GOTO 9999 483 : C********** CHPOINT vide? 484 : MCHPOI = IVLIM 485 : SEGACT MCHPOI 486 : ICACCA = MCHPOI.IPCHP(/1) 487 : SEGDES MCHPOI 488 : IF(ICACCA .EQ. 0)THEN 489 : IVLIM=0 490 : ELSE 491 : JGN = 4 492 : JGM = IDIM 493 : SEGINI MLMVIT 494 : MLMVIT.MOTS(1) = 'UX ' 495 : MLMVIT.MOTS(2) = 'UY ' 496 : IF(IDIM .EQ. 3) MLMVIT.MOTS(3) = 'UZ ' 497 : ICACCA=0 497 : CALL QUEPO1(IVLIM, ICACCA, MLMVIT) 498 : IF(IERR .NE. 0) GOTO 9999 499 : SEGSUP MLMVIT 500 : ENDIF 501 : C 502 : C******* Calcul du jacobien 503 : C 504 : IF(IDIM .EQ. 2)THEN 505 : C IIMPL = 4 VLH 506 : C IIMPL = 5 AUSM+ 507 : IIMPL2 = IIMPL+3 507 : CALL KONJA5(IIMPL2,ILIINC,IROF,IPF,IVITF,IGAMF, 508 : & IRN,IPN,IVN,IGAMN, 509 : & ICHPVO,ICHPSU, INORM, MELEMC, MELEFE, MELEMF, MELTFA 510 : & ,IGRN, IGVN, IGPN,IGLRN, IGLVN, IGLPN,ICRN, ICVN, 511 : & ICPN, IVLIM, MELLIM, IJACO) 512 : IF(IERR .NE. 0) GOTO 9999 513 : ELSE 514 : C Tentative d'utilisation d'une option non implémentée 514 : CALL ERREUR(251) 515 : GOTO 9999 516 : ENDIF 517 : C 518 : TYPE='MATRIK ' 518 : CALL ECROBJ(TYPE,IJACO) 519 : 9999 CONTINUE 520 : RETURN 521 : END 522 : 523 : 524 : 525 : 526 : 527 : 528 : 529 : 530 : 531 :
© Cast3M 2003 - All rights reserved.
Disclaimer