1 : C ZNSKE SOURCE MAGN 10/05/18 21:18:00 6675 2 : SUBROUTINE ZNSKE(MTABX,MTAB1) 3 : IMPLICIT INTEGER(I-N) 4 : IMPLICIT REAL*8 (A-H,O-Z) 5 : C*********************************************************************** 6 : C 7 : C CET OPERATEUR DISCRETISE LES EQUATIONS DE NAVIER STOKES COUPLEES 8 : C AUX DEUX EQUATIONS DU MODELE K - EPSILON 9 : C EN 2D SUR LES ELEMENTS QUA4 ET TRI3 PLAN OU AXI 10 : C EN 3D SUR LES ELEMENTS CUB8 ET PRI6 11 : C LES OPERATEURS SONT "SOUS-INTEGRES" 12 : C 13 : C SYNTAXE : 14 : C --------- 15 : C 1/ Cas incompréssible 16 : C 17 : C du/dt + u Grad u = (nu+nut) Lapl u - 1/ro Grad p < + S > 18 : C < + g beta (T-Tref) > 19 : C 20 : C 'OPER' 'NSKE' nu nut 'INCO' UN : 21 : C 'OPER' 'NSKE' nu nut s 'INCO' UN : 22 : C 'OPER' 'NSKE' nu nut gb tn tref 'INCO' UN : 23 : C 24 : C 25 : C 2/ Cas compréssible 26 : C 27 : C dG/dt + u Grad G + G Div u = (mu+mut)(Lapl u + 1/3 Grad Div u) 28 : C - Grad p < + S > 29 : C 30 : C 'OPER' 'NSKE' ro mu mut un 'INCO' GN : 31 : C 'OPER' 'NSKE' ro mu mut un S 'INCO' GN : 32 : C 33 : C ro densité 34 : C FLOTTANT ou CHPOINT SCAL CENTRE 35 : C nu,mu viscosité cinématique (resp. dynamique) moléculaire 36 : C FLOTTANT ou CHPOINT SCAL CENTRE 37 : C nut,mut viscosité cinématique (resp. dynamique) turbulente 38 : C CHPOINT SCAL CENTRE 39 : C s source volumique de qdm 40 : C POINT ou CHPOINT VECT CENTRE 41 : C gb coéfficient de flottabilité (g*beta où g est l'accéllération 42 : C de la pesanteur et beta le coéfficient de dilatabilité) 43 : C POINT ou CHPOINT VECT CENTRE 44 : C tn Champ de température CHPOINT SCAL SOMMET 45 : C tref température de référence 46 : C FLOTTANT ou CHPOINT SCAL SOMMET 47 : C 48 : C Champ de vitesse -> VITESS 49 : C un Champ de vitesse transportant -> UTRANS 50 : C CHPOINT VECT SOMMET 51 : C gn Champ de vitesse massique (transporté) -> IZTU1 (Inconnue) 52 : C CHPOINT VECT SOMMET 53 : C kn Energie cinétique turbulente 54 : C CHPOINT SCAL SOMMET 55 : C en Taux de disparition de k 56 : C CHPOINT SCAL SOMMET 57 : C Constantes du modèle K - Epsilon 58 : C cnu = 0.09 c1 = 1.41 c2 = 1.92 59 : C 60 : C************************************************************************ 61 : 62 : -INC CCOPTIO 63 : -INC CCGEOME 64 : -INC SIZFFB 65 : POINTEUR IZF1.IZFFM 66 : -INC SMCHAML 67 : -INC SMCOORD 68 : -INC SMLENTI 69 : POINTEUR IPADI.MLENTI,IPADU.MLENTI,IPADF.MLENTI,IPADS.MLENTI 70 : POINTEUR IPADQ.MLENTI 71 : -INC SMELEME 72 : POINTEUR MELEM1.MELEME,MELEMC.MELEME,MELEMS.MELEME,MELEMI.MELEME 73 : POINTEUR MELEP1.MELEME 74 : -INC SMCHPOI 75 : POINTEUR IZG1.MCHPOI, IZG3.MCHPOI 76 : POINTEUR IZGG1.MPOVAL,IZGG2.MPOVAL,IZGG3.MPOVAL 77 : POINTEUR IZGDD2.MPOVAL,IZGDD3.MPOVAL 78 : POINTEUR IZDD2.MPOVAL,IZDD3.MPOVAL 79 : POINTEUR IZTU1.MPOVAL,IZTU2.MPOVAL,IZTU3.MPOVAL 80 : POINTEUR VITESS.MPOVAL,UTRANS.MPOVAL 81 : POINTEUR MZNU.MPOVAL,MZGB.MPOVAL,MZTN.MPOVAL,MZTR.MPOVAL 82 : POINTEUR MZRO.MPOVAL 83 : POINTEUR MZNT.MPOVAL 84 : POINTEUR IZVOL.MPOVAL,IZTCO.MPOVAL 85 : POINTEUR MCHVOL.MCHPOI,IZG2.MCHPOI,IZGD2.MCHPOI 86 : POINTEUR IZD2.MCHPOI,IZGD3.MCHPOI,IZD3.MCHPOI 87 : -INC SMMATRIK 88 : POINTEUR IPM.IZAFM 89 : 90 : SEGMENT IMATRS 91 : INTEGER LIZAFS(NBSOUS,NBME) 92 : ENDSEGMENT 93 : POINTEUR IPMS.IZAFM,IPS1.IZAFM,IPS2.IZAFM,IPS3.IZAFM 94 : 95 : -INC SMLMOTS 96 : POINTEUR LINCO.MLMOTS 97 : CHARACTER*8 NOMZ,NOMI,NOMA,TYPE,TYPC,NOM,NOM0 98 : PARAMETER (NTB=1) 99 : CHARACTER*8 LTAB(NTB) 100 : DIMENSION KTAB(NTB),IXV(3),RO(1) 101 : SAVE IPAS 102 : DATA LTAB/'KIZX '/,IPAS/0/,RO/1.D0/ 103 : C***************************************************************************** 104 : CNSKE 105 : C write(6,*)' DEBUT NSKE ' 106 : 107 : C 108 : C- Récupération de la table INCO (pointeur KINC) 109 : C 109 : CALL LEKTAB(MTAB1,'INCO',KINC) 110 : IF(KINC.EQ.0)THEN 111 : C Indice %m1:8 : Indice %m9:16 non trouvé dans la table %m17:24 112 : MOTERR( 1: 8) = ' INCO ' 113 : MOTERR( 9:16) = ' INCO ' 114 : MOTERR(17:24) = ' EQEX ' 114 : CALL ERREUR(786) 115 : RETURN 116 : ENDIF 117 : 118 : C***************************************************************************** 119 : C OPTIONS 120 : C KIMPL = 0 -> EXPL 1 -> IMPL 2 -> SEMI 121 : C KFORM = 0 -> SI 1 -> EF 2 -> VF 3 -> EFMC 122 : C IDCEN = 0-> rien 1-> CENTREE 2-> SUPGDC 3-> SUPG 4-> TVISQUEU 5-> CNG 123 : 124 : IAXI=0 125 : IF(IFOMOD.EQ.0)IAXI=2 126 : C 127 : C- Récupération de la table des options KOPT (pointeur KOPTI) 128 : C 128 : CALL LEKTAB(MTABX,'KOPT',KOPTI) 129 : IF (KOPTI.EQ.0) THEN 130 : C Indice %m1:8 : Indice %m9:16 non trouvé dans la table %m17:24 131 : MOTERR( 1: 8) = ' KOPT ' 132 : MOTERR( 9:16) = ' KOPT ' 133 : MOTERR(17:24) = ' KIZX ' 133 : CALL ERREUR(786) 134 : RETURN 135 : ENDIF 136 : 136 : CALL ACME(KOPTI,'MTRMASS ',MMPG) 137 : IPG=0 138 : IF(MMPG.EQ.3)IPG=1 138 : CALL ACME(KOPTI,'IDCEN',IDCEN) 138 : CALL ACME(KOPTI,'RNG ',IMODEL) 138 : CALL ACME(KOPTI,'IKOMP',IKOMP) 138 : CALL ACME(KOPTI,'KIMPL',KIMPL) 138 : CALL ACME(KOPTI,'KPOIN',KPRE) 138 : CALL ACME(KOPTI,'KFORM',KFORM) 138 : CALL ACME(KOPTI,'KMACO',KMACO) 138 : CALL ACMF(KOPTI,'AIMPL',AIMPL) 139 : 140 : IF (IERR.NE.0) RETURN 141 : 142 : IF(KFORM.NE.0.AND.KFORM.NE.1)THEN 143 : C Option %m1:8 incompatible avec les données 144 : MOTERR( 1: 8) = 'EF/EFM1 ' 144 : CALL ERREUR(803) 145 : RETURN 146 : ENDIF 147 : 148 : IF(KFORM.NE.0.AND.KPRE.NE.2)THEN 149 : C Option %m1:8 incompatible avec les données 150 : MOTERR( 1: 8) = 'EFM1 ' 150 : CALL ERREUR(803) 151 : RETURN 152 : ENDIF 153 : 154 : C write(6,*)' Apres les options ' 155 : C***************************************************************************** 156 : C 157 : C- Récupération de la table DOMAINE associée au domaine local 158 : C 158 : CALL ACMM(MTABX,'NOMZONE',NOMZ) 158 : CALL LEKTAB(MTABX,'DOMZ',MTABZ) 159 : IF(MTABZ.EQ.0)THEN 160 : C Indice %m1:8 : Indice %m9:16 non trouvé dans la table %m17:24 161 : MOTERR( 1: 8) = ' DOMZ ' 162 : MOTERR( 9:16) = ' DOMZ ' 163 : MOTERR(17:24) = ' KIZX ' 163 : CALL ERREUR(786) 164 : RETURN 165 : ENDIF 166 : 166 : CALL LEKTAB(MTABZ,'MAILLAGE',MELEME) 166 : CALL LEKTAB(MTABZ,'CENTRE',MELEMC) 166 : CALL LEKTAB(MTABZ,'SOMMET',MELEMS) 167 : IF (IERR.NE.0) RETURN 168 : 169 : MELEMQ=MELEMC 170 : MELEP1=MELEMC 171 : 172 : IF(KPRE.NE.2)THEN 172 : CALL LEKTAB(MTABZ,'MACRO',MACRO) 172 : CALL LEKTAB(MTABZ,'MACRO1',MELEMI) 172 : CALL LEKTAB(MTABZ,'QUADRATI',MQUAD) 173 : IF(KPRE.EQ.3)THEN 173 : CALL LEKTAB(MTABZ,'CENTREP0',MELEMQ) 174 : MELEP1=MELEMQ 175 : ELSEIF(KPRE.EQ.4)THEN 175 : CALL LEKTAB(MTABZ,'CENTREP1',MELEMQ) 175 : CALL LEKTAB(MTABZ,'ELTP1NC ',MELEP1) 176 : ENDIF 177 : ENDIF 178 : 179 : C************************************************************************* 180 : C VERIFICATIONS SUR LES INCONNUES 181 : C 182 : C- Récupération du nombre d'inconnues et du nom de l'inconnue NOMI 183 : C 184 : TYPE='LISTMOTS' 184 : CALL ACMO(MTABX,'LISTINCO',TYPE,LINCO) 185 : IF (IERR.NE.0) RETURN 186 : SEGACT LINCO 187 : NBINC=LINCO.MOTS(/2) 188 : IF(NBINC.NE.3)THEN 189 : C Indice %m1:8 : contient plus de %i1 %m9:16 190 : MOTERR( 1:8) = 'LISTINCO' 191 : INTERR(1) = 3 192 : MOTERR(9:16) = ' MOTS ' 192 : CALL ERREUR(799) 193 : RETURN 194 : ENDIF 195 : 196 : NOMI=LINCO.MOTS(1) 197 : NOMA=NOMI 198 : C 199 : C- Récupération de l'inconnue 200 : C 201 : TYPE=' ' 201 : CALL ACMO(KINC,NOMI,TYPE,MCHPOI) 202 : IF(TYPE.NE.'CHPOINT ')THEN 203 : C Indice %m1:8 : ne contient pas un objet de type %m9:16 204 : MOTERR( 1: 8) = 'INC '//NOMI 205 : MOTERR( 9:16) = 'CHPOINT ' 205 : CALL ERREUR(800) 206 : RETURN 207 : ELSE 207 : CALL LICHT(MCHPOI,IZTU1,TYPC,MELEM1) 208 : NINKO = IZTU1.VPOCHA(/2) 209 : IF (NINKO.NE.IDIM) THEN 210 : C Indice %m1:8 : Le %m9:16 n'a pas le bon nombre de composantes 211 : MOTERR( 1: 8) = 'INC '//NOMI 212 : MOTERR( 9:16) = 'CHPOINT ' 212 : CALL ERREUR(784) 213 : RETURN 214 : ENDIF 215 : C write(6,*)' MCHPOI,MELEM1=',MCHPOI,MELEM1 216 : C On fait pointer ces deux tableaux sur le champ U inconu (tjs présent) pour 217 : C eviter de les enlever lors de l'appel FORTRAN si les options sont absentes 218 : UTRANS=IZTU1 219 : IKW=0 220 : VITESS=IZTU1 221 : ENDIF 222 : 223 : C***************************************************************************** 224 : C Le domaine de definition est donne par le SPG de la premiere inconnue 225 : C Les inconnues suivantes devront posseder ce meme pointeur 226 : C On verifie que les points de la zone sont tous inclus dans ce SPG 227 : 227 : CALL KRIPAD(MELEM1,IPADI) 228 : IPADS=IPADI 229 : IPADD=IPADI 230 : IPADU=IPADI 230 : IF(MELEM1.NE.MELEMS)CALL KRIPAD(MELEMS,IPADS) 231 : 232 : IF(IPAS.EQ.0)THEN 233 : IPAS=1 233 : CALL VERPAD(IPADI,MELEME,IRET) 234 : IF(IRET.NE.0)THEN 235 : C Indice %m1:8 : L'objet %m9:16 n'a pas le bon support géométrique 236 : MOTERR(1: 8) = 'INC '//NOMI 237 : MOTERR(9:16) = 'CHPOINT ' 237 : CALL ERREUR(788) 238 : RETURN 239 : ENDIF 240 : ENDIF 241 : 242 : C************************************************************************* 243 : C Lecture du coefficient 244 : C Type du coefficient : 245 : C IK1=0 CHPOINT IK1=1 scalaire IK1=2 vecteur 246 : 247 : C write(6,*)' Opérateur NSKE lecture des coefficients' 247 : CALL ACME(MTABX,'IARG',IARG) 248 : IF(IKOMP.EQ.0)THEN 249 : IF(IARG.NE.2.AND.IARG.NE.3.AND.IARG.NE.5)THEN 250 : WRITE(6,*)' Opérateur NSKE : option incompréssible ' 251 : WRITE(6,*)' Nombre d''arguments incorrect : ',IARG 252 : WRITE(6,*)' On attend 2 , 3 ou 5 ' 253 : C Indice %m1:8 : nombre d'arguments incorrect 254 : MOTERR(1:8) = 'IARG ' 254 : CALL ERREUR(804) 255 : RETURN 256 : ENDIF 257 : ELSEIF(IKOMP.EQ.1)THEN 258 : IF(IARG.NE.4.AND.IARG.NE.5)THEN 259 : WRITE(6,*)' Opérateur NSKE : option compréssible ' 260 : WRITE(6,*)' Nombre d''arguments incorrect : ',IARG 261 : WRITE(6,*)' On attend 4 ou 5 ' 262 : C Indice %m1:8 : nombre d'arguments incorrect 263 : MOTERR(1:8) = 'IARG ' 263 : CALL ERREUR(804) 264 : RETURN 265 : ENDIF 266 : ENDIF 267 : 268 : C--Cas incompréssible 269 : IF(IKOMP.EQ.0)THEN 270 : 271 : MZRO=IZTU1 272 : 273 : C 1er coefficient : nu 274 : IXV(1)=MELEMC 275 : IXV(2)=1 276 : IXV(3)=0 276 : CALL LEKCOF('Opérateur NSKE :', 277 : & MTABX,KINC,1,IXV,MNU,MZNU,NPT1,NC1,IKN,IRET) 278 : IF(IRET.EQ.0)RETURN 279 : 280 : MZGB=MZNU 281 : MZTN=MZNU 282 : MZTR=MZNU 283 : 284 : C 2ème coefficient : nut 285 : IXV(1)=MELEMC 286 : IXV(2)=0 287 : IXV(3)=0 287 : CALL LEKCOF('Opérateur NSKE :', 288 : & MTABX,KINC,2,IXV,MNT,MZNT,NPT2,NC2,IKNT,IRET) 289 : IF(IRET.EQ.0)RETURN 290 : 291 : IF(IARG.GE.3)THEN 292 : C 3ème coefficient : gbeta 293 : IXV(1)=-MELEMC 294 : IXV(2)=0 295 : IXV(3)=1 295 : CALL LEKCOF('Opérateur NSKE :', 296 : & MTABX,KINC,3,IXV,MGB,MZGB,NELG,NC3,IKG,IRET) 297 : IF(IRET.EQ.0)RETURN 298 : 299 : IF(IKG.EQ.2)IKG=1 300 : 301 : IF(IARG.EQ.5)THEN 302 : 303 : C 4ème coefficient : tn 304 : IXV(1)=MELEMS 305 : IXV(2)=1 306 : IXV(3)=0 306 : CALL LEKCOF('Opérateur NSKE :', 307 : & MTABX,KINC,4,IXV,MTN,MZTN,NPT4,NC4,IKTN,IRET) 308 : IF(IRET.EQ.0)RETURN 309 : 310 : C 5ème coefficient : tref 311 : IXV(1)=MELEMS 312 : IXV(2)=1 313 : IXV(3)=0 313 : CALL LEKCOF('Opérateur NSKE :', 314 : & MTABX,KINC,5,IXV,MTR,MZTR,NPT5,NC5,IKTR,IRET) 315 : IF(IRET.EQ.0)RETURN 316 : 317 : ENDIF 318 : ENDIF 319 : 320 : C--Cas compréssible 321 : ELSEIF(IKOMP.EQ.1)THEN 322 : C 1er coefficient : ro 323 : IXV(1)=MELEMC 324 : IXV(2)=1 325 : IXV(3)=0 325 : CALL LEKCOF('Opérateur NSKE :', 326 : & MTABX,KINC,1,IXV,MRO,MZRO,NPT1,NCR,IKR,IRET) 327 : IF(IRET.EQ.0)RETURN 328 : 329 : MZGB=MZRO 330 : MZTN=MZRO 331 : MZTR=MZRO 332 : 333 : C 2ème coefficient : mu 334 : IXV(1)=MELEMC 335 : IXV(2)=1 336 : IXV(3)=0 336 : CALL LEKCOF('Opérateur NSKE :', 337 : & MTABX,KINC,2,IXV,MNU,MZNU,NPT2,NC2,IKN,IRET) 338 : IF(IRET.EQ.0)RETURN 339 : 340 : C 3ème coefficient : mut 341 : IXV(1)=MELEMC 342 : IXV(2)=0 343 : IXV(3)=0 343 : CALL LEKCOF('Opérateur NSKE :', 344 : & MTABX,KINC,3,IXV,MNT,MZNT,NPT3,NC3,IKNT,IRET) 345 : IF(IRET.EQ.0)RETURN 346 : 347 : C 4ème coefficient : un (en compréssible) 348 : IXV(1)=-MELEMS 349 : IXV(2)=0 350 : IXV(3)=0 350 : CALL LEKCOF('Opérateur NSKE :', 351 : & MTABX,KINC,4,IXV,MUN,UTRANS,NPT4,NC4,IK4,IRET) 352 : IPADU=IPADS 353 : IF(IRET.EQ.0)RETURN 354 : 355 : IF(IARG.EQ.5)THEN 356 : C 5ème coefficient : s (en compréssible) 357 : IXV(1)=-MELEMC 358 : IXV(2)=0 359 : IXV(3)=1 359 : CALL LEKCOF('Opérateur NSKE :', 360 : & MTABX,KINC,5,IXV,MGB,MZGB,NELG,NC5,IKG,IRET) 361 : IF(IRET.EQ.0)RETURN 362 : 363 : IF(IKG.EQ.2)IKG=1 364 : ENDIF 365 : 366 : ENDIF 367 : 368 : C write(6,*)' Opérateur NSKE : Fin lecture Arguments ' 369 : C Fin lecture Arguments ************************************************ 370 : 371 : 371 : CALL LEKTAB(MTABZ,'XXDXDY',MCHPDX) 372 : IF(IRET.EQ.0)RETURN 372 : CALL LICHT(MCHPDX,IZTCO,TYPC,IGEOM) 373 : NELZ=IZTCO.VPOCHA(/1) 374 : 375 : 376 : C write(6,*)' FORMULATION ',kform 377 : C*********** FORMULATIONS ********** 378 : 379 : IF(KFORM.EQ.0)THEN 380 : C Formulation EFM1 381 : IF(KIMPL.NE.0)THEN 382 : WRITE(6,*)' Operateur NSKE' 383 : C Option %m1:8 incompatible avec les données 384 : MOTERR( 1: 8) = ' EFM1 ' 384 : CALL ERREUR(803) 385 : RETURN 386 : ENDIF 387 : 387 : CALL LEKTAB(MTABZ,'MATESI',MATRIK) 388 : IF(MATRIK.EQ.0)GO TO 90 389 : SEGACT MATRIK 390 : IMATRI=IRIGEL(4,1) 391 : SEGACT IMATRI 392 : 392 : CALL LEKTAB(MTABZ,'XXPSOML',MCHELM) 392 : CALL LEKTAB(MTABZ,'XXVOLUM',MCHVOL) 393 : IF(IRET.EQ.0)RETURN 394 : 395 : SEGACT MCHELM 395 : CALL LICHT(MCHVOL,IZVOL,TYPC,IGEOM) 396 : 396 : CALL LEKTAB(MTAB1,'KIZG',KIZG) 397 : IF(KIZG.EQ.0)THEN 397 : CALL CRTABL(KIZG) 397 : CALL ECMM(KIZG,'SOUSTYPE','KIZG') 397 : CALL ECMO(MTAB1,'KIZG','TABLE ',KIZG) 398 : ENDIF 399 : 399 : CALL LEKTAB(MTAB1,'KIZG1',KIZG1) 400 : IF(KIZG1.EQ.0)THEN 400 : CALL CRTABL(KIZG1) 400 : CALL ECMM(KIZG1,'SOUSTYPE','KIZG1') 400 : CALL ECMO(MTAB1,'KIZG1','TABLE ',KIZG1) 401 : ENDIF 402 : 402 : CALL LEKTAB(MTAB1,'KIZD',KIZD) 403 : IF(KIZD.EQ.0)THEN 404 : WRITE(6,*)'Il n''y a pas de table KIZD ' 405 : GO TO 90 406 : ENDIF 407 : 408 : C***************************************************************************** 409 : 410 : 411 : TYPE=' ' 411 : CALL ACMO(KIZG,NOMI,TYPE,IZG1) 412 : IF(TYPE.NE.'CHPOINT ')THEN 413 : NC=IZTU1.VPOCHA(/2) 414 : TYPE='SOMMET' 414 : CALL CRCHPT(TYPE,MELEM1,NC,IZG1) 414 : CALL ECMO(KIZG,NOMI,'CHPOINT ',IZG1) 415 : ENDIF 416 : 416 : CALL LICHT(IZG1,IZGG1,TYPC,IGEOM) 417 : 418 : IF(IGEOM.NE.MELEM1)THEN 419 : WRITE(6,*)' Opérateur NSKE' 420 : WRITE(6,*)'Incompatibilite de SPG entre 1eres inconnues ' 421 : C Indice %m1:8 : L'objet %m9:16 n'a pas le bon support géométrique 422 : MOTERR(1: 8) = 'INC '//NOMI 423 : MOTERR(9:16) = 'CHPOINT ' 423 : CALL ERREUR(788) 424 : RETURN 425 : ENDIF 426 : 427 : 428 : NOMI=LINCO.MOTS(2) 429 : 430 : TYPE=' ' 430 : CALL ACMO(KINC,NOMI,TYPE,MCHPOI) 431 : IF(TYPE.NE.'CHPOINT ')THEN 432 : WRITE(6,*)' L objet CHPOINT ',NOMI,' n existe pas dans la table' 433 : C Indice %m1:8 : ne contient pas un objet de type %m9:16 434 : MOTERR( 1: 8) = 'INC '//NOMI 435 : MOTERR( 9:16) = 'CHPOINT ' 435 : CALL ERREUR(800) 436 : RETURN 437 : RETURN 438 : ELSE 438 : CALL LICHT(MCHPOI,IZTU2,TYPC,IGEOM0) 439 : IF(IGEOM0.NE.MELEM1)THEN 440 : WRITE(6,*)' Opérateur NSKE ' 441 : WRITE(6,*)' Le SPG de l''inconnue 2 n''est pas convenable' 442 : C Indice %m1:8 : L'objet %m9:16 n'a pas le bon support géométrique 443 : MOTERR(1: 8) = 'INC '//NOMI 444 : MOTERR(9:16) = 'CHPOINT ' 444 : CALL ERREUR(788) 445 : RETURN 446 : ENDIF 447 : ENDIF 448 : 449 : TYPE=' ' 449 : CALL ACMO(KIZG,NOMI,TYPE,IZG2) 450 : IF(TYPE.NE.'CHPOINT ')THEN 451 : NC=IZTU2.VPOCHA(/2) 452 : TYPE='SOMMET' 452 : CALL CRCHPT(TYPE,MELEM1,NC,IZG2) 452 : CALL ECMO(KIZG,NOMI,'CHPOINT ',IZG2) 453 : ENDIF 454 : 454 : CALL LICHT(IZG2,IZGG2,TYPC,IGEOM) 455 : 456 : IF(IGEOM.NE.MELEM1)THEN 457 : WRITE(6,*)' Opérateur NSKE' 458 : WRITE(6,*)'Incompatibilite de SPG entre 2emes inconnues' 459 : C Indice %m1:8 : L'objet %m9:16 n'a pas le bon support géométrique 460 : MOTERR(1: 8) = 'INC '//NOMI 461 : MOTERR(9:16) = 'CHPOINT ' 461 : CALL ERREUR(788) 462 : RETURN 463 : ENDIF 464 : 465 : TYPE=' ' 465 : CALL ACMO(KIZG1,NOMI,TYPE,IZGD2) 466 : IF(TYPE.NE.'CHPOINT ')THEN 467 : NC=IZTU2.VPOCHA(/2) 468 : TYPE='SOMMET' 468 : CALL CRCHPT(TYPE,MELEM1,NC,IZGD2) 468 : CALL ECMO(KIZG1,NOMI,'CHPOINT ',IZGD2) 469 : ENDIF 470 : 470 : CALL LICHT(IZGD2,IZGDD2,TYPC,IGEOM) 471 : 472 : IF(IGEOM.NE.MELEM1)THEN 473 : WRITE(6,*)' Opérateur NSKE' 474 : WRITE(6,*)'Incompatibilite de SPG entre 2emes inconnues' 475 : C Indice %m1:8 : L'objet %m9:16 n'a pas le bon support géométrique 476 : MOTERR(1: 8) = 'INC '//NOMI 477 : MOTERR(9:16) = 'CHPOINT ' 477 : CALL ERREUR(788) 478 : RETURN 479 : ENDIF 480 : 481 : TYPE=' ' 481 : CALL ACMO(KIZD,NOMI,TYPE,IZD2) 482 : IF(TYPE.NE.'CHPOINT ')THEN 483 : WRITE(6,*)' Il n y a pas de diagonale associee a l''inconnue ', 484 : &NOMI 485 : GO TO 90 486 : ENDIF 487 : 487 : CALL LICHT(IZD2,IZDD2,TYPC,IGEOM) 488 : 489 : NOMI=LINCO.MOTS(3) 490 : 491 : TYPE=' ' 491 : CALL ACMO(KINC,NOMI,TYPE,MCHPOI) 492 : IF(TYPE.NE.'CHPOINT ')THEN 493 : WRITE(6,*)' L objet CHPOINT ',NOMI,' n existe pas dans la table' 494 : C Indice %m1:8 : ne contient pas un objet de type %m9:16 495 : MOTERR( 1: 8) = 'INC '//NOMI 496 : MOTERR( 9:16) = 'CHPOINT ' 496 : CALL ERREUR(800) 497 : RETURN 498 : ELSE 498 : CALL LICHT(MCHPOI,IZTU3,TYPC,IGEOM0) 499 : IF(IGEOM0.NE.MELEM1)THEN 500 : WRITE(6,*)' Opérateur NSKE ' 501 : WRITE(6,*)' Le SPG de l''inconnue 3 n''est pas convenable' 502 : C Indice %m1:8 : L'objet %m9:16 n'a pas le bon support géométrique 503 : MOTERR(1: 8) = 'INC '//NOMI 504 : MOTERR(9:16) = 'CHPOINT ' 504 : CALL ERREUR(788) 505 : RETURN 506 : ENDIF 507 : ENDIF 508 : 509 : TYPE=' ' 509 : CALL ACMO(KIZG,NOMI,TYPE,IZG3) 510 : IF(TYPE.NE.'CHPOINT ')THEN 511 : SEGACT IZTU3 512 : NC=IZTU3.VPOCHA(/2) 513 : TYPE='SOMMET' 513 : CALL CRCHPT(TYPE,MELEM1,NC,IZG3) 513 : CALL ECMO(KIZG,NOMI,'CHPOINT ',IZG3) 514 : ENDIF 515 : 515 : CALL LICHT(IZG3,IZGG3,TYPC,IGEOM) 516 : 517 : IF(IGEOM.NE.MELEM1)THEN 518 : WRITE(6,*)' Opérateur NSKE' 519 : WRITE(6,*)' Incompatibilite de SPG entre 3emes inconnues' 520 : C Indice %m1:8 : L'objet %m9:16 n'a pas le bon support géométrique 521 : MOTERR(1: 8) = 'INC '//NOMI 522 : MOTERR(9:16) = 'CHPOINT ' 522 : CALL ERREUR(788) 523 : RETURN 524 : ENDIF 525 : 526 : TYPE=' ' 526 : CALL ACMO(KIZG1,NOMI,TYPE,IZGD3) 527 : IF(TYPE.NE.'CHPOINT ')THEN 528 : NC=IZTU3.VPOCHA(/2) 529 : TYPE='SOMMET' 529 : CALL CRCHPT(TYPE,MELEM1,NC,IZGD3) 529 : CALL ECMO(KIZG1,NOMI,'CHPOINT ',IZGD3) 530 : ENDIF 531 : 531 : CALL LICHT(IZGD3,IZGDD3,TYPC,IGEOM) 532 : 533 : IF(IGEOM.NE.MELEM1)THEN 534 : WRITE(6,*)' Opérateur NSKE' 535 : WRITE(6,*)' Incompatibilite de SPG entre 3emes inconnues' 536 : C Indice %m1:8 : L'objet %m9:16 n'a pas le bon support géométrique 537 : MOTERR(1: 8) = 'INC '//NOMI 538 : MOTERR(9:16) = 'CHPOINT ' 538 : CALL ERREUR(788) 539 : RETURN 540 : ENDIF 541 : 542 : TYPE=' ' 542 : CALL ACMO(KIZD,NOMI,TYPE,IZD3) 543 : IF(TYPE.NE.'CHPOINT ')THEN 544 : WRITE(6,*)' Il n y a pas de diagonale associee a l''inconnue ', 545 : &NOMI 546 : GO TO 90 547 : ENDIF 548 : 548 : CALL LICHT(IZD3,IZDD3,TYPC,IGEOM) 549 : 550 : NPT=IZGG1.VPOCHA(/1) 551 : 552 : SEGDES LINCO 553 : 554 : 555 : C###################################################################### 556 : 557 : SEGACT MELEME 558 : NBSOUS=LISOUS(/1) 559 : IF(NBSOUS.EQ.0)NBSOUS=1 560 : NUTOEL=0 561 : DT=1.D30 562 : IES=IDIM 563 : 564 : DO 1 L=1,NBSOUS 565 : IPT1=MELEME 566 : IF(NBSOUS.NE.1)IPT1=LISOUS(L) 567 : SEGACT IPT1 568 : IZAFM=LIZAFM(L,1) 569 : IPM1=IZAFM 570 : SEGACT IZAFM 571 : IF(IAXI.NE.0)THEN 572 : IPM1=LIZAFM(L,2) 573 : SEGACT IPM1 574 : ENDIF 575 : 576 : MCHAML=ICHAML(L) 577 : SEGACT MCHAML 578 : MELVAL=IELVAL(1) 579 : SEGACT MELVAL 580 : 581 : IF(IMACHE(L).NE.IPT1)THEN 582 : write(*,*)'IPT1,IMACHE ',IPT1,IMACHE(L) 583 : goto 90 584 : ENDIF 585 : 586 : NP =IPT1.NUM(/1) 587 : NBEL=IPT1.NUM(/2) 588 : 588 : CALL ZCVIT(AM,IPM1.AM,VELCHE, 589 : & IPT1.NUM,NBEL,NUTOEL,NPT,IES,NP,IAXI, 590 : & IPADI.LECT,IKOMP,IARG, 591 : & MZRO.VPOCHA,IKR, 592 : & MZNU.VPOCHA,IKN,MZGB.VPOCHA,IKG,NELG,MZTN.VPOCHA,IKTN, 593 : & MZTR.VPOCHA,IKTR,MZNT.VPOCHA, 594 : & IZTU1.VPOCHA,UTRANS.VPOCHA,IZTU2.VPOCHA,IZTU3.VPOCHA, 595 : & IZGG1.VPOCHA,IZGG2.VPOCHA,IZGG3.VPOCHA, 596 : & IZGDD2.VPOCHA,IZGDD3.VPOCHA, 597 : & IZDD2.VPOCHA,IZDD3.VPOCHA, 598 : & IZVOL.VPOCHA,IZTCO.VPOCHA,NELZ,IDCEN,IMODEL, 599 : & DT,DTT1,DTT2,NUEL,DIAEL,ECHLM) 600 : 601 : SEGDES IZAFM,IPT1,MCHAML,MELVAL 602 : NUTOEL=NUTOEL+NBEL 603 : 604 : 1 CONTINUE 605 : SEGDES MELEME 606 : SEGDES MATRIK,MCHELM 607 : 608 : SEGDES MZTN 609 : SEGDES IZTU1,IZTU2,IZTU3 610 : SEGDES IZGG1,IZGG2,IZGG3 611 : SEGDES IZGDD2,IZGDD3 612 : SEGDES IZDD2,IZDD3 613 : SEGDES IZVOL,IZTCO 614 : 614 : CALL LEKTAB(MTAB1,'PASDETPS',MTABT) 615 : IF(MTABT.EQ.0)THEN 615 : CALL CRTABL(MTABT) 615 : CALL ECMM(MTABT,'SOUSTYPE','PASDETPS') 615 : CALL ECMO(MTAB1,'PASDETPS','TABLE ',MTABT) 616 : DTP=1.D30+DT 617 : IPAT=1 617 : CALL ECME(MTABT,'NUPASDT',IPAT) 618 : ELSE 618 : CALL ACMF(MTABT,'DELTAT',DTP) 619 : ENDIF 620 : 621 : IF(DT.LT.DTP)THEN 621 : CALL ECMF(MTABT,'DELTAT',DT) 621 : CALL ECMM(MTABT,'OPER','NSKE') 621 : CALL ACMM(MTABX,'NOMZONE',NOMZ) 621 : CALL ECMM(MTABT,'ZONE',NOMZ) 621 : CALL ECMF(MTABT,'DTCONV',DTT1) 621 : CALL ECMF(MTABT,'DTDIFU',DTT2) 621 : CALL ECMF(MTABT,'DIAEL',DIAEL) 621 : CALL ECME(MTABT,'NUEL',NUEL) 622 : ENDIF 623 : C************************************************************************* 624 : ELSE IF(KFORM.EQ.1)THEN 625 : C CAS FORMULATION EF 626 : 627 : IF(KIMPL.EQ.0)THEN 628 : C Option %m1:8 incompatible avec les données 629 : MOTERR( 1: 8) = ' EF ' 629 : CALL ERREUR(803) 630 : RETURN 631 : ENDIF 632 : 633 : DT=0.D0 634 : IF(IDCEN.EQ.4)THEN 635 : TYPE=' ' 635 : CALL ACMO(MTABT,'DELTAT',TYPE,IENT) 636 : IF(TYPE.NE.'ENTIER')THEN 637 : WRITE(6,*)' Opérateur NS ' 638 : WRITE(6,*)' On reclame un pas de temps' 639 : C Option %m1:8 incompatible avec les données 640 : MOTERR( 1: 8) = ' EF ' 640 : CALL ERREUR(803) 641 : RETURN 642 : ELSE 642 : CALL ACMF(MTABT,'DELTAT',DT) 643 : ENDIF 644 : ENDIF 645 : 646 : IHV=1 647 : NUTOEL=0 648 : NINKO=VITESS.VPOCHA(/2) 649 : SEGACT MELEME 650 : NBSOUS=LISOUS(/1) 651 : IF(NBSOUS.EQ.0)NBSOUS=1 652 : 653 : TYPE=' ' 653 : CALL ACMO(MTABX,'MATELM',TYPE,MATRIK) 654 : IF(TYPE.EQ.'MATRIK'.AND.KMACO.NE.0)THEN 655 : SEGACT MATRIK 656 : NMATRI=IRIGEL(/2) 657 : MELEME=IRIGEL(1,1) 658 : SEGACT MELEME 659 : IMATRI=IRIGEL(4,1) 660 : SEGACT IMATRI 661 : NBME=LIZAFM(/2) 662 : NINKO=NBME 663 : MELEMS=KSPGP 664 : 665 : 666 : ELSE 667 : 668 : NRIGE=7 669 : NKID =9 670 : NKMT =7 671 : NMATRI=1 672 : SEGINI MATRIK 673 : IRIGEL(1,1)=MELEME 674 : IRIGEL(2,1)=MELEME 675 : 676 : IRIGEL(7,1)=2 677 : NBOP=0 678 : NBME=NINKO 679 : NBELC=0 680 : SEGINI IMATRI,IMATRS 681 : IRIGEL(4,1)=IMATRI 682 : KSPGP=MELEMS 683 : KSPGD=MELEMS 684 : 685 : IF(NBME.EQ.1)THEN 686 : LISPRI(1)=NOMI(1:4)//' ' 687 : LISDUA(1)=NOMA(1:4)//' ' 688 : ELSE 689 : DO 102 I=1,NBME 690 : WRITE(NOM,FMT='(I1,A7)')I,NOMI(1:7) 691 : LISPRI(I)=NOM(1:4)//' ' 692 : WRITE(NOM,FMT='(I1,A7)')I,NOMA(1:7) 693 : LISDUA(I)=NOM(1:4)//' ' 694 : 102 CONTINUE 695 : ENDIF 696 : 697 : NUTOEL=0 698 : DO 101 L=1,NBSOUS 699 : IPT1=MELEME 700 : IF(NBSOUS.NE.1)IPT1=LISOUS(L) 701 : SEGACT IPT1 702 : WRITE(NOM0,FMT='(A8)')NOMS(IPT1.ITYPEL)//' ' 702 : CALL KALPBG(NOM0,'FONFORM ',IZFFM) 703 : SEGACT IZFFM*MOD 704 : IZHR=KZHR(1) 705 : SEGACT IZHR*MOD 706 : NES=GR(/1) 707 : NPG=GR(/3) 708 : 709 : NP = IPT1.NUM(/1) 710 : MP = NP 711 : NBEL=IPT1.NUM(/2) 712 : SEGINI IPM1,IPS1 713 : LIZAFM(L,1)=IPM1 714 : LIZAFS(L,1)=IPS1 715 : IPM2=IPM1 716 : IPM3=IPM1 717 : IPS2=IPS1 718 : IPS3=IPS1 719 : IF(NBME.GE.2)THEN 720 : SEGINI IPM2,IPS2 721 : LIZAFM(L,2)=IPM2 722 : LIZAFS(L,2)=IPS2 723 : ENDIF 724 : IF(NBME.GE.3)THEN 725 : SEGINI IPM3,IPS3 726 : LIZAFM(L,3)=IPM3 727 : LIZAFS(L,3)=IPS3 728 : ENDIF 729 : 730 : 731 : KITT=2 732 : KJTT=IKN 733 : NPT=UTRANS.VPOCHA(/1) 734 : NPTG=IZTU1.VPOCHA(/1) 735 : 735 : CALL ZCONV(FN,GR,PG,XYZ,HR,PGSQ,RPG, 736 : & NES,IDIM,NP,NPG,IAXI,AIMPL,IKOMP, 737 : & RO,1,UTRANS.VPOCHA,IKW,NPT,IPADU.LECT,MZNU.VPOCHA,IKN, 738 : & IPT1.NUM,NBEL,NUTOEL,XCOOR, 739 : & IPM1.AM,IPM2.AM,IPM3.AM, 740 : & IPS1.AM,IPS2.AM,IPS3.AM, 741 : & NINKO,IDCEN,DT, 742 : & IZTU1.VPOCHA,0,NPTG,IPADI.LECT,IZTCO.VPOCHA,NELZ) 743 : 743 : CALL XLAPL(FN,GR,PG,XYZ,HR,PGSQ,RPG,NES,IDIM,NP,NPG,IAXI, 744 : & MZNU.VPOCHA,MZNU.VPOCHA,MZNU.VPOCHA,KITT,KJTT,IKN, 745 : & IPT1.NUM,NBEL,NUTOEL,XCOOR,AIMPL,IKOMP, 746 : & IPM1.AM,IPM2.AM,IPM3.AM, 747 : & IPS1.AM,IPS2.AM,IPS3.AM, 748 : & NINKO,IHV,IARG,MZNU.VPOCHA) 749 : 750 : NUTOEL=NUTOEL+NBEL 751 : 101 CONTINUE 752 : 753 : ENDIF 754 : 755 : 756 : IF(KIMPL.EQ.2.OR.KIMPL.EQ.0.OR.IARG.GT.1)THEN 757 : NAT=2 758 : NSOUPO=1 759 : SEGACT MELEMS 760 : N=MELEMS.NUM(/2) 761 : NC=NINKO 762 : SEGINI MCHPO1,MSOUP1,MPOVA1 763 : MCHPO1.IFOPOI=IFOMOD 764 : MCHPO1.MOCHDE=TITREE 765 : MCHPO1.MTYPOI='SMBR' 766 : MCHPO1.JATTRI(1)=2 767 : MCHPO1.IPCHP(1)=MSOUP1 768 : DO 177 N=1,NINKO 769 : MSOUP1.NOCOMP(N)=LISDUA(N)(1:4) 770 : 177 CONTINUE 771 : MSOUP1.IGEOC=MELEMS 772 : MSOUP1.IPOVAL=MPOVA1 773 : ENDIF 774 : 775 : IF(IARG.EQ.3.OR.IARG.EQ.5)THEN 775 : CALL KRIPAD(MELEMQ,IPADQ) 776 : IF(IARG.EQ.3)THEN 777 : IKAS=2 778 : ELSEIF(IARG.EQ.5)THEN 779 : IKAS=3 780 : ENDIF 781 : 782 : 783 : 784 : IF(MACRO.NE.0.AND.KPRE.EQ.2)MELEMI=MELEME 785 : SEGACT MELEMI 786 : NBSOUS=MELEMI.LISOUS(/1) 787 : IF(NBSOUS.EQ.0)NBSOUS=1 788 : 789 : NUTOEL=0 790 : DO 1102 L=1,NBSOUS 791 : IPT1=MELEMI 792 : IF(NBSOUS.NE.1)IPT1=MELEMI.LISOUS(L) 793 : SEGACT IPT1 794 : 795 : IF(MQUAD.NE.0)THEN 796 : IF(KPRE.EQ.2)WRITE(NOM0,FMT='(A8)')NOMS(IPT1.ITYPEL)//'PRP0' 797 : IF(KPRE.EQ.3)WRITE(NOM0,FMT='(A8)')NOMS(IPT1.ITYPEL)//'PRP0' 798 : IF(KPRE.EQ.4)WRITE(NOM0,FMT='(A8)')NOMS(IPT1.ITYPEL)//'PRP1' 799 : ELSEIF(MACRO.NE.0)THEN 800 : IF(KPRE.EQ.2)WRITE(NOM0,FMT='(A8)')NOMS(IPT1.ITYPEL)//' ' 801 : IF(KPRE.EQ.3)WRITE(NOM0,FMT='(A8)')NOMS(IPT1.ITYPEL)//'MCP0' 802 : IF(KPRE.EQ.4)WRITE(NOM0,FMT='(A8)')NOMS(IPT1.ITYPEL)//'MCP1' 803 : ELSE 804 : IF(KPRE.EQ.2)WRITE(NOM0,FMT='(A8)')NOMS(IPT1.ITYPEL)//' ' 805 : ENDIF 805 : CALL KALPBG(NOM0,'FONFORM ',IZFFM) 806 : 807 : 808 : SEGACT IZFFM*MOD 809 : IZHR=KZHR(1) 810 : SEGACT IZHR*MOD 811 : NES=GR(/1) 812 : NPG=GR(/3) 813 : IZF1=KTP(1) 814 : SEGACT IZF1*MOD 815 : MP1=IZF1.FN(/1) 816 : NP = IPT1.NUM(/1) 817 : MP = NP 818 : NBEL=IPT1.NUM(/2) 819 : NELG=MZGB.VPOCHA(/1) 820 : NPT =MPOVA1.VPOCHA(/1) 821 : 822 : SEGACT MELEP1 823 : 824 : 824 : CALL XSOUR(FN,IZF1.FN,GR,PG,XYZ,HR,PGSQ,RPG, 825 : & NES,IDIM,NP,MP1,NPG,IAXI,IPT1.NUM,IKAS,KPRE, 826 : & MZGB.VPOCHA,IKG,NELG,IPADQ.LECT,MELEP1.NUM, 827 : & MZTN.VPOCHA,IKTN,MZTR.VPOCHA,IKTR,IPADS.LECT, 828 : & NBEL,NUTOEL,XCOOR,MPOVA1.VPOCHA,NPT) 829 : 830 : NUTOEL=NUTOEL+NBEL 831 : 1102 CONTINUE 832 : 833 : ENDIF 834 : 835 : IF(KIMPL.EQ.2.OR.KIMPL.EQ.0)THEN 836 : 837 : NBSOUS=LISOUS(/1) 838 : IF(NBSOUS.EQ.0)NBSOUS=1 839 : 840 : DO 1533 L=1,NBSOUS 841 : IPT1=MELEME 842 : IF(NBSOUS.NE.1)IPT1=LISOUS(L) 843 : SEGACT IPT1 844 : NP=IPT1.NUM(/1) 845 : NBEL=IPT1.NUM(/2) 846 : DO 2 N=1,NINKO 847 : IPMS=LIZAFS(L,N) 848 : SEGACT IPMS 849 : DO 12 K=1,NBEL 850 : DO 13 J=1,NP 851 : UU=0.D0 852 : IU=IPADS.LECT(IPT1.NUM(J,K)) 853 : DO 14 I=1,NP 854 : IK=IPADI.LECT(IPT1.NUM(I,K)) 855 : UU=UU+IPMS.AM(K,I,J)*IZTU1.VPOCHA(IK,N) 856 : 14 CONTINUE 857 : MPOVA1.VPOCHA(IU,N)=MPOVA1.VPOCHA(IU,N)+UU 858 : 13 CONTINUE 859 : 12 CONTINUE 860 : 861 : 2 CONTINUE 862 : 863 : 1533 CONTINUE 864 : ENDIF 865 : 866 : SEGDES IPM1,IPM2,IPM3 867 : IPS=IPS1 868 : SEGSUP IPS1 869 : IF(IPS2.NE.IPS)SEGSUP IPS2 870 : IF(IPS3.NE.IPS)SEGSUP IPS3 871 : SEGDES IZTCO 872 : 873 : IF(KIMPL.EQ.2.OR.KIMPL.EQ.0.OR.IARG.GT.1)THEN 874 : 875 : TYPE=' ' 875 : CALL ACMO(MTAB1,'SMBR',TYPE,MCHPO2) 876 : IF(TYPE.NE.'CHPOINT')THEN 876 : CALL ECMO(MTAB1,'SMBR','CHPOINT',MCHPO1) 877 : ELSE 877 : CALL ECROBJ('CHPOINT',MCHPO2) 877 : CALL ECROBJ('CHPOINT',MCHPO1) 877 : C? CALL OPERAD 877 : CALL PRFUSE 877 : CALL LIROBJ('CHPOINT',MCHPOI,1,IRET) 877 : CALL ECMO(MTAB1,'SMBR','CHPOINT',MCHPOI) 878 : ENDIF 879 : 880 : ENDIF 881 : 882 : SEGDES IMATRI 883 : SEGDES MELEME,MATRIK 884 : IF(IKN.EQ.0)THEN 885 : SEGDES MZNU 886 : ENDIF 886 : CALL ECMO(MTABX,'MATELM','MATRIK',MATRIK) 887 : 888 : C************************************************************************* 889 : ELSE IF(KFORM.EQ.2)THEN 890 : C CAS FORMULATION VF 891 : WRITE(6,*)' FORMULATION VF NON DISPONIBLE ' 892 : C Option %m1:8 incompatible avec les données 893 : MOTERR( 1: 8) = ' EF ' 893 : CALL ERREUR(803) 894 : RETURN 895 : ENDIF 896 : C************************************************************************* 897 : 898 : 899 : 900 : SEGSUP IPADI 901 : IPAS=1 902 : C write(6,*)' FIN NSKE ' 903 : RETURN 904 : 905 : 90 CONTINUE 906 : WRITE(6,*)' Interuption anormale de NSKE' 907 : C Option %m1:8 incompatible avec les données 908 : MOTERR( 1: 8) = ' EF ' 908 : CALL ERREUR(803) 909 : RETURN 910 : 1002 FORMAT(10(1X,1PE11.4)) 911 : END 912 : 913 : 914 : 915 : 916 : 917 : 918 : 919 : 920 : 921 : 922 : 923 : 924 : 925 : 926 : 927 :
© Cast3M 2003 - All rights reserved.
Disclaimer