1 : * G_CALCUL PROCEDUR BP208322 13/12/20 21:15:08 7890 2 : DEBPROC G_CALCUL SUPTAB*'TABLE' INFTAB*'TABLE'; 3 : *|=====================================================================| 4 : *| | 5 : *| OBJECTIF : | 6 : *| ========== | 7 : *| | 8 : *| Cette procedure est appelee par G_THETA. | 9 : *| | 10 : *| | 11 : *| ENTREE : | 12 : *| ======== | 13 : *| | 14 : *| SUPTAB = objet de type TABLE utilise par la procedure G_THETA | 15 : *| INFTAB = objet de type TABLE donnant toute information | 16 : *| complementaire pour le calcul des integrales de contour | 17 : *| | 18 : *| | 19 : *| | 20 : *| | 21 : *|=====================================================================| 22 : flmess = faux ; 23 : 24 : 25 : 26 : *|=====================================================================| 27 : *|======= I. INITIALISATIONS ========================================| 28 : 29 : 30 : ************************************************** 31 : ************* INFORMATIONS GENERALES ************* 32 : ************************************************** 33 : VALPI = 3.14159261626; 34 : &DIME = VALE DIME; &MODE = VALE MODE; 35 : &ELEM = VALE 'ELEM'; MOTAX = MOT 'AXIS' ; 36 : 37 : ************************************************** 38 : *** INFORMATIONS PROVENANT DE LA TABLE INFTAB **** 39 : ************************************************** 40 : MOTTI = INFTAB.'MOTTI'; 41 : MODCOU = INFTAB.'MODCOU'; 42 : TABMOD = INFTAB.'TABMOD'; 43 : NBOBJ = DIME TABMOD; 44 : LINTER = INFTAB.'LINTER'; 45 : ICOQU = INFTAB.'ICOQU'; 46 : IGDER = INFTAB.'IGDER'; 47 : IGDEP = INFTAB.'IGDEP'; 48 : IREPRI = INFTAB.'IREPRI'; 49 : IPAP = INFTAB.'IPAP'; 50 : 51 : ILIN = INFTAB.'ILIN'; 52 : ITHER = INFTAB.'ITHER'; 53 : IPARAL = INFTAB.'IPARAL'; 54 : MATVARI = INFTAB.'MATVARI'; 55 : YOUVARI = INFTAB.'YOUVARI'; 56 : ALFVARI = INFTAB.'ALFVARI'; 57 : IINTE = INFTAB.'IINTE'; 58 : IQUA = INFTAB.'IQUA'; 59 : ELTETA = INFTAB.'ELTETA'; 60 : RIGTOT = INFTAB.'RIGTOT'; 61 : OBJMOD = INFTAB.'OBJMOD'; 62 : MAILMOD = EXTR OBJMOD 'MAILLAGE'; 63 : MODPLA = INFTAB.'MODPLA'; 64 : FOR000 = INFTAB.'FOR000'; 65 : DEP000 = INFTAB.'DEP000'; 66 : CMD000 = INFTAB.'CMD000'; 67 : CMD001 = INFTAB.'CMD001'; 68 : GRA000 = INFTAB.'GRA000'; 69 : * 70 : IPERSO1 = INFTAB.'IPERSO1'; 71 : si(IPERSO1); ESTIM = INFTAB . 'ESTIMATION'; fins; 72 : IXFEM = INFTAB.'IXFEM'; 73 : ITYPEF = INFTAB.'ITYPEF'; 74 : IABC = INFTAB.'IABC'; 75 : &BOUCEXT = INFTAB.'&BOUCEXT'; 76 : &BOUCMIX = INFTAB.'&BOUCMIX'; 77 : INST = INFTAB.'INST'; 78 : FACT1 = INFTAB.'FACT1'; 79 : C_MATE = INFTAB.'C_MATE'; 80 : MAT1 = INFTAB.'MAT1'; 81 : ENERM = INFTAB.'ENERM'; 82 : WVMIS = INFTAB.'WVMIS'; 83 : TALPH1 = INFTAB.'TALPH1'; 84 : TEPINT = INFTAB.'TEPINT'; 85 : TEPABS = INFTAB.'TEPABS'; 86 : PREINT = INFTAB.'PREINT'; 87 : DEPINT = INFTAB.'DEPINT'; 88 : SIGF = INFTAB.'SIGF'; 89 : SIG1 = INFTAB.'SIG1'; 90 : VARF = INFTAB.'VARF'; 91 : *pour la dynamique 92 : VITF = INFTAB.'VITF'; 93 : ACCF = INFTAB.'ACCF'; 94 : *pour le decouplage 95 : MOTMIX = INFTAB.'MOTMIX'; 96 : MOTMIA = INFTAB.'MOTMIA'; 97 : A_PREI = INFTAB.'A_PREI'; 98 : A_DEPI = INFTAB.'A_DEPI'; 99 : A_DEPGR = INFTAB.'A_DEPGR'; 100 : A_SIGF = INFTAB.'A_SIGF'; 101 : * modif sm 102 : DEFINT = INFTAB.'DEFINT'; 103 : IDEFI = INFTAB.'IDEFI'; 104 : * fin modif sm 105 : *debut du cas contact frottant IFROT (btrolle 19/02/2013) 106 : IFROT = INFTAB . 'IFROT' ; 107 : si (IFROT); 108 : OBJCON = INFTAB . 'OBJCON'; 109 : OBJCON2 = INFTAB . 'OBJCON2'; 110 : WDEP = INFTAB . 'WDEP' ; 111 : SIGCON = INFTAB . 'SIGCON'; 112 : B_DEPGR = INFTAB .'B_DEPGR'; 113 : fins; 114 : *fin du cas contact frottant IFROT (btrolle 19/02/2013) 115 : 116 : ************************************************** 117 : *** QUELQUES MOTS POUR SIMPLIFIER L'ECRITURE *** 118 : ************************************************** 119 : MOTU = MOTS 'UX' 'UY'; MOTF = MOTS 'FX' 'FY'; 120 : MU1 = MOT 'UX'; MU2 = MOT 'UY'; MU3 = MOT 'UZ'; 121 : MF1 = MOT 'FX'; MF2 = MOT 'FY'; MF3 = MOT 'FZ'; 122 : MFA1 = MOT 'FAX'; MFA2 = MOT 'FAY'; MFA3 = MOT 'FAZ'; 123 : GR1 = MOT 'UX,X'; GR2 = MOT 'UX,Y'; GR3 = MOT 'UX,Z'; 124 : GR4 = MOT 'UY,X'; GR5 = MOT 'UY,Y'; GR6 = MOT 'UY,Z'; 125 : GR7 = MOT 'UZ,X'; GR8 = MOT 'UZ,Y'; GR9 = MOT 'UZ,Z'; 126 : SM1 = MOT 'SMXX'; SM2 = MOT 'SMYY'; SM3 = MOT 'SMZZ'; 127 : SM4 = MOT 'SMXY'; SM5 = MOT 'SMXZ'; SM6 = MOT 'SMYZ'; 128 : EP1 = MOT 'EPXX'; EP2 = MOT 'EPYY'; EP3 = MOT 'EPZZ'; 129 : EP4 = MOT 'GAXY'; EP5 = MOT 'GAXZ'; EP6 = MOT 'GAYZ'; 130 : SI (EGA MOTAX &MODE) ; 131 : MOTU = MOTS 'UR' 'UZ' ; MOTF = MOTS 'FR' 'FZ' ; 132 : MU1 = MOT 'UR'; MU2 = MOT 'UZ'; MU3 = MOT 'UT'; 133 : MF1 = MOT 'FR'; MF2 = MOT 'FZ'; 134 : GR1 = MOT 'UR,R'; GR2 = MOT 'UR,Z'; GR3 = MOT 'UR,T'; 135 : GR4 = MOT 'UZ,R'; GR5 = MOT 'UZ,Z'; GR6 = MOT 'UZ,T'; 136 : GR7 = MOT 'UT,R'; GR8 = MOT 'UT,Z'; GR9 = MOT 'UT,T'; 137 : SM1 = MOT 'SMRR'; SM2 = MOT 'SMZZ'; SM3 = MOT 'SMTT'; 138 : SM4 = MOT 'SMRZ'; 139 : EP1 = MOT 'EPRR'; EP2 = MOT 'EPZZ'; EP3 = MOT 'EPTT'; 140 : EP4 = MOT 'GARZ'; 141 : FINSI; 142 : SI (&DIME EGA 3) ; 143 : MOTU = MOTS 'UX' 'UY' 'UZ' ; MOTF = MOTS 'FX' 'FY' 'FZ' ; 144 : FINSI; 145 : SI ICOQU; 146 : MOTU = MOTU ET (MOTS RX RY RZ) ; 147 : MOTF = MOTF ET (MOTS MX MY MZ) ; 148 : FINSI; 149 : *BP: PETIT AJOUT DE NOM DE COMPOSANTE DE CHPOINT 150 : SI(EGA IINTE 1); MOCOMP = 'J'; FINSI; 151 : SI(EGA IINTE 2); MOCOMP = 'C*'; FINSI; 152 : SI(EGA IINTE 3); MOCOMP = 'C*'; FINSI; 153 : SI(EGA IINTE 4); MOCOMP = 'DJDA'; FINSI; 154 : SI(EGA IINTE 5); MOCOMP = 'J'; FINSI; 155 : SI(EGA IINTE 99); 156 : SI(EGA MOTMIX 'I' ); MOCOMP = 'K1'; FINSI; 157 : SI(EGA MOTMIX 'II' ); MOCOMP = 'K2'; FINSI; 158 : SI(EGA MOTMIX 'III'); MOCOMP = 'K3'; FINSI; 159 : FINSI; 160 : 161 : ************************************ 162 : *** RIGTOT + BLOCAGES MECANIQUES *** 163 : ************************************ 164 : SI (EGA IINTE 4) ; 165 : SI IPAP; 166 : RIGTOT = RIGTOT ET 167 : (SUPTAB.'SOLUTION_PASAPAS'.'BLOCAGES_MECANIQUES'); 168 : *rem bp: on suppose ceux ci identique a ceux de wtab... 169 : SINON; 170 : RIGTOT = RIGTOT ET SUPTAB.'BLOCAGES_MECANIQUES'; 171 : FINSI; 172 : FINSI; 173 : 174 : ************************************ 175 : ********* Valeurs initiales ******** 176 : ************************************ 177 : S10 = 0.; S20 = 0.; S30 = 0.; S40 = 0.; S50 = 0.; 178 : S60 = 0.; S70 = 0.; S80 = 0.; S90 = 0.; S100 = 0.; 179 : S110 = 0.; S120 = 0.; S130 = 0.; S140 = 0.; S141 = 0.; 180 : S150 = 0.; S160 = 0.; S170 = 0.; S180 = 0.; 181 : S190 = 0.; S200 = 0.; S210 = 0.; S220 = 0.; 182 : 183 : ************************************ 184 : ********** MATERIAU MAT2 *********** 185 : ************************************ 186 : SI (ICOQU ET IQUA); 187 : MAT2 = MAT1; 188 : SINON; 189 : MAT2 = TEXT ' '; 190 : FINSI; 191 : 192 : *************************************************** 193 : ** DECLARATION DES TABLES STOCKANT LES RESULTATS ** 194 : *************************************************** 195 : * SI ((EGA &BOUCEXT 1) ET (EGA &BOUCMIX 1)); 196 : * SI (IPAP ET (NON IREPRI)); 197 : * BP: mauvaise place du test sur IREPRI 198 : si(iperso1); FLCREA = iabc ega 0; 199 : sino; FLCREA = NON IREPRI; 200 : fins; 201 : SI ((EGA &BOUCEXT 1) ET (EGA &BOUCMIX 1) et FLCREA); 202 : SI (IPAP); 203 : si(flmess); mess 'on va creer SUPTAB RESULTATS'; fins; 204 : *** CREATION DE LA TABLE CRIT_DECHA_* 205 : SI (EGA ITYPEF 99); 206 : SUPTAB.'CRIT_DECHA_GLOBAL1' = TABLE ; 207 : SUPTAB.'CRIT_DECHA_LOCAL1' = TABLE ; 208 : SUPTAB.'CRIT_DECHA_GLOBAL2' = TABLE ; 209 : SUPTAB.'CRIT_DECHA_GLOBAL2_L' = TABLE ; 210 : SUPTAB.'CRIT_DECHA_LOCAL2' = TABLE ; 211 : FINSI; 212 : *** CREATION DE LA TABLE RESULTATS EN 2D 213 : SI (EGA &DIME 2); 214 : SI (EGA IINTE 99); 215 : SUPTAB.'RESULTATS' = TABLE; 216 : SUPTAB.'RESULTATS'.'I' = TABLE; 217 : SUPTAB.'RESULTATS'.'II' = TABLE; 218 : SUPTAB.'EVOLUTION_RESULTATS' = TABLE; 219 : SINON; 220 : SUPTAB.'RESULTATS' = TABLE; 221 : FINSI; 222 : FINSI; 223 : *** CREATION DE LA TABLE RESULTATS EN 3D 224 : SI (EGA &DIME 3) ; 225 : SI (EGA IINTE 99); 226 : SUPTAB.'RESULTATS' = TABLE; 227 : SUPTAB.'RESULTATS'.'I' = TABLE; 228 : SUPTAB.'RESULTATS'.'II' = TABLE; 229 : SUPTAB.'RESULTATS'.'III' = TABLE; 230 : SUPTAB.'EVOLUTION_RESULTATS' = TABLE; 231 : SUPTAB.'EVOLUTION_RESULTATS'.'I' = TABLE; 232 : SUPTAB.'EVOLUTION_RESULTATS'.'II' = TABLE; 233 : SUPTAB.'EVOLUTION_RESULTATS'.'III' = TABLE; 234 : SINON; 235 : SUPTAB.'RESULTATS' = TABLE; 236 : SUPTAB.'EVOLUTION_RESULTATS' = TABLE; 237 : FINSI; 238 : FINSI; 239 : *** CREATION DE LA TABLE EPAISSEUR_RESULTATS EN COQUE 240 : SI ICOQU; 241 : SI (EGA IINTE 99); 242 : SUPTAB.'EPAISSEUR_RESULTATS' = TABLE; 243 : SUPTAB.'EPAISSEUR_RESULTATS'.'I' = TABLE; 244 : SUPTAB.'EPAISSEUR_RESULTATS'.'II' = TABLE; 245 : SUPTAB.'EPAISSEUR_RESULTATS'.'III' = TABLE; 246 : SINON; 247 : SUPTAB.'EPAISSEUR_RESULTATS' = TABLE; 248 : FINSI; 249 : FINSI; 250 : * CAS OU L ON NE VERIFIE PAS (IPAP ET (NON IREPRI)); 251 : SINON; 252 : *** CREATION DE LA TABLE RESULTATS EN 2D 253 : SI (EGA &DIME 2); 254 : SI (EGA IINTE 99); 255 : SUPTAB.'RESULTATS' = TABLE; 256 : FINSI; 257 : FINSI; 258 : *** CREATION DE LA TABLE RESULTATS EN 3D 259 : SI (EGA &DIME 3); 260 : SI (EGA IINTE 99); 261 : SUPTAB.'RESULTATS' = TABLE; 262 : SUPTAB.'RESULTATS'.'I' = TABLE; 263 : SUPTAB.'RESULTATS'.'II' = TABLE; 264 : SUPTAB.'RESULTATS'.'III' = TABLE; 265 : SINON; 266 : SUPTAB.'RESULTATS' = TABLE; 267 : FINSI; 268 : FINSI; 269 : *** CREATION DE LA TABLE EPAISSEUR_RESULTATS EN COQUE 270 : SI ICOQU; 271 : SI (EGA IINTE 99); 272 : SUPTAB.'EPAISSEUR_RESULTATS' = TABLE; 273 : FINSI; 274 : FINSI; 275 : FINSI; 276 : FINSI; 277 : 278 : *POUR LE PAS DE TEMPS IABC 279 : SI (IPAP ET (EGA &DIME 3) ET (EGA &BOUCMIX 1)); 280 : SI (EGA IINTE 99); 281 : SUPTAB.'RESULTATS'.'I'.IABC = TABLE; 282 : SUPTAB.'RESULTATS'.'II'.IABC = TABLE; 283 : SUPTAB.'RESULTATS'.'III'.IABC = TABLE; 284 : SINON; 285 : SUPTAB.'RESULTATS'.IABC = TABLE; 286 : FINSI; 287 : FINSI; 288 : 289 : 290 : 291 : *|=====================================================================| 292 : *|======= II. CRITERES DE DECHARGES =================================| 293 : 294 : 295 : ************************************************************ 296 : ****** CRITERE GLOBAL 1 DE DECHARGE DES CONTRAINTES ******** 297 : ************************************************************ 298 : *** 299 : *** EVALUATION EN ELASTO-PLASTICITE OU THERMO-ELASTO-PLASTICITE 300 : *** PAR COMPARAISON AVEC UN CALCUL EN ELASTICITE NON-LINEAIRE 301 : *** EN PRENANT POUR REFERENCE LES CONTRAINTES DE VON-MISES DU 302 : *** CALCUL RENDU PAR PASAPAS ET LES CONTRAINTES EQUIVALENTES LUES 303 : *** SUR LES COURBES DE TRACTION 304 : *** 305 : OUICRIT = VRAI ; 306 : SI (EXIS SUPTAB 'CALCUL_CRITERE') ; 307 : OUICRIT = SUPTAB.'CALCUL_CRITERE'; 308 : FINSI ; 309 : si(flmess et OUICRIT); 310 : mess 'on va calculer les CRITERES DE DECHARGES, modpla='; 311 : * list modpla; 312 : fins; 313 : 314 : SI ((EGA ITYPEF 99) ET IPAP ET OUICRIT); 315 : 316 : XCRIT = 1. ; 317 : 318 : REPE BCMOD0 NBOBJ; 319 : EXISCRIT = FAUX ; 320 : MODI = TABMOD.&BCMOD0 ; 321 : MATI = REDU MAT1 MODI ; 322 : EPSE1 = EXCO VARF 'EPSE' ; 323 : EPSE1 = EPSE1 CHAN TYPE 'SCALAIRE'; 324 : EPSET = REDU EPSE1 MODI ; 325 : MSQ = 'MASQ' 'SUPERIEUR' EPSET 1.E-6 ; 326 : 327 : *VMIS1 = contraintes de Von-Mises en elastoplastique 328 : VMIS1 = CHAN ('VMIS' MODI (REDU SIGF MODI) MATI) 329 : TYPE 'SCALAIRE'; 330 : 331 : SI ('EXIS' MODPLA &BCMOD0) ; 332 : * TEPABS = TEPINT + TALPH1 ; 333 : YOU = CHAN 'STRESSES' MODI (EXCO MATI 'YOUN') ; 334 : YOU = YOU CHAN TYPE 'SCALAIRE'; 335 : SI (EGA MODPLA.&BCMOD0 1); 336 : *modèle est plastique isotrope. on utilise la 337 : *courbe de traction TABTRA.&BCMOD0 338 : EXISCRIT = VRAI ; 339 : MATA = 'VARI' 'NUAG' MODI ('MATE' MODI 340 : 'TRAC' TABTRA.&BCMOD0) TEPABS ; 341 : EPELAST = EXCO (VMIS1*(YOU**(-1))) 'SCAL' 'EPSE' ; 342 : EPSTOT = EPELAST + EPSET ; 343 : *VMIS2 = contraintes déduites des déformations 344 : *équivalentes par la courbe de traction 345 : VMIS2 = 'VARI' 'NUAG' MODI (EXCO 'TRAC' MATA 'SIGM') 346 : EPSTOT 'STRESSES' 'SCALAIRE'; 347 : FINSI; 348 : 349 : SI (EGA MODPLA.&BCMOD0 2) ; 350 : *modèle est plastique cinematique, cas ou 351 : *SIGY et H sont des évolutions 352 : EXISCRIT = VRAI ; 353 : VMIS22 = CHAN 'STRESSES' MODI (EXCO MATI 'SIGY' 'SCAL') ; 354 : HSCAL = EXCO MATI 'H' 'SCAL'; 355 : HSCAL = HSCAL CHAN TYPE 'SCALAIRE'; 356 : VMIS2 = VMIS22 + ((CHAN 'STRESSES' MODI HSCAL) * EPSET); 357 : FINSI; 358 : 359 : SI (EGA MODPLA.&BCMOD0 3) ; 360 : *modèle est plastique parfait 361 : EXISCRIT = VRAI ; 362 : VMIS2 = CHAN 'STRESSES' MODI ((EXCO MATI 'SIGY' 'SCAL') 363 : CHAN TYPE 'SCALAIRE' ) ; 364 : FINSI; 365 : 366 : SINON; 367 : *** modèle élastoplastique et modèle plastique cinématique 368 : *** avec caractéristiques independantes de la température 369 : 370 : SI (EXIS MATI 'TRAC') ; 371 : *extraction de la courbe de traction du modele MODI 372 : EXISCRIT = VRAI ; 373 : TRACTI = EXTR MATI 'TRAC' 1 1 1 ; 374 : PEPSO = EXTR TRACTI 'ABSC' ; 375 : PSIGM = EXTR TRACTI 'ORDO' ; 376 : TRACTI = 'EVOL' 'MANU' 'EPSE' PEPSO 'SIGM' PSIGM ; 377 : YOU = CHAN 'STRESSES' MODI (EXCO MATI 'YOUN') ; 378 : YOU = YOU CHAN TYPE 'SCALAIRE' ; 379 : EPELAST = EXCO (VMIS1*(YOU**(-1))) 'SCAL' 'EPSE' ; 380 : EPSTOT = EPELAST + EPSET ; 381 : *VMIS2 = contraintes déduites des déformations 382 : *équivalentes par la courbe de traction 383 : VMIS2 = 'VARI' MODI EPSTOT TRACTI 'STRESSES' 'SCALAIRE'; 384 : FINSI; 385 : 386 : SI ((EXIS MATI 'SIGY') ET (EXIS MATI 'H')); 387 : *modèle est plastique cinematique traité ici séparément du cas 388 : *ou SIGY et H sont des évolutions c'est inutile car MAT1 est 389 : *déja instantié en température mais il faudra régler le pb de 390 : *MODPLA dans son ensemble avec ZONE et une identification 391 : *automatique de chacun des sous-modes 392 : EXISCRIT = VRAI ; 393 : VMIS22 = CHAN 'STRESSES' MODI (EXCO MATI 'SIGY' 'SCAL'); 394 : VMIS22 = VMIS22 CHAN TYPE 'SACALAIRE'; 395 : HSCAL = EXCO MATI 'H' 'SCAL'; 396 : HSCAL = HSCAL CHAN TYPE 'SCALAIRE'; 397 : VMIS2 = VMIS22 + ((CHAN 'STRESSES' MODI HSCAL) * EPSET); 398 : FINSI; 399 : SI ((EXIS MATI 'SIGY') ET (NON (EXIS MATI 'H'))); 400 : *modèle est plastique parfait 401 : EXISCRIT = VRAI ; 402 : VMIS2 = CHAN 'STRESSES' MODI (EXCO MATI 'SIGY' 'SCAL'); 403 : VMIS2 = VMIS2 CHAN TYPE 'SACALAIRE'; 404 : FINSI; 405 : 406 : FINSI; 407 : 408 : SI EXISCRIT ; 409 : VMIS1P = VMIS1 * MSQ ; 410 : VMIS1S = INTG MODI VMIS1P ; 411 : VMIS2P = VMIS2 * MSQ ; 412 : VMIS2S = INTG MODI VMIS2P ; 413 : SI ('NEG' VMIS1S 0.) ; 414 : XCRIT = XCRIT + ((VMIS2S/VMIS1S) - 1.) ; 415 : FINSI ; 416 : FINSI ; 417 : 418 : FIN BCMOD0; 419 : 420 : SUPTAB.'CRIT_DECHA_GLOBAL1'.IABC = XCRIT ; 421 : 422 : FINSI; 423 : 424 : 425 : ********************************************************* 426 : ****** CRITERE LOCAL 1 DE DECHARGE DES CONTRAINTES ****** 427 : ********************************************************* 428 : *** 429 : *** 430 : *** 431 : *** 432 : *** 433 : 434 : SI ((EGA ITYPEF 99) ET IPAP ET (IABC > 0) ET OUICRIT); 435 : si(flmess); mess 'CRITERE LOCAL 1'; fins; 436 : EXISCRIT = FAUX ; 437 : VMITOTF = ZERO OBJMOD STRESSES ; 438 : VMITOT1 = ZERO OBJMOD STRESSES ; 439 : *initialisation 440 : 441 : REPE BCMOD0 NBOBJ; 442 : 443 : MODI = TABMOD.&BCMOD0 ; 444 : MATI = REDU MAT1 MODI ; 445 : EPSE1 = EXCO VARF 'EPSE' ; 446 : EPSE1 = EPSE1 CHAN TYPE 'SCALAIRE'; 447 : EPSET = REDU EPSE1 MODI ; 448 : MSQ = 'MASQ' 'SUPERIEUR' EPSET 1.E-6 ; 449 : 450 : SI ('EXIS' MODPLA &BCMOD0) ; 451 : INST1 = SUPTAB.'SOLUTION_PASAPAS'.'TEMPS'.(IABC-1) ; 452 : TEPIN1 = 'TIRE' CHAR1 INST1 'T' ; 453 : TEPIN1 = REDU TEPIN1 ELTETA ; 454 : TEPIN1 = TEPIN1 - TALPH1 ; 455 : TEPABS = TEPINT + TALPH1 ; 456 : TEPAB1 = TEPIN1 + TALPH1 ; 457 : *TEPAB1 : temperature absolue au pas precedent 458 : 459 : *modele plastique isotrope 460 : SI (EGA MODPLA.&BCMOD0 1) ; 461 : MATA = 'VARI' 'NUAG' MODI ('MATE' MODI 462 : 'TRAC' TABTRA.&BCMOD0) TEPABS ; 463 : VMISF = CHAN ('VMIS' MODI SIGF MATA) TYPE 'SCALAIRE' ; 464 : *VMISF : contrainte de Von Mises au pas courant 465 : MATA1 = 'VARI' 'NUAG' MODI ('MATE' MODI 466 : 'TRAC' TABTRA.&BCMOD0) TEPAB1 ; 467 : VMIS1 = CHAN ('VMIS' MODI SIG1 MATA1) TYPE 'SCALAIRE' ; 468 : *VMIS1 : contrainte de Von Mises au pas precedent 469 : FINSI; 470 : 471 : *modele plastique cinematique ou plastique parfait 472 : SI ((EGA MODPLA.&BCMOD0 2) OU 473 : (EGA MODPLA.&BCMOD0 3)) ; 474 : VMISF = CHAN ('VMIS' MODI SIGF MATI) TYPE 'SCALAIRE'; 475 : VMIS1 = CHAN ('VMIS' MODI SIG1 MATI) TYPE 'SCALAIRE'; 476 : FINSI; 477 : 478 : *pour ces 3 modeles 479 : SI ((EGA MODPLA.&BCMOD0 1) OU 480 : (EGA MODPLA.&BCMOD0 2) OU 481 : (EGA MODPLA.&BCMOD0 3)) ; 482 : EXISCRIT = VRAI ; 483 : VMISFP = VMISF * MSQ ; 484 : VMIS1P = VMIS1 * MSQ ; 485 : *VMISFP : contrainte de Von Mises aux points d'integration plastifies 486 : ** au pas courant 487 : *VMIS1P : contrainte de Von Mises aux points d'integration plastifies 488 : ** au pas precedent 489 : *on considere la plastification lorsque EPSET > 1E-6 490 : VMISF1P = VMISFP - VMIS1P ; 491 : *VMISFP : difference entre la contrainte equivalente au temps de 492 : *calcul t et celle au temps precedent (t-1) 493 : VMITOTF = VMITOTF + VMISFP ; 494 : VMITOT1 = VMITOT1 + VMISF1P ; 495 : FINSI; 496 : 497 : SINON; 498 : 499 : SI ('EXIS' MATI 'TRAC') ; 500 : *modele elastoplastique avec 501 : **caracteristiques independantes de la temperature 502 : VMISF = CHAN ('VMIS' MODI (REDU SIGF MODI) MATI) 503 : TYPE 'SCALAIRE'; 504 : VMIS1 = CHAN ('VMIS' MODI (REDU SIG1 MODI) MATI) 505 : TYPE 'SCALAIRE'; 506 : FINSI; 507 : SI (EXIS MATI 'SIGY') ; 508 : *modele plastique cinematique et plastique parfait avec 509 : **caracteristiques independantes de la temperature 510 : VMISF = CHAN ('VMIS' MODI SIGF MATI) 511 : TYPE 'SCALAIRE'; 512 : VMIS1 = CHAN ('VMIS' MODI SIG1 MATI) 513 : TYPE 'SCALAIRE'; 514 : FINSI; 515 : 516 : SI (('EXIS' MATI 'TRAC') OU (EXIS MATI 'SIGY')) ; 517 : EXISCRIT = VRAI ; 518 : VMISFP = VMISF * MSQ ; 519 : VMIS1P = VMIS1 * MSQ ; 520 : VMISF1P = VMISFP - VMIS1P ; 521 : VMITOTF = VMITOTF + VMISFP ; 522 : VMITOT1 = VMITOT1 + VMISF1P ; 523 : FINSI ; 524 : FINSI ; 525 : 526 : FIN BCMOD0 ; 527 : 528 : SI EXISCRIT ; 529 : * MSQO = (CHAN 'CHPO' OBJMOD (VMITOT1*((VMITOTF)**(-1)))) 530 : * 'MASQ' 'INFERIEUR' 0. ; 531 : * SUPTAB.'CRIT_DECHA_LOCAL1'.IABC = 532 : * (CHAN 'CHPO' OBJMOD ((VMITOT1*((VMITOTF)**(-1)))) * MSQO) ; 533 : * #MC 04/11/98 : pour le MASQ, un produit suffit (pas de risque de /0) 534 : MSQO = (CHAN 'CHPO' OBJMOD (VMITOT1*VMITOTF)) 535 : 'MASQ' 'INFERIEUR' 0. ; 536 : * #MC 04/11/98 : ou il y a des 0, on met 1.E-10 537 : SUPTAB.'CRIT_DECHA_LOCAL1'.IABC = 538 : (CHAN 'CHPO' OBJMOD ((VMITOT1*(( 539 : VMITOTF+(1.E-10*(VMITOTF 'MASQ' 'EGAL' 0.)) 540 : )**(-1)))) * MSQO) ; 541 : *lorsque la valeur du critere est positive, c'est-a-dire qu'il n'y a 542 : **pas de decharge, celle-ci est ramenee a zero 543 : FINSI; 544 : 545 : FINSI; 546 : 547 : 548 : ************************************************************ 549 : ****** CRITERE GLOBAL 2 DE DECHARGE DES CONTRAINTES ******** 550 : ************************************************************ 551 : *** 552 : *** 553 : *** 554 : 555 : SI ((EGA ITYPEF 99) ET IPAP ET (NON IREPRI) ET OUICRIT); 556 : 557 : si(flmess); mess 'CRITERE GLOBAL 2'; fins; 558 : 559 : SI ('EXIS' SUPTAB.'SOLUTION_PASAPAS' 'DEFORMATIONS_INELASTIQUES'); 560 : si (IPERSO1); EPPLASF = ESTIM . 'DEFORMATIONS_INELASTIQUES'; 561 : sino; EPPLASF = SUPTAB . 'SOLUTION_PASAPAS' . 562 : 'DEFORMATIONS_INELASTIQUES' . IABC; 563 : finsi; 564 : 565 : XCRIT = 1. ; 566 : PRO1 = 0. ; 567 : PRO2 = 0. ; 568 : CRITLOCA = MANU 'CHPO' (EXTR OBJMOD 'MAIL') 1 'SCAL' 1. ; 569 : NUMERA = ZERO OBJMOD STRESSES ; 570 : DENOMI = ZERO OBJMOD STRESSES ; 571 : 572 : *initialisation 573 : *glob2 n'est pas calcule si reprise car on ne connait pas i-1 574 : 575 : VMISF = CHAN ('VMIS' OBJMOD SIGF MAT1) TYPE 'SCALAIRE'; 576 : *VMISF : contrainte de Von Mises au pas courant 577 : SI ('EXIS' SUPTAB VMISMAX); 578 : MQSIG = 'MASQ' 'SUPERIEUR' 0. ((SUPTAB.VMISMAX) - VMISF) ; 579 : VMISF = VMISF + (MQSIG * ((SUPTAB.VMISMAX) - VMISF)) ; 580 : FINSI; 581 : SUPTAB.VMISMAX = VMISF ; 582 : 583 : REPE BCMOD0 NBOBJ ; 584 : EXISCRIT = FAUX ; 585 : MODI = TABMOD.&BCMOD0 ; 586 : MATI = REDU MAT1 MODI ; 587 : EPSEI = REDU (EXCO VARF 'EPSE') MODI ; 588 : EPSEI = EPSEI CHAN TYPE 'SCALAIRE'; 589 : * EPPLASI = (SUPTAB.'SOLUTION_PASAPAS'. 590 : * 'DEFORMATIONS_INELASTIQUES'.IABC) REDU MODI ; 591 : EPPLASI = REDU EPPLASF MODI ; 592 : VMISFI = REDU VMISF MODI ; 593 : SIGFI = REDU SIGF MODI ; 594 : 595 : YOU = CHAN 'STRESSES' MODI (EXCO MATI 'YOUN') ; 596 : YOU = YOU CHAN TYPE 'SCALAIRE'; 597 : SI ('EXIS' MODPLA &BCMOD0) ; 598 : 599 : SI ((EGA MODPLA.&BCMOD0 1) OU 600 : (EGA MODPLA.&BCMOD0 2) OU 601 : (EGA MODPLA.&BCMOD0 3)) ; 602 : *modele plastique isotrope 603 : *modele plastique cinematique 604 : *modele plastique parfait 605 : EXISCRIT = VRAI ; 606 : 607 : lm_dein = EXTR epplasi 'COMP' ; 608 : lm_defo = EXTR modi 'DEFO' ; 609 : ep_u = nomc lm_dein lm_defo epplasi ; 610 : ep_u = changer ep_u type deformations ; 611 : * PRO1 = PRO1 + (INTG MODI (ENER MODI SIGFI EPPLASI)); 612 : PRO1 = PRO1 + (INTG MODI (ENER MODI SIGFI ep_u)); 613 : PRO2 = PRO2 + (INTG MODI (VMISFI * EPSEI)) ; 614 : 615 : FINSI; 616 : 617 : SINON; 618 : 619 : SI (('EXIS' MATI 'TRAC') OU (EXIS MATI 'SIGY')); 620 : *modele elastoplastique et 621 : *modele plastique cinematique et plastique parfait 622 : ** avec caracteristiques independantes de la temperature 623 : EXISCRIT = VRAI ; 624 : 625 : lm_dein = EXTR epplasi 'COMP' ; 626 : lm_defo = EXTR modi 'DEFO' ; 627 : ep_u = 'NOMC' lm_dein lm_defo epplasi ; 628 : ep_u = ep_u changer type deformations ; 629 : * PRO1 = PRO1 + (INTG MODI (ENER MODI SIGFI EPPLASI)); 630 : PRO1 = PRO1 + (INTG MODI (ENER MODI SIGFI ep_u)); 631 : PRO2 = PRO2 + (INTG MODI (VMISFI * EPSEI)) ; 632 : 633 : * NUMERA = NUMERA + (ENER MODI SIGFI EPPLASI) ; 634 : NUMERA = NUMERA + (ENER MODI SIGFI ep_u) ; 635 : DENOMI = DENOMI + (VMISFI * EPSEI) ; 636 : 637 : FINSI; 638 : 639 : FINSI ; 640 : 641 : SI (EXISCRIT ET (PRO2 'NEG' 0.)) ; 642 : XCRIT = XCRIT + (1. - (PRO1/PRO2)) ; 643 : CRITLOCA = CRITLOCA + (1. - 644 : (CHAN 'CHPO' OBJMOD (NUMERA*((DENOMI)**(-1.))))) ; 645 : FINSI; 646 : 647 : FIN BCMOD0 ; 648 : 649 : * Le maxi sert a corriger le probleme castem sur les EPSE 650 : * (ENER MODI SIGFI EPPLASI) n est pas toujours egal à 651 : * (VMISFI * EPSEI) lorsque le chargement est proportionnel 652 : * A supprimer quand le pb sera resolu 653 : SUPTAB.'CRIT_DECHA_GLOBAL2'.IABC = 654 : 'MAXI' (prog 0.99999 XCRIT) ; 655 : SUPTAB.'CRIT_DECHA_GLOBAL2_L'.IABC = CRITLOCA ; 656 : 657 : *mess 'PRO1' , PRO1 , 'PRO2' , PRO2 , 'XCRIT' , XCRIT ; 658 : 659 : FINSI; 660 : FINSI; 661 : 662 : 663 : ********************************************************* 664 : ****** CRITERE LOCAL 2 DE DECHARGE DES CONTRAINTES ****** 665 : ********************************************************* 666 : *** 667 : *** 668 : *** 669 : *** 670 : 671 : SI ((EGA ITYPEF 99) ET IPAP ET (IABC > 0) ET OUICRIT); 672 : si(flmess); mess 'CRITERE local 2'; fins; 673 : 674 : *initialisation 675 : EXISCRIT = FAUX ; 676 : CRIT0 = 'ZERO' OBJMOD STRESSES ; 677 : 678 : REPE BCMOD0 NBOBJ; 679 : MODI = TABMOD.&BCMOD0 ; 680 : MATI = REDU MAT1 MODI ; 681 : EPSE1 = EXCO VARF 'EPSE' ; 682 : EPSE1 = EPSE1 CHAN TYPE 'SCALAIRE'; 683 : EPSET = REDU EPSE1 MODI ; 684 : 685 : SI (('EXIS' MODPLA &BCMOD0) OU ('EXIS' MATI 'TRAC') 686 : OU ('EXIS' MATI 'SIGY')); 687 : MAT_z = 'MANU' 'CHML' MODI 'YOUN' 1. 'NU' 0. 'EPAI' 1. 688 : TYPE 'CARACTERISTIQUES' 'RIGIDITE' ; 689 : EXISCRIT = VRAI ; 690 : DSIG = ELAS MODI (SIGF - SIG1) MAT_z ; 691 : INV1 = ENER MODI (REDU SIGF MODI) (REDU DSIG MODI) ; 692 : SIGFTRA = ENER MODI (REDU SIGF MODI) 693 : (REDU (ELAS MODI SIGF MAT_z) MODI) ; 694 : DSIGTRA = ENER MODI (REDU DSIG MODI) 695 : (ELAS MODI DSIG MAT_z) ; 696 : NOR1 = SIGFTRA**(1./2) ; 697 : DNOR = DSIGTRA**(1./2) ; 698 : DENO = NOR1 * DNOR ; 699 : CRIT0 = CRIT0 + (INV1 * (DENO**(-1))) ; 700 : 701 : FINSI ; 702 : 703 : FIN BCMOD0 ; 704 : 705 : SI EXISCRIT ; 706 : SUPTAB.'CRIT_DECHA_LOCAL2'.IABC = CHAN 'CHPO' OBJMOD CRIT0 ; 707 : FINSI; 708 : 709 : 710 : FINSI; 711 : 712 : 713 : 714 : *|=====================================================================| 715 : *|======= III. TRAITEMENT DES CHAMPS MECANIQUES =====================| 716 : si(flmess); mess 'TRAITEMENT DES CHAMPS MECANIQUES'; fins; 717 : 718 : **************************************************** 719 : * ON CHANGE LA TEMPERATURE EN MCHAML AU NOEUD =TEPINT 720 : **************************************************** 721 : SI (EGA (TYPE TEPINT) 'CHPOINT '); 722 : TEPINT = REDU TEPINT ELTETA ; 723 : TEPINT = CHAN 'CHAM' TEPINT OBJMOD 'NOEUD' 'TEMPERATURES'; 724 : * FINSI; 725 : * SI (EGA (TYPE TEPINT) 'MCHAML '); 726 : SINON; 727 : SI (EGA (TYPE TEPINT) 'MCHAML '); 728 : TEPINT = REDU TEPINT OBJMOD ; 729 : TEPINT = CHAN 'NOEUD' OBJMOD TEPINT; 730 : FINSI; 731 : FINSI; 732 : 733 : *************************************************** 734 : ***** GRADIENT DU DEPLACEMENT DEPINT =GRADEP ****** 735 : *************************************************** 736 : GRADEP = GRAD OBJMOD MAT1 DEPINT ; 737 : GRADEF = TEXT ' ' ; 738 : SI (ICOQU ET ILIN); 739 : GRADEF = 'GRAF' OBJMOD MAT1 DEPINT; 740 : FINSI; 741 : 742 : *************************************************** 743 : ***** CAS DU CONTACT FROTTANT : ON CALCULE WSAUTGR = GRADIENT DU SAUT ****** 744 : *************************************************** 745 : SI (IFROT); 746 : * WDEP = deplacement de la fissure de composante UX ... AX ... 747 : * [grad(w)] = grad [w] car linearité (le saut [w] est donné par AX ...) 748 : * on utilise un modele liée a la geo de la fissure (cohesif ou contact) 749 : WSAUTGR = GRAD OBJCON WDEP ; 750 : * SIGCON = sigma*n de composantes SMX... homogene a une contrainte 751 : * supporté sur la levre superieure 752 : SI (NEG (TYPE SIGCON) 'MCHAML '); 753 : SIGCON = REDU SIGCON (extr OBJCON2 'MAILLAGE'); 754 : SIGCON = CHAN 'CHAM' SIGCON OBJCON2 'STRESSES' 'CONTRAINTES'; 755 : FINS; 756 : * Vsigcon = 'VECTEUR' sigcon objcon (1E-8) ('MOTS' 'SMX' 'SMY' 'SMZ'); 757 : * 'TRACER' vsigcon ('EXTRAIRE' objcon 'MAIL'); 758 : SIGXN = (CHAN (exco SIGCON 'SMX' 'SCAL') TYPE 'SCALAIRE'); 759 : SIGYN = (CHAN (exco SIGCON 'SMY' 'SCAL') TYPE 'SCALAIRE'); 760 : si (ega &DIME 3); 761 : SIGZN = (CHAN (exco SIGCON 'SMZ' 'SCAL') TYPE 'SCALAIRE'); 762 : fins; 763 : FINSI; 764 : 765 : *************************************************** 766 : ***** GRADIENT DE LA VITESSE VITF =GRAVIT ****** 767 : *************************************************** 768 : SI (EGA IINTE 5); 769 : GRAVIT = GRAD OBJMOD MAT1 VITF; 770 : VITF = CHAN 'CHAM' OBJMOD VITF 'STRESSES'; 771 : ACCF = CHAN 'CHAM' OBJMOD ACCF 'STRESSES'; 772 : FINSI; 773 : 774 : *************************************************** 775 : ** GRADIENT TEMPERATURE Grad T pour tous elements =TEPEGR 776 : ** et Grad Grad T pour les elements massifs seuls (si DJ/DA) =DEPDTGR 777 : *************************************************** 778 : SI ITHER; 779 : SI (NON ICOQU); 780 : TEPEGR = GRAD OBJMOD MAT1 (((EXCO 'T' TEPINT MU1) 781 : CHAN TYPE 'SCALAIRE') + CMD000); 782 : SI (EGA IINTE 4); 783 : DEPDT = ((EXCO GR1 TEPEGR MU1) + (EXCO GR2 TEPEGR MU2)) 784 : CHAN TYPE 'SCALAIRE' ; 785 : SI (&DIME EGA 3); 786 : DEPDT=DEPDT + ((EXCO GR3 TEPEGR MU3) CHAN TYPE 'SCALAIRE'); 787 : FINSI; 788 : DEPDTGR = GRAD OBJMOD MAT1 (CHAN TYPE 789 : (CHAN 'NOEUD' OBJMOD DEPDT) 'DEPLACEMENTS'); 790 : * DEPDTGR = GRAD OBJMOD MAT1 (CHAN 'CHPO' OBJMOD DEPDT); 791 : FINSI; 792 : SINON; 793 : TEPEGR = GRAD OBJMOD MAT1 ((((EXCO 'TINF' TEPINT MU1) 794 : CHAN TYPE 'SCALAIRE') ET 795 : ((EXCO 'T ' TEPINT MU2)CHAN TYPE 'SCALAIRE') ET 796 : ((EXCO 'TSUP' TEPINT MU3)CHAN TYPE 'SCALAIRE')) 797 : + CMD000); 798 : FINSI; 799 : FINSI; 800 : 801 : *************************************************** 802 : **GRADIENT DE PRESSIONS Grad P (si DJ/DA) =PRESGR 803 : *************************************************** 804 : SI (EGA IINTE 4); 805 : SI ('>' (XTX PREINT) 1.E-10); 806 : M1 = EXTR OBJMOD 'FORC'; 807 : M2 = EXTR OBJMOD 'DEPL'; 808 : REPE B1 (DIME M1); 809 : F1 = DEP000 + (EXCO (EXTR M1 &B1) PREINT (EXTR M2 &B1)); 810 : FIN B1; 811 : PRESGR = GRAD OBJMOD MAT1 F1; 812 : FINSI; 813 : FINSI; 814 : 815 : *************************************************** 816 : * PROFIL DE L'ENERGIE DANS L'EPAISSEUR DE LA COQUE 817 : *************************************************** 818 : SI ICOQU; 819 : PEX1 = PROG; PEN1 = PROG; 820 : REPE NBJ7 (DIME MODCOU); 821 : MCOU1 = MODCOU.&NBJ7; 822 : EX1 = EXTR (REDU MCOU1 MAT1) 'EXCE' 1 1 1; 823 : E1 = EXTR (REDU MCOU1 MAT1) 'EPAI' 1 1 1; 824 : SI ('<' (E1 / EPAITO) 1.E-4); 825 : ENR1 = EXTR (REDU MCOU1 ENERM) 'SCAL' 1 1 1; 826 : PEX1 = PEX1 ET ('PROG' EX1); 827 : PEN1 = PEN1 ET ('PROG' ENR1); 828 : FINSI; 829 : FIN NBJ7; 830 : M1 = MOT ' DANS L EPAISSEUR DE LA COQUE A T ='; 831 : 'TITR' ('CHAI' 'INTEGRALE ' MOTTI M1 INST); 832 : EVENR = 'EVOL' 'MANU' 'COOR.Z LOCAL' PEX1 MOTTI PEN1; 833 : SOM1 = EXTR 1 ('SOMM' EVENR); 834 : SI (EGA SOM1 0.); 835 : SOM1 = SOM1 + 1.E-10; 836 : FINSI; 837 : EVENR = EVENR * EPAITO / SOM1; 838 : NN = DIME (EXTR EVENR 'ORDO' 1); 839 : V_SUPE = EXTR NN (EXTR EVENR 'ORDO' 1); 840 : V_MOYE = EXTR ((NN - 1) / 2) (EXTR EVENR 'ORDO' 1); 841 : V_INFE = EXTR 1 (EXTR EVENR 'ORDO' 1); 842 : FINSI; 843 : 844 : **************************************************** 845 : * RECUPERATION DU NOMBRE DE POINT A AVANCER =NBOU 846 : **************************************************** 847 : SI ((EGA &DIME 2) OU ICOQU); 848 : NBOU = 1; 849 : FINSI; 850 : SI ((EGA &DIME 3) ET (NON ICOQU)); 851 : TTETA*'TABLE' = SUPTAB.'CHAMP_THETA'; 852 : SI (EGA IINTE 4); 853 : TPI*'TABLE' = SUPTAB.'CHAMP_PI'; 854 : FINSI; 855 : INT = INDE TTETA; 856 : SI (EXIS SUPTAB 'NOEUDS_AVANCES'); 857 : SI (EGA (TYPE (SUPTAB.'NOEUDS_AVANCES')) 'MAILLAGE'); 858 : PMA = CHAN 'POI1' (SUPTAB.'NOEUDS_AVANCES'); 859 : NBOU = ('NBNO' PMA) + 1; 860 : SINON; 861 : A = SUPTAB.'NOEUDS_AVANCES'; NBOU = 2; 862 : FINSI; 863 : SINON; 864 : NBOU = DIME TTETA; 865 : FINSI; 866 : FINSI; 867 : 868 : 869 : 870 : *|=====================================================================| 871 : *|======= BOUCLE SUR LES NOEUDS A AVANCER VIRTUELLEMENT =============> 872 : REPE BCNOEU NBOU; 873 : 874 : ************************************************** 875 : * RECUP DU CHAMP TETA ASSOCIE AU NOEUD PM DE NUMERO NUNOE 876 : * ET DU CHAMP PI (SI DJ/DA) 877 : ************************************************** 878 : SI ((EGA &DIME 3) ET (NON ICOQU)); 879 : SI (&BCNOEU EGA NBOU); 880 : PM = MOT 'GLOBAL'; 881 : NUNOE = 'CHAI' ' ' PM ' '; 882 : SINON; 883 : PM = INT.&BCNOEU; 884 : SI (EXIS SUPTAB 'NOEUDS_AVANCES'); 885 : SI (EGA (TYPE (SUPTAB.'NOEUDS_AVANCES')) 'MAILLAGE'); 886 : PM = POIN PMA &BCNOEU; 887 : SINON; 888 : PM = SUPTAB.'NOEUDS_AVANCES'; 889 : FINSI; 890 : FINSI; 891 : si(ega (type PM) 'POINT'); 892 : NUNOE = NOEU PM; 893 : sino; 894 : NUNOE = &BCNOEU; 895 : fins; 896 : FINSI; 897 : TETA = TTETA.PM; 898 : SI (EGA IINTE 4); PI = TPI.PM; FINSI; 899 : FINSI; 900 : SI ((EGA &DIME 2) OU ICOQU); 901 : PM = SUPTAB.'FRONT_FISSURE'; 902 : TETA = SUPTAB.'CHAMP_THETA'; 903 : SI (EGA IINTE 4); 904 : PI = SUPTAB.'CHAMP_PI'; 905 : FINSI; 906 : FINSI; 907 : 908 : * si(&BOUCMIX ega 1); 909 : * vq7 = VECT TETA 'DEPL' 'BLEU' ; 910 : * MESHFR1=SUPTAB.'FRONT_FISSURE';MESHFR11 = chan MESHFR1 'POI1'; 911 : * * trac vq7 (MAILMOD et MESHFR1 et MESHFR11) 'TITR' 'CHAMP_THETA'; 912 : * trac vq7 ((aret MAILMOD) et MESHFR1 et MESHFR11) 'TITR' 'CHAMP_THETA'; 913 : * fins; 914 : 915 : 916 : ************************************************** 917 : * GRADIENT, DIVERGENCE DU CHAMP TETA =TETAGR, DIVTETA 918 : * CHAMELEM TETA =(TETX,TETY,TETZ) 919 : ************************************************** 920 : TETA = TETA + DEP000; 921 : TETAGR = GRAD OBJMOD MAT1 TETA; 922 : DIVTETA = (EXCO GR1 TETAGR 'SCAL') + 923 : (EXCO GR5 TETAGR 'SCAL') + 924 : (EXCO GR9 TETAGR 'SCAL'); 925 : DIVTETA= DIVTETA CHAN TYPE 'SCALAIRE'; 926 : *btrolle 2013 : ajout de TETAX, TETAY et TETAZ 927 : TETAX= CHAN 'CHAM' OBJMOD (EXCO MU1 TETA 'SCAL') 'SCALAIRE'; 928 : TETAY= CHAN 'CHAM' OBJMOD (EXCO MU2 TETA 'SCAL') 'SCALAIRE'; 929 : TETX = CHAN 'CHAM' OBJMOD (EXCO MU1 TETA 'SCAL') 'STRESSES'; 930 : TETY = CHAN 'CHAM' OBJMOD (EXCO MU2 TETA 'SCAL') 'STRESSES'; 931 : TETX = TETX CHAN TYPE'SCALAIRE'; 932 : TETY = TETY CHAN TYPE'SCALAIRE'; 933 : SI (&DIME EGA 3) ; 934 : TETAZ= CHAN 'CHAM' OBJMOD (EXCO MU3 TETA 'SCAL') 'SCALAIRE'; 935 : TETZ = CHAN 'CHAM' OBJMOD (EXCO MU3 TETA 'SCAL') 'STRESSES'; 936 : TETZ = TETZ CHAN TYPE'SCALAIRE'; 937 : FINSI; 938 : 939 : ************************************************** 940 : * GRADIENT, DIVERGENCE DU CHAMP PI =PIGR, DIVPI 941 : * CHAMELEM PI =(PIX,PIY,PIZ) 942 : * ... 943 : ************************************************** 944 : SI (EGA IINTE 4); 945 : NORM1 = ((EXCO MU1 PI 'SCAL')**2) + ((EXCO MU2 PI 'SCAL')**2); 946 : SI (EGA &DIME 3); 947 : NORM1 = NORM1 + ((EXCO MU3 PI 'SCAL')**2); 948 : FINSI; 949 : PI = PI + DEP000; 950 : PI = PI / ('MAXI' (NORM1**0.5)); 951 : PIGR = GRAD OBJMOD MAT1 PI; 952 : DIVPI = (EXCO GR1 PIGR 'SCAL') + 953 : (EXCO GR5 PIGR 'SCAL') + 954 : (EXCO GR9 PIGR 'SCAL'); 955 : DIVPI = DIVPI CHAN TYPE 'SCALAIRE'; 956 : PITAGR = (OBJMOD PIGR * TETAGR) ; 957 : DIVPITA = (EXCO GR1 PITAGR 'SCAL') + 958 : (EXCO GR5 PITAGR 'SCAL') + 959 : (EXCO GR9 PITAGR 'SCAL'); 960 : DIVPITA = DIVPITA CHAN TYPE 'SCALAIRE'; 961 : ADJ = (DIVPITA - (DIVPI * DIVTETA)) ; 962 : PIX = CHAN 'CHAM' OBJMOD (EXCO MU1 PI 'SCAL') 'STRESSES'; 963 : PIY = CHAN 'CHAM' OBJMOD (EXCO MU2 PI 'SCAL') 'STRESSES'; 964 : PIX= PIX CHAN TYPE'SCALAIRE'; 965 : PIY= PIY CHAN TYPE'SCALAIRE'; 966 : SI (&DIME EGA 3) ; 967 : PIZ = CHAN 'CHAM' OBJMOD (EXCO MU3 PI 'SCAL') 'STRESSES'; 968 : PIZ= PIZ CHAN TYPE'SCALAIRE'; 969 : FINSI; 970 : FINSI; 971 : 972 : ******************************************************** 973 : * DENSITE DE MATERIAU EN CAS DE CALCUL DE J DYNAMIQUE ** 974 : ******************************************************** 975 : SI (EGA IINTE 5); 976 : RHO1 = REDU (EXCO MAT1 'RHO' 'SCAL') OBJMOD; 977 : RHO1 = (CHAN OBJMOD 'STRESSES' RHO1) CHAN TYPE 'SCALAIRE'; 978 : FINSI; 979 : 980 : ******************************************************** 981 : *********** SI LE MATERIAU N'EST PAS CONSTANT ********** 982 : * YOU1 = YOUGR * TETA = (grad E) * TETA 983 : * SIGPRIM = (grad D)*TETA*(EPSI elas) ou grad D =D(grad E,nu) =DMAT 984 : * ALF1 = ALFGR*TETA = (grad Alpha)*TETA 985 : * DMAT = D(1,nu,ALF1) 986 : ******************************************************** 987 : SI MATVARI; 988 : *** Le coefficient de Poisson est constant *** 989 : * NU1 = REDU (EXCO MAT1 'NU' 'SCAL') OBJMOD; 990 : * NU1 = EXCO NU1 'SCAL' 'NU'; 991 : NU1 = REDU (EXCO MAT1 'NU') OBJMOD; 992 : NU1 = NU1 CHAN TYPE 'SCALAIRE'; 993 : ****** Gradient de Module d'young ****** 994 : SI YOUVARI; 995 : YOU1 = REDU (EXCO MAT1 'YOUN' 'SCAL') OBJMOD; 996 : YOU1 = YOU1 CHAN TYPE 'SCALAIRE'; 997 : YOUGR = GRA000; I = 0; 998 : REPE NBJ2 NBOBJ; 999 : I = I + 1; 1000 : YO1 = CHAN 'STRESSES' TABMOD.I 1001 : (REDU ((EXCO MAT1 'YOUN' MU1) 1002 : CHAN TYPE 'SCALAIRE') TABMOD.I); 1003 : YOUGR = YOUGR + (GRAD TABMOD.I MAT1 (YO1 + 1004 : (REDU CMD001 TABMOD.I))); 1005 : * YO1 = CHAN 'CHPO' TABMOD.I 1006 : * (REDU (EXCO MAT1 'YOUN' 'SCAL') TABMOD.I); 1007 : * YOUGR = YOUGR + (GRAD TABMOD.I MAT1 (('NOMC' MU1 YO1) 1008 : * + (REDU DEP000 (EXTR YO1 'MAIL')))); 1009 : FIN NBJ2; 1010 : YOU1 = (((EXCO GR1 YOUGR 'SCAL')CHAN TYPE 'SCALAIRE') 1011 : *OBJMOD TETX) + 1012 : (((EXCO GR2 YOUGR 'SCAL')CHAN TYPE 'SCALAIRE') 1013 : *OBJMOD TETY); 1014 : SI (&DIME EGA 3); 1015 : YOU1= YOU1 + (((EXCO GR3 YOUGR 'SCAL')CHAN TYPE 'SCALAIRE') 1016 : *OBJMOD TETZ); 1017 : FINSI; 1018 : YOU1 = (EXCO YOU1 'SCAL' 'YOUN') CHAN TYPE 'SCALAIRE' ; 1019 : DMAT = 'MATE' OBJMOD 'YOUN' YOU1 'NU' NU1; 1020 : SIGPRIM = ('HOOK' OBJMOD DMAT)*OBJMOD 1021 : (ELAS OBJMOD SIGF MAT1); 1022 : FINSI; 1023 : ****** Gradient de Coefficient de Dilatation ****** 1024 : SI (ITHER ET ALFVARI); 1025 : ALF1 = REDU (EXCO MAT1 'ALPH' 'SCAL') OBJMOD; 1026 : ALF1 = ALF1 CHAN TYPE 'SCALAIRE'; 1027 : ALFGR = GRA000; I = 0; 1028 : REPE NBJ3 NBOBJ; 1029 : I = I + 1; 1030 : AL1 = CHAN 'STRESSES' TABMOD.I 1031 : (REDU (EXCO MAT1 'ALPH' MU1) TABMOD.I); 1032 : AL1 = AL1 CHAN TYPE 'SCALAIRE'; 1033 : ALFGR = ALFGR + (GRAD TABMOD.I MAT1 (AL1 + 1034 : (REDU CMD001 TABMOD.I))); 1035 : *! AL1 = CHAN 'CHPO' TABMOD.I 1036 : *! (REDU (EXCO MAT1 'ALPH' 'SCAL') TABMOD.I); 1037 : *! ALFGR = ALFGR + (GRAD TABMOD.I MAT1 (('NOMC' MU1 AL1) 1038 : *! + (REDU DEP000 (EXTR AL1 'MAIL')))); 1039 : FIN NBJ3; 1040 : ALF1 = (((EXCO GR1 ALFGR 'SCAL')CHAN TYPE 'SCALAIRE') 1041 : * OBJMOD TETX) + 1042 : (((EXCO GR2 ALFGR 'SCAL')CHAN TYPE 'SCALAIRE') 1043 : * OBJMOD TETY); 1044 : 1045 : SI (&DIME EGA 3) ; 1046 : ALF1=ALF1 + (((EXCO GR3 ALFGR 'SCAL')CHAN TYPE 'SCALAIRE') 1047 : * OBJMOD TETZ); 1048 : FINSI ; 1049 : ALF1 = EXCO ALF1 'SCAL' 'ALPH'; 1050 : ALF1 = ALF1 CHAN TYPE 'SCALAIRE'; 1051 : DMAT = 'MATE' OBJMOD 'YOUN' 1. 'NU' NU1 'ALPH' ALF1; 1052 : FINSI; 1053 : FINSI; 1054 : 1055 : *********************************************** 1056 : * TEMU = (Grad T)*THETA 1057 : * TEMU1 = (Grad T)*PI 1058 : * TEMU2 = (Grad (Grad T))*PI*THETA 1059 : * EPSTU = D^-1 sigma^th 1060 : * avec sigma^th = (-3lambda-2mu)*alpha*(grad T)*TETA*I 1061 : *********************************************** 1062 : SI ITHER; 1063 : SI (NON ICOQU); 1064 : TEMU = (((EXCO GR1 TEPEGR 'SCAL')CHAN TYPE 'SCALAIRE') 1065 : * OBJMOD TETX) + 1066 : (((EXCO GR2 TEPEGR 'SCAL')CHAN TYPE 'SCALAIRE') 1067 : * OBJMOD TETY) ; 1068 : SI (&DIME EGA 3) ; 1069 : TEMU=TEMU +(((EXCO GR3 TEPEGR 'SCAL')CHAN TYPE 'SCALAIRE') 1070 : * OBJMOD TETZ); 1071 : FINSI ; 1072 : TEMU = CHAN TYPE (EXCO 'SCAL' TEMU 'T') 'TEMPERATURES'; 1073 : SINON; 1074 : T1 = (((EXCO GR1 TEPEGR 'SCAL')CHAN TYPE 'SCALAIRE') 1075 : *OBJMOD TETX) + 1076 : (((EXCO GR2 TEPEGR 'SCAL')CHAN TYPE 'SCALAIRE') 1077 : *OBJMOD TETY) + 1078 : (((EXCO GR3 TEPEGR 'SCAL')CHAN TYPE 'SCALAIRE') 1079 : * OBJMOD TETZ) ; 1080 : T2 = (((EXCO GR4 TEPEGR 'SCAL')CHAN TYPE 'SCALAIRE') 1081 : * OBJMOD TETX) + 1082 : (((EXCO GR5 TEPEGR 'SCAL')CHAN TYPE 'SCALAIRE') 1083 : * OBJMOD TETY) + 1084 : (((EXCO GR6 TEPEGR 'SCAL')CHAN TYPE 'SCALAIRE') 1085 : * OBJMOD TETZ) ; 1086 : T3 = (((EXCO GR7 TEPEGR 'SCAL')CHAN TYPE 'SCALAIRE') 1087 : * OBJMOD TETX) + 1088 : (((EXCO GR8 TEPEGR 'SCAL')CHAN TYPE 'SCALAIRE') 1089 : * OBJMOD TETY) + 1090 : (((EXCO GR9 TEPEGR 'SCAL')CHAN TYPE 'SCALAIRE') 1091 : * OBJMOD TETZ) ; 1092 : TEMU = CHAN TYPE ((EXCO 'SCAL' T1 'TINF') ET 1093 : (EXCO 'SCAL' T2 'T ') ET 1094 : (EXCO 'SCAL' T3 'TSUP')) 'TEMPERATURES'; 1095 : FINSI; 1096 : EPSTU = ELAS OBJMOD (THET OBJMOD MAT1 TEMU) MAT1; 1097 : * 1098 : SI (EGA IINTE 4); 1099 : TEMU1 = (((EXCO GR1 TEPEGR 'SCAL')CHAN TYPE 'SCALAIRE') 1100 : * OBJMOD PIX) + 1101 : (((EXCO GR2 TEPEGR 'SCAL')CHAN TYPE 'SCALAIRE') 1102 : * OBJMOD PIY); 1103 : SI (&DIME EGA 3) ; 1104 : TEMU1=TEMU1+(((EXCO GR3 TEPEGR 'SCAL')CHAN TYPE 'SCALAIRE') 1105 : * OBJMOD PIZ); 1106 : FINSI ; 1107 : SI ICOQU; 1108 : TEMU1 = CHAN TYPE ((EXCO 'SCAL' TEMU1 'T') ET 1109 : (EXCO 'SCAL' TEMU1 'TINF') ET 1110 : (EXCO 'SCAL' TEMU1 'TSUP')) 'TEMPERATURES'; 1111 : SINON; 1112 : TEMU1 = CHAN TYPE (EXCO 'SCAL' TEMU1 'T') 'TEMPERATURES'; 1113 : FINSI; 1114 : EPSTU1 = ELAS OBJMOD (THET OBJMOD MAT1 TEMU1) MAT1; 1115 : * 1116 : TXXPIX = ((EXCO GR1 DEPDTGR 'SCAL')CHAN TYPE 'SCALAIRE') 1117 : * OBJMOD PIX; 1118 : TYXPIY = ((EXCO GR2 DEPDTGR 'SCAL')CHAN TYPE 'SCALAIRE') 1119 : * OBJMOD PIY; 1120 : TXYPIX = ((EXCO GR4 DEPDTGR 'SCAL')CHAN TYPE 'SCALAIRE') 1121 : * OBJMOD PIX; 1122 : TYYPIY = ((EXCO GR5 DEPDTGR 'SCAL')CHAN TYPE 'SCALAIRE') 1123 : * OBJMOD PIY; 1124 : TEMU2 = (TETX*OBJMOD (TXXPIX + TYXPIY)) + 1125 : (TETY*OBJMOD (TXYPIX + TYYPIY)); 1126 : SI (&DIME EGA 3) ; 1127 : TEMU1=TEMU1+(((EXCO GR3 TEPEGR 'SCAL')CHAN TYPE 'SCALAIRE') 1128 : * OBJMOD PIZ); 1129 : TZXPIZ=((EXCO GR3 DEPDTGR 'SCAL')CHAN TYPE 'SCALAIRE') 1130 : * OBJMOD PIZ; 1131 : TZYPIZ=((EXCO GR6 DEPDTGR 'SCAL')CHAN TYPE 'SCALAIRE') 1132 : * OBJMOD PIZ; 1133 : TXZPIX=((EXCO GR7 DEPDTGR 'SCAL')CHAN TYPE 'SCALAIRE') 1134 : * OBJMOD PIX; 1135 : TYZPIY=((EXCO GR8 DEPDTGR 'SCAL')CHAN TYPE 'SCALAIRE') 1136 : * OBJMOD PIY; 1137 : TZZPIY=((EXCO GR9 DEPDTGR 'SCAL')CHAN TYPE 'SCALAIRE') 1138 : * OBJMOD PIZ; 1139 : TEMU2= (TETX*OBJMOD (TXXPIX + TYXPIY + TZXPIZ)) + 1140 : (TETY*OBJMOD (TXYPIX + TYYPIY + TZYPIZ)) + 1141 : (TETZ*OBJMOD (TXZPIX + TYZPIY + TZZPIZ)); 1142 : FINSI; 1143 : SI ICOQU; 1144 : TEMU2 = CHAN TYPE ((EXCO 'SCAL' TEMU2 'T') ET 1145 : (EXCO 'SCAL' TEMU2 'TINF') ET 1146 : (EXCO 'SCAL' TEMU2 'TSUP')) 'TEMPERATURES'; 1147 : SINON; 1148 : TEMU2 = CHAN TYPE (EXCO 'SCAL' TEMU2 'T') 'TEMPERATURES'; 1149 : FINSI; 1150 : EPSTU2 = ELAS OBJMOD (THET OBJMOD MAT1 TEMU2) MAT1; 1151 : FINSI; 1152 : FINSI; 1153 : 1154 : * modif sm 1155 : *********************************************** 1156 : * CUMDEFI = SIG_{IJ} * (deps_{ij} / dx_{,k}) * thet_{k} 1157 : *********************************************** 1158 : CUMDEFI = ZERO OBJMOD 'STRESSES' ; 1159 : si IDEFI; 1160 : 1161 : SI (NON ICOQU); 1162 : 1163 : NIDEF = 3; 1164 : SI (&DIME EGA 3) ; 1165 : NIDEF = 6; 1166 : FINSI; 1167 : 1168 : JDEFI = 0; 1169 : REPETER BDEFI NIDEF; 1170 : JDEFI = JDEFI + 1 ; 1171 : 1172 : SI (JDEFI EGA 1); 1173 : EIJ = EXCO DEFINT 'EPXX' MU1; 1174 : SMIJ = EXCO SIGF 'SMXX' 'SCAL'; 1175 : FINSI; 1176 : SI (JDEFI EGA 2); 1177 : EIJ = EXCO DEFINT 'EPYY' MU1; 1178 : SMIJ = EXCO SIGF 'SMYY' 'SCAL'; 1179 : FINSI; 1180 : SI (JDEFI EGA 3); 1181 : EIJ = EXCO DEFINT 'GAXY' MU1; 1182 : SMIJ = EXCO SIGF 'SMXY' 'SCAL'; 1183 : FINSI; 1184 : SI (JDEFI EGA 4); 1185 : EIJ = EXCO DEFINT 'EPZZ' MU1; 1186 : SMIJ = EXCO SIGF 'SMZZ' 'SCAL'; 1187 : FINSI; 1188 : SI (JDEFI EGA 5); 1189 : EIJ = EXCO DEFINT 'GAXZ' MU1; 1190 : SMIJ = EXCO SIGF 'SMXZ' 'SCAL'; 1191 : FINSI; 1192 : SI (JDEFI EGA 6); 1193 : EIJ = EXCO DEFINT 'GAYZ' MU1; 1194 : SMIJ = EXCO SIGF 'SMYZ' 'SCAL'; 1195 : FINSI; 1196 : 1197 : DEIJGR = GRAD OBJMOD MAT1 (( CHAN 1198 : (CHAN 'NOEUD' OBJMOD EIJ) TYPE 'SCALAIRE') + CMD000); 1199 : DEIJX = (CHAN (CHAN 'STRESSES' OBJMOD 1200 : (EXCO DEIJGR 'UX,X' 'SCAL')) TYPE 'SCALAIRE') * 1201 : (CHAN SMIJ TYPE 'SCALAIRE') * TETX; 1202 : DEIJY = (CHAN (CHAN 'STRESSES' OBJMOD 1203 : (EXCO DEIJGR 'UX,Y' 'SCAL')) TYPE 'SCALAIRE') * 1204 : (CHAN SMIJ TYPE 'SCALAIRE') * TETY; 1205 : CUMDEFI = CUMDEFI + ( DEIJX) + ( DEIJY) ; 1206 : SI (&DIME EGA 3) ; 1207 : DEIJZ = (CHAN (CHAN 'STRESSES' OBJMOD 1208 : (EXCO DEIJGR 'UX,Z' 'SCAL')) TYPE 'SCALAIRE') * 1209 : (CHAN SMIJ TYPE 'SCALAIRE')* TETZ; 1210 : CUMDEFI = CUMDEFI + (DEIJZ); 1211 : FINSI; 1212 : 1213 : FIN BDEFI; 1214 : 1215 : FINSI; 1216 : finsi; 1217 : 1218 : *fin modif sm 1219 : 1220 : *********************************************** 1221 : * PEMU = (Grad P)*PI 1222 : * PEMU1 = (Grad P)*TETA 1223 : * PEMU2 = (Grad P)*(Grad PI)*TETA 1224 : *********************************************** 1225 : SI (EGA IINTE 4); 1226 : SI ('>' (XTX PREINT) 1.E-10); 1227 : F1 = (((EXCO GR1 PRESGR 'SCAL')CHAN TYPE 'SCALAIRE') 1228 : * OBJMOD PIX) + 1229 : (((EXCO GR2 PRESGR 'SCAL')CHAN TYPE 'SCALAIRE') 1230 : * OBJMOD PIY); 1231 : F2 = (((EXCO GR4 PRESGR 'SCAL')CHAN TYPE 'SCALAIRE') 1232 : * OBJMOD PIX) + 1233 : (((EXCO GR5 PRESGR 'SCAL')CHAN TYPE 'SCALAIRE') 1234 : * OBJMOD PIY); 1235 : PEMU = CHAN 'CHPO' OBJMOD ((EXCO 'SCAL' F1 MF1) ET 1236 : (EXCO 'SCAL' F2 MF2)) ; 1237 : SI (EGA &DIME 3); 1238 : F1=F1+ (((EXCO GR3 PRESGR 'SCAL')CHAN TYPE 'SCALAIRE') 1239 : * OBJMOD PIZ); 1240 : F2=F2+ (((EXCO GR6 PRESGR 'SCAL')CHAN TYPE 'SCALAIRE') 1241 : * OBJMOD PIZ); 1242 : F3 = (((EXCO GR7 PRESGR 'SCAL')CHAN TYPE 'SCALAIRE') 1243 : * OBJMOD PIX) + 1244 : (((EXCO GR8 PRESGR 'SCAL')CHAN TYPE 'SCALAIRE') 1245 : * OBJMOD PIY) + 1246 : (((EXCO GR9 PRESGR 'SCAL')CHAN TYPE 'SCALAIRE') 1247 : * OBJMOD PIZ); 1248 : PEMU = CHAN 'CHPO' OBJMOD ((EXCO 'SCAL' F1 MF1) ET 1249 : (EXCO 'SCAL' F2 MF2) ET (EXCO 'SCAL' F3 MF3)); 1250 : FINSI; 1251 : * 1252 : F1 = (((EXCO GR1 PRESGR 'SCAL')CHAN TYPE 'SCALAIRE') 1253 : * OBJMOD TETX) + 1254 : (((EXCO GR2 PRESGR 'SCAL')CHAN TYPE 'SCALAIRE') 1255 : * OBJMOD TETY); 1256 : F2 = (((EXCO GR4 PRESGR 'SCAL')CHAN TYPE 'SCALAIRE') 1257 : * OBJMOD TETX) + 1258 : (((EXCO GR5 PRESGR 'SCAL')CHAN TYPE 'SCALAIRE') 1259 : * OBJMOD TETY); 1260 : PEMU1 = CHAN 'CHPO' OBJMOD ((EXCO 'SCAL' F1 MF1) ET 1261 : (EXCO 'SCAL' F2 MF2)) ; 1262 : SI (EGA &DIME 3); 1263 : F1=F1+ (((EXCO GR3 PRESGR 'SCAL')CHAN TYPE 'SCALAIRE') 1264 : * OBJMOD TETZ); 1265 : F2=F2+ (((EXCO GR6 PRESGR 'SCAL')CHAN TYPE 'SCALAIRE') 1266 : * OBJMOD TETZ); 1267 : F3=(((EXCO GR7 PRESGR 'SCAL')CHAN TYPE 'SCALAIRE') 1268 : * OBJMOD TETX) + 1269 : (((EXCO GR8 PRESGR 'SCAL')CHAN TYPE 'SCALAIRE') 1270 : * OBJMOD TETY) + 1271 : (((EXCO GR9 PRESGR 'SCAL')CHAN TYPE 'SCALAIRE') 1272 : * OBJMOD TETZ); 1273 : PEMU1 = CHAN 'CHPO' OBJMOD ((EXCO 'SCAL' F1 MF1) ET 1274 : (EXCO 'SCAL' F2 MF2) ET (EXCO 'SCAL' F3 MF3)); 1275 : FINSI; 1276 : * 1277 : F1= (((EXCO GR1 PIGR 'SCAL')CHAN TYPE 'SCALAIRE') 1278 : * OBJMOD TETX) + 1279 : (((EXCO GR2 PIGR 'SCAL')CHAN TYPE 'SCALAIRE') 1280 : * OBJMOD TETY); 1281 : F2= (((EXCO GR4 PIGR 'SCAL')CHAN TYPE 'SCALAIRE') 1282 : * OBJMOD TETX) + 1283 : (((EXCO GR5 PIGR 'SCAL')CHAN TYPE 'SCALAIRE') 1284 : * OBJMOD TETY); 1285 : SI (EGA &DIME 3); 1286 : F1=F1 + (((EXCO GR3 PIGR 'SCAL')CHAN TYPE 'SCALAIRE') 1287 : *OBJMOD TETZ); 1288 : F2=F2 + (((EXCO GR6 PIGR 'SCAL')CHAN TYPE 'SCALAIRE') 1289 : *OBJMOD TETZ); 1290 : F3 = (((EXCO GR7 PIGR 'SCAL')CHAN TYPE 'SCALAIRE') 1291 : *OBJMOD TETX) + 1292 : (((EXCO GR8 PIGR 'SCAL')CHAN TYPE 'SCALAIRE') 1293 : *OBJMOD TETY) + 1294 : (((EXCO GR9 PIGR 'SCAL')CHAN TYPE 'SCALAIRE') 1295 : *OBJMOD TETZ); 1296 : FINSI; 1297 : F4 = (((EXCO GR1 PRESGR 'SCAL')CHAN TYPE 'SCALAIRE') 1298 : *OBJMOD F1) + 1299 : (((EXCO GR2 PRESGR 'SCAL')CHAN TYPE 'SCALAIRE') 1300 : *OBJMOD F2); 1301 : F5 = (((EXCO GR4 PRESGR 'SCAL')CHAN TYPE 'SCALAIRE') 1302 : *OBJMOD F1) + 1303 : (((EXCO GR5 PRESGR 'SCAL')CHAN TYPE 'SCALAIRE') 1304 : *OBJMOD F2); 1305 : PEMU2 = CHAN 'CHPO' OBJMOD ((EXCO 'SCAL' F4 MF1) ET 1306 : (EXCO 'SCAL' F5 MF2)) ; 1307 : SI (EGA &DIME 3); 1308 : F4 = F4 + (((EXCO GR3 PRESGR 'SCAL')CHAN TYPE 'SCALAIRE') 1309 : * OBJMOD F3); 1310 : F5 = F5 + (((EXCO GR6 PRESGR 'SCAL')CHAN TYPE 'SCALAIRE') 1311 : * OBJMOD F3); 1312 : F6 = (((EXCO GR7 PRESGR 'SCAL')CHAN TYPE 'SCALAIRE') 1313 : * OBJMOD F1) + 1314 : (((EXCO GR8 PRESGR 'SCAL')CHAN TYPE 'SCALAIRE') 1315 : * OBJMOD F2) + 1316 : (((EXCO GR9 PRESGR 'SCAL')CHAN TYPE 'SCALAIRE') 1317 : * OBJMOD F3); 1318 : PEMU2 = CHAN 'CHPO' OBJMOD ((EXCO 'SCAL' F4 MF1) ET 1319 : (EXCO 'SCAL' F5 MF2) ET (EXCO 'SCAL' F6 MF3)); 1320 : FINSI; 1321 : FINSI; 1322 : FINSI; 1323 : 1324 : *********************************************** 1325 : * DANS LE CAS DE CALCUL DE DJ/DA 1326 : * U^aux=A_DEPI et SIGMA^aux=A_SIGF 1327 : *********************************************** 1328 : SI (EGA IINTE 4); 1329 : GRAD11 = (OBJMOD GRADEP * PIGR) ; 1330 : EPXX1 = (EXCO GR1 GRAD11 'SCAL')CHAN TYPE 'SCALAIRE'; 1331 : EPYY1 = (EXCO GR5 GRAD11 'SCAL')CHAN TYPE 'SCALAIRE'; 1332 : EPZZ1 = (EXCO GR9 GRAD11 'SCAL')CHAN TYPE 'SCALAIRE'; 1333 : GAXY1 = ((EXCO GR2 GRAD11 'SCAL') + (EXCO GR4 GRAD11 'SCAL')) 1334 : CHAN TYPE 'SCALAIRE' ; 1335 : GAXZ1 = ((EXCO GR3 GRAD11 'SCAL') + (EXCO GR7 GRAD11 'SCAL')) 1336 : CHAN TYPE 'SCALAIRE' ; 1337 : GAYZ1 = ((EXCO GR6 GRAD11 'SCAL') + (EXCO GR8 GRAD11 'SCAL')) 1338 : CHAN TYPE 'SCALAIRE' ; 1339 : SI (&DIME EGA 3) ; 1340 : EPSIA1 = 'MANU' 'CHML' OBJMOD EP1 EPXX1 EP2 1341 : EPYY1 EP3 EPZZ1 EP4 GAXY1 EP5 GAXZ1 EP6 1342 : GAYZ1 TYPE 'DEFORMATIONS' 'STRESSES'; 1343 : SINON; 1344 : EPSIA1 = 'MANU' 'CHML' OBJMOD EP1 EPXX1 EP2 1345 : EPYY1 EP3 EPZZ1 EP4 GAXY1 1346 : TYPE 'DEFORMATIONS' 'STRESSES'; 1347 : FINSI; 1348 : SI ITHER; EPSIA1 = EPSIA1 + EPSTU1; FINSI; 1349 : F11 = ('BSIG' OBJMOD ((('HOOK' OBJMOD MAT1)*OBJMOD EPSIA1) 1350 : - (OBJMOD SIGF*DIVPI)) + ('FOFI' OBJMOD SIGF PIGR)) ; 1351 : SI ('>' (XTX PREINT) 1.E-10); 1352 : F11 = F11 + PEMU + (PREINT*(CHAN 'CHPO' OBJMOD DIVPI)); 1353 : FINSI; 1354 : A_PREI = FOR000; 1355 : A_DEPI = REDU ('RESO' (F11 + FOR000) RIGTOT) ELTETA ; 1356 : A_SIGF = OBJMOD ('HOOK' OBJMOD MAT1)* 1357 : (('EPSI' OBJMOD A_DEPI) - EPSIA1); 1358 : FINSI; 1359 : 1360 : *************************************************** 1361 : * GRADIENT DU DEPLACEMENT AUX A_DEPI =A_DEPGR 1362 : * SI DJ/DA ou SI DECOUPLAGE (sauf si A_DEPGR existe deja) 1363 : *************************************************** 1364 : SI ((EGA IINTE 4) OU (EGA IINTE 99)); 1365 : si (NEG (TYPE A_DEPGR) 'MCHAML'); 1366 : A_DEPGR = GRAD OBJMOD MAT1 A_DEPI; 1367 : fins; 1368 : A_DEPGF = TEXT ' ' ; 1369 : SI (ICOQU ET ILIN); 1370 : A_DEPGF = 'GRAF' OBJMOD MAT1 A_DEPI; 1371 : FINSI; 1372 : FINSI; 1373 : 1374 : *********************************************** 1375 : * DEP0 = (grad U)*THETA 1376 : *********************************************** 1377 : LO1 = ((EGA IINTE 1) OU (EGA IINTE 2) OU (EGA IINTE 3) 1378 : OU (EGA IINTE 4) OU (EGA IINTE 5)) 1379 : ET ('>' (XTX PREINT) 1.E-10); 1380 : LO2 = FAUX; 1381 : SI (EGA IINTE 99); 1382 : LO2 = '>' (XTX A_PREI) 1.E-10; 1383 : FINSI; 1384 : SI (LO1 OU LO2); 1385 : GRADCH = CHAN 'CHPO' OBJMOD GRADEP ; 1386 : * mess 'gcalcul : CHAN CHPO grad(U)'; 1387 : *bp : on se ramene a un chpoint pour faire XTY avec preint ensuite 1388 : * on moyenne avce CHAN CHPO, pourrait on l'eviter? 1389 : DEPLX = ((EXCO GR1 GRADCH 'SCAL')*(EXCO MU1 TETA 'SCAL')) + 1390 : ((EXCO GR2 GRADCH 'SCAL')*(EXCO MU2 TETA 'SCAL')) ; 1391 : DEPLY = ((EXCO GR4 GRADCH 'SCAL')*(EXCO MU1 TETA 'SCAL')) + 1392 : ((EXCO GR5 GRADCH 'SCAL')*(EXCO MU2 TETA 'SCAL')) ; 1393 : DEP0 = ('NOMC' DEPLX MU1) + ('NOMC' DEPLY MU2); 1394 : SI (&DIME EGA 3) ; 1395 : DEPLX = DEPLX + 1396 : ((EXCO GR3 GRADCH 'SCAL')*(EXCO MU3 TETA 'SCAL')); 1397 : DEPLY = DEPLY + 1398 : ((EXCO GR6 GRADCH 'SCAL')*(EXCO MU3 TETA 'SCAL')); 1399 : DEPLZ = ((EXCO GR7 GRADCH 'SCAL')*(EXCO MU1 TETA 'SCAL')) + 1400 : ((EXCO GR8 GRADCH 'SCAL')*(EXCO MU2 TETA 'SCAL')) + 1401 : ((EXCO GR9 GRADCH 'SCAL')*(EXCO MU3 TETA 'SCAL')) ; 1402 : DEP0 = ('NOMC' DEPLX MU1) + ('NOMC' DEPLY MU2) + 1403 : ('NOMC' DEPLZ MU3); 1404 : FINSI ; 1405 : SI (ICOQU ET ILIN); 1406 : GRAFCH = CHAN 'CHPO' OBJMOD GRADEF ; 1407 : BXX = EXCO 'BX,X' GRAFCH 'SCAL'; 1408 : BXY = EXCO 'BX,Y' GRAFCH 'SCAL'; 1409 : BYX = EXCO 'BY,X' GRAFCH 'SCAL'; 1410 : BYY = EXCO 'BY,Y' GRAFCH 'SCAL'; 1411 : DEPFX = 'NOMC' 'RX' ( (BXX*(EXCO 'UX' TETA 'SCAL'))+ 1412 : (BXY*(EXCO 'UY' TETA 'SCAL')) ); 1413 : DEPFY = 'NOMC' 'RY' ( (BYX*(EXCO 'UX' TETA 'SCAL'))+ 1414 : (BYY*(EXCO 'UY' TETA 'SCAL')) ); 1415 : DEP0 = DEP0 + DEPFX + DEPFY; 1416 : FINSI ; 1417 : FINSI; 1418 : 1419 : *********************************************** 1420 : * DEP1 = (grad A_DEPI)*THETA 1421 : *********************************************** 1422 : LO1 = (EGA IINTE 4) ET ('>' (XTX PREINT) 1.E-10); 1423 : LO2 = FAUX; 1424 : SI (EGA IINTE 99); 1425 : LO2 = ('>' (XTX A_PREI) 1.E-10) OU ('>' (XTX PREINT) 1.E-10); 1426 : FINSI; 1427 : SI (LO1 OU LO2); 1428 : * mess 'gcalcul : CHAN CHPO grad(U^aux)'; 1429 : GRADCH = CHAN 'CHPO' OBJMOD A_DEPGR ; 1430 : *bp : on se ramene a un chpoint pour faire XTY avec preint ensuite 1431 : * on moyenne avec CHAN CHPO, pourrait on l'eviter? 1432 : DEPLX = ((EXCO GR1 GRADCH 'SCAL')*(EXCO MU1 TETA 'SCAL')) + 1433 : ((EXCO GR2 GRADCH 'SCAL')*(EXCO MU2 TETA 'SCAL')) ; 1434 : DEPLY = ((EXCO GR4 GRADCH 'SCAL')*(EXCO MU1 TETA 'SCAL')) + 1435 : ((EXCO GR5 GRADCH 'SCAL')*(EXCO MU2 TETA 'SCAL')) ; 1436 : DEP1 = ('NOMC' DEPLX MU1) + ('NOMC' DEPLY MU2); 1437 : SI (&DIME EGA 3) ; 1438 : DEPLX = DEPLX + 1439 : ((EXCO GR3 GRADCH 'SCAL')*(EXCO MU3 TETA 'SCAL')); 1440 : DEPLY = DEPLY + 1441 : ((EXCO GR6 GRADCH 'SCAL')*(EXCO MU3 TETA 'SCAL')); 1442 : DEPLZ = ((EXCO GR7 GRADCH 'SCAL')*(EXCO MU1 TETA 'SCAL')) + 1443 : ((EXCO GR8 GRADCH 'SCAL')*(EXCO MU2 TETA 'SCAL')) + 1444 : ((EXCO GR9 GRADCH 'SCAL')*(EXCO MU3 TETA 'SCAL')) ; 1445 : DEP1 = ('NOMC' DEPLX MU1) + ('NOMC' DEPLY MU2) + 1446 : ('NOMC' DEPLZ MU3); 1447 : FINSI ; 1448 : SI (ICOQU ET ILIN); 1449 : GRAFCH = CHAN 'CHPO' OBJMOD GRADEF ; 1450 : BXX = EXCO 'BX,X' GRAFCH 'SCAL'; 1451 : BXY = EXCO 'BX,Y' GRAFCH 'SCAL'; 1452 : BYX = EXCO 'BY,X' GRAFCH 'SCAL'; 1453 : BYY = EXCO 'BY,Y' GRAFCH 'SCAL'; 1454 : DEPFX = 'NOMC' 'RX' ( (BXX*(EXCO 'UX' TETA 'SCAL'))+ 1455 : (BXY*(EXCO 'UY' TETA 'SCAL')) ); 1456 : DEPFY = 'NOMC' 'RY' ( (BYX*(EXCO 'UX' TETA 'SCAL'))+ 1457 : (BYY*(EXCO 'UY' TETA 'SCAL')) ); 1458 : DEP1 = DEP1 + DEPFX + DEPFY; 1459 : FINSI ; 1460 : FINSI; 1461 : 1462 : *********************************************** 1463 : * Termes suppléménetaire en Dynamique 1464 : * VCARE = V*V 1465 : * GRUTV = (grad U)*THETA*V (Attigui) 1466 : * GRVTV = V^T * (grad V)*THETA (BP) 1467 : * GRWTU = W^T * (grad U)*THETA (BP) 1468 : *********************************************** 1469 : SI (EGA IINTE 5); 1470 : VCARE =( ((EXCO MU1 VITF 'SCAL')**2) + ((EXCO MU2 VITF 'SCAL')**2) ) 1471 : CHAN TYPE 'SCALAIRE' ; 1472 : DEPFX = (((EXCO GR1 GRADEP 'SCAL')CHAN TYPE 'SCALAIRE') *TETX) + 1473 : (((EXCO GR2 GRADEP 'SCAL')CHAN TYPE 'SCALAIRE') *TETY) ; 1474 : DEPFY = (((EXCO GR4 GRADEP 'SCAL')CHAN TYPE 'SCALAIRE') *TETX) + 1475 : (((EXCO GR5 GRADEP 'SCAL')CHAN TYPE 'SCALAIRE') *TETY) ; 1476 : VITFX = (((EXCO GR1 GRAVIT 'SCAL')CHAN TYPE 'SCALAIRE') *TETX) + 1477 : (((EXCO GR2 GRAVIT 'SCAL')CHAN TYPE 'SCALAIRE') *TETY) ; 1478 : VITFY = (((EXCO GR4 GRAVIT 'SCAL')CHAN TYPE 'SCALAIRE') *TETX) + 1479 : (((EXCO GR5 GRAVIT 'SCAL')CHAN TYPE 'SCALAIRE') *TETY) ; 1480 : SI (EGA &DIME 3); 1481 : VCARE=VCARE +(((EXCO MU3 VITF 'SCAL')**2)CHAN TYPE 'SCALAIRE'); 1482 : DEPFX=DEPFX +(((EXCO GR3 GRADEP 'SCAL')CHAN TYPE 'SCALAIRE')*TETZ); 1483 : DEPFY=DEPFY +(((EXCO GR6 GRADEP 'SCAL')CHAN TYPE 'SCALAIRE')*TETZ); 1484 : DEPFZ = (((EXCO GR7 GRADEP 'SCAL')CHAN TYPE 'SCALAIRE')*TETX) + 1485 : (((EXCO GR8 GRADEP 'SCAL')CHAN TYPE 'SCALAIRE')*TETY) + 1486 : (((EXCO GR9 GRADEP 'SCAL')CHAN TYPE 'SCALAIRE')*TETZ); 1487 : VITFX=VITFX +(((EXCO GR3 GRAVIT 'SCAL')CHAN TYPE 'SCALAIRE')*TETZ); 1488 : VITFY=VITFY +(((EXCO GR6 GRAVIT 'SCAL')CHAN TYPE 'SCALAIRE')*TETZ); 1489 : VITFZ = (((EXCO GR7 GRAVIT 'SCAL')CHAN TYPE 'SCALAIRE')*TETX) + 1490 : (((EXCO GR8 GRAVIT 'SCAL')CHAN TYPE 'SCALAIRE')*TETY) + 1491 : (((EXCO GR9 GRAVIT 'SCAL')CHAN TYPE 'SCALAIRE')*TETZ); 1492 : GRUTV = ((EXCO MU1 VITF 'SCAL')*DEPFX) + 1493 : ((EXCO MU2 VITF 'SCAL')*DEPFY) + 1494 : ((EXCO MU3 VITF 'SCAL')*DEPFZ) ; 1495 : GRWTU = ((EXCO MU1 ACCF 'SCAL')*DEPFX) + 1496 : ((EXCO MU2 ACCF 'SCAL')*DEPFY) + 1497 : ((EXCO MU3 ACCF 'SCAL')*DEPFZ) ; 1498 : GRVTV = ((EXCO MU1 VITF 'SCAL')*VITFX) + 1499 : ((EXCO MU2 VITF 'SCAL')*VITFY) + 1500 : ((EXCO MU3 VITF 'SCAL')*VITFZ) ; 1501 : SINON; 1502 : GRUTV = ((EXCO MU1 VITF 'SCAL')*DEPFX) + 1503 : ((EXCO MU2 VITF 'SCAL')*DEPFY) ; 1504 : GRWTU = ((EXCO MU1 ACCF 'SCAL')*DEPFX) + 1505 : ((EXCO MU2 ACCF 'SCAL')*DEPFY) ; 1506 : GRVTV = ((EXCO MU1 VITF 'SCAL')*VITFX) + 1507 : ((EXCO MU2 VITF 'SCAL')*VITFY) ; 1508 : FINSI; 1509 : FINSI; 1510 : 1511 : 1512 : 1513 : *|=====================================================================| 1514 : *|======= IV. CALCUL DE J,C*,C*(h) ou J_DYNA ========================| 1515 : 1516 : *********************************************** 1517 : * S10 = w*(div THETA) 1518 : * S20 = sigma*(grad U)*(grad THETA) 1519 : * S40 = Tr(sigma)*Alpha*(Grad T)*THETA 1520 : * S50 = F*(grad U)*THETA 1521 : * S60 = 0.5*(grad D)*THETA*(EPSI elas)*(EPSI elas) 1522 : * S70 = Tr(sigma)*T*(Grad Alpha)*THETA 1523 : * S100 = (W(b) - W(a))*TETA(x) 1524 : * S110 = SIGF*n*[ (dU/dX)(b) - (dU/dX)(a) ]*TETA(x) 1525 : * S120 = wvmis*(Grad T)*THETA 1526 : * ou wvmis = SOME d(Von_mises)/d(Temperature) d(EPSE) 1527 : *********************************************** 1528 : * Termes supplementaires pour le J dynamique (Formulation de Attigui) 1529 : * S130 = 0.5*RHO*(V²)*(div THETA) 1530 : * S140 = [Delta (RHO*V*(grad U)*THETA)]/(Delta Temps) 1531 : * Termes supplementaires pour le J dynamique (Formulation de BP) 1532 : * S130 = -0.5*RHO*(V²)*(div THETA) 1533 : * S140 = RHO*W*(grad U)*THETA 1534 : * S141 = -RHO*V*(grad V)*THETA 1535 : *********************************************** 1536 : * Termes supplementaires pour le J en grands-deplacements 1537 : * S150 = sigma*((grad U)t)*(grad U)*(grad THETA) 1538 : *********************************************** 1539 : *********************************************** 1540 : * Termes supplementaires pour un chaergement en déformation imposée (modif sm) 1541 : * S160 = sigma*(deps/dx)*(THETA) 1542 : * = SIG_{IJ} * (deps^{imp}_{ij} / dx_{,k}) * thet_{k} 1543 : *********************************************** 1544 : * Termes supplementaires pour le contact frottant (modif BP,BT) 1545 : * S111 = SIGF*n*[ (dU/dX)(b) - (dU/dX)(a) ]*TETA(x) 1546 : *********************************************** 1547 : 1548 : 1549 : SI ( (IINTE EGA 1) OU (IINTE EGA 2) OU 1550 : (IINTE EGA 3) OU (IINTE EGA 5)); 1551 : S10 = INTG OBJMOD (ENERM*OBJMOD DIVTETA) MAT2; 1552 : SI (ICOQU ET ILIN); 1553 : S20 = INTG OBJMOD (WORK OBJMOD SIGF 1554 : (GRADEP*OBJMOD TETAGR) (GRADEF*OBJMOD TETAGR)); 1555 : SINON; 1556 : S20 = INTG OBJMOD (WORK OBJMOD SIGF 1557 : (GRADEP*OBJMOD TETAGR)) MAT2; 1558 : FINSI; 1559 : SI IGDEP; 1560 : SI (ICOQU ET ILIN); 1561 : S150 = INTG OBJMOD (WORK OBJMOD SIGF 1562 : (((TAGR GRADEP)*OBJMOD GRADEP)*OBJMOD TETAGR) 1563 : (((TAGR GRADEF)*OBJMOD GRADEF)*OBJMOD TETAGR)); 1564 : SINON; 1565 : S150 = INTG OBJMOD (WORK OBJMOD SIGF 1566 : (((TAGR GRADEP)*OBJMOD GRADEP)*OBJMOD TETAGR)) MAT2; 1567 : FINSI; 1568 : FINSI; 1569 : SI ITHER; 1570 : S40 = INTG OBJMOD (ENER OBJMOD SIGF EPSTU) MAT2; 1571 : FINSI; 1572 : SI ('>' (XTX PREINT) 1.E-10) ; 1573 : S50 = XTY PREINT DEP0 MOTF MOTU ; 1574 : FINSI; 1575 : SI (MATVARI ET YOUVARI); 1576 : S60 = INTG OBJMOD (0.5*(ENER OBJMOD 1577 : SIGPRIM (ELAS OBJMOD SIGF MAT1))) MAT2; 1578 : FINSI; 1579 : SI (MATVARI ET ITHER ET ALFVARI); 1580 : S70 = INTG OBJMOD (ENER OBJMOD SIGF (ELAS 1581 : OBJMOD (THET OBJMOD TEPINT DMAT) DMAT)) MAT2; 1582 : FINSI; 1583 : SI (('>' (DIME LINTER) 0) ET (NON IPARAL)); 1584 : I = 0; IND1 = 'INDE' LINTER; 1585 : REPE NBJ4 (DIME IND1); 1586 : I = I + 1; 1587 : LE1 = IND1.&NBJ4; 1588 : L1 = LINTER.LE1; 1589 : M1 = TABMOD.(EXTR LE1 1); 1590 : M2 = TABMOD.(EXTR LE1 2); 1591 : OBJINT = MODE L1 'MECANIQUE' 'ELASTIQUE'; 1592 : TETXL = REDU L1 (EXCO MU1 TETA 'SCAL'); 1593 : TETXLC = CHAN 'CHAM' OBJINT TETXL 'STRESSES'; 1594 : *** 1595 : ENEMA = REDU L1 (CHAN 'CHPO' M1 (REDU M1 ENERM)); 1596 : ENEMB = REDU L1 (CHAN 'CHPO' M2 (REDU M2 ENERM)); 1597 : ENRMAL = CHAN 'CHAM' OBJINT ENEMA 'STRESSES'; 1598 : ENRMBL = CHAN 'CHAM' OBJINT ENEMB 'STRESSES'; 1599 : S100 = S100 + (INTG OBJINT 1600 : ((ENRMBL - ENRMAL) * OBJINT TETXLC) MAT2); 1601 : *** 1602 : GRADA = REDU L1 (CHAN 'CHPO' M1 (REDU M1 GRADEP)); 1603 : GRADB = REDU L1 (CHAN 'CHPO' M2 (REDU M2 GRADEP)); 1604 : UXXAL =CHAN 'CHAM' OBJINT (EXCO GR1 GRADA 'SCAL') 'STRESSES'; 1605 : UXXBL =CHAN 'CHAM' OBJINT (EXCO GR1 GRADB 'SCAL') 'STRESSES'; 1606 : UYXAL =CHAN 'CHAM' OBJINT (EXCO GR4 GRADA 'SCAL') 'STRESSES'; 1607 : UYXBL =CHAN 'CHAM' OBJINT (EXCO GR4 GRADB 'SCAL') 'STRESSES'; 1608 : SIGML =REDU L1 (CHAN 'CHPO' OBJMOD SIGF); 1609 : SIXXL =CHAN 'CHAM' OBJINT (EXCO SM1 SIGML 'SCAL') 'STRESSES'; 1610 : SIXYL =CHAN 'CHAM' OBJINT (EXCO SM4 SIGML 'SCAL') 'STRESSES'; 1611 : AAAA1 = (SIXXL * OBJINT (UXXBL - UXXAL)) + 1612 : (SIXYL * OBJINT (UYXBL - UYXAL)); 1613 : S110 = S110 + (INTG OBJINT (AAAA1*OBJINT TETXLC) MAT2); 1614 : FIN NBJ4; 1615 : FINSI; 1616 : SI (((DIME MODPLA) '>' 0) ET ITHER); 1617 : TEMU = CHAN TYPE (EXCO 'T' TEMU 'SCAL') 'SCALAIRE'; 1618 : S120 = INTG OBJMOD (WVMIS * TEMU) MAT2; 1619 : FINSI; 1620 : * 1621 : * Termes supplémentaire en Dynamique ********** 1622 : SI (IINTE EGA 5); 1623 : * * Formulation de Attigui 1624 : * S130 = INTG OBJMOD (0.5*(RHO1 * VCARE * DIVTETA)) MAT2; 1625 : * SSS1 = INTG OBJMOD (RHO1 * GRUTV) MAT2; 1626 : * SI (EGA IABC 0); 1627 : * S140 = SSS1; 1628 : * SINON; 1629 : * DELTAT = INST - SUPTAB.'SOLUTION_PASAPAS'.'TEMPS'.(IABC - 1); 1630 : * S140 = (SSS1 - SUPTAB.'SSS0') / DELTAT; 1631 : * FINSI; 1632 : * SUPTAB.'SSS0' = SSS1; 1633 : * Formulation de BP 1634 : * permet : - une meilleure independance du contour 1635 : * - de traiter le cas des fissures qui se propage 1636 : * - de ne pas stocker SSS1 1637 : S130 = INTG OBJMOD (0.5*(RHO1 * VCARE * DIVTETA)) MAT2; 1638 : S140 = INTG OBJMOD (RHO1 * GRWTU) MAT2; 1639 : S141 = INTG OBJMOD (RHO1 * GRVTV) MAT2; 1640 : FINSI; 1641 : 1642 : 1643 : * Termes supplémentaire pour un chargement en déformation imposée (SM) ********* 1644 : S160 = 0.; 1645 : SI (IINTE EGA 1); 1646 : si IDEFI; 1647 : S160 = INTG OBJMOD CUMDEFI MAT2; 1648 : finsi; 1649 : FINSI; 1650 : * fin modif sm 1651 : 1652 : * Termes supplémentaire pour le contact frottant (btrolle 19/02/2013) 1653 : SI (IFROT); 1654 : * teta 1655 : TETXC = PROI OBJCON2 TETAX 'STRESSES'; 1656 : TETYC = PROI OBJCON2 TETAY 'STRESSES'; 1657 : si (ega &DIME 3); 1658 : TETZC = PROI OBJCON2 TETAZ 'STRESSES'; 1659 : fins; 1660 : * [grad(w)] = grad [w] = WSAUTGR 1661 : * sigma*n 1662 : AAAAX= (SIGXN * (CHAN (exco WSAUTGR AX,X 'SCAL') TYPE 'SCALAIRE')) 1663 : + (SIGYN * (CHAN (exco WSAUTGR AY,X 'SCAL') TYPE 'SCALAIRE')); 1664 : AAAAY= (SIGXN * (CHAN (exco WSAUTGR AX,Y 'SCAL') TYPE 'SCALAIRE')) 1665 : + (SIGYN * (CHAN (exco WSAUTGR AY,Y 'SCAL') TYPE 'SCALAIRE')); 1666 : si (ega &DIME 3); 1667 : AAAAX = AAAAX 1668 : + (SIGZN * (CHAN(exco WSAUTGR AZ,X) TYPE 'SCALAIRE')); 1669 : AAAAY = AAAAY 1670 : + (SIGZN * (CHAN(exco WSAUTGR AZ,Y) TYPE 'SCALAIRE')); 1671 : AAAAZ = (SIGXN * (CHAN(exco WSAUTGR AX,Z) TYPE 'SCALAIRE')) 1672 : + (SIGYN * (CHAN(exco WSAUTGR AY,Z) TYPE 'SCALAIRE')) 1673 : + (SIGZN * (CHAN(exco WSAUTGR AZ,Z) TYPE 'SCALAIRE')); 1674 : AAAA111 = (AAAAX * OBJCON2 TETXC) 1675 : + (AAAAY * OBJCON2 TETYC) 1676 : + (AAAAZ * OBJCON2 TETZC); 1677 : sino; 1678 : AAAA111 = (AAAAX * OBJCON2 TETXC) 1679 : + (AAAAY * OBJCON2 TETYC); 1680 : fins; 1681 : * AAAA111 = 'MANUEL' CHML objcon 'SCAL' 1 TYPE 'SCALAIRE' 'STRESSES'; 1682 : S111 = INTG OBJCON2 AAAA111 ; mess 'S111=' S111; 1683 : 'SINON'; 1684 : S111 = 0.0; 1685 : FINSI; 1686 : * fin du cas contact frottant (btrolle 19/02/2013) 1687 : 1688 : 1689 : * somme des termes *************************** 1690 : GMCANI = (S20 - S10 - S60 - S100 + S110 - S111 1691 : - S130 + S140 - S141 + S150)*FACT1; 1692 : GTERMI = (S40 + S70 - S120) * FACT1; 1693 : * modif sm = ajout S160 1694 : GPRESS = (S160 - S50) * FACT1; 1695 : GTOTA = GMCANI + GTERMI + GPRESS ; 1696 : FINSI; 1697 : 1698 : 1699 : 1700 : *|=====================================================================| 1701 : *|======= V. CALCUL DE DJ/DA ========================================| 1702 : 1703 : *********************************************** 1704 : * S10 = -SIGF*(Grad U)*(Grad PI)*(Grad TETA) 1705 : * S20 = -SIGF*(Grad U)*(Grad TETA)*(Grad PI) 1706 : * S30 = SIGF*(Grad U)*(Grad TETA)*(Div PI) 1707 : * S40 = SIGF*(Grad U)*(Grad PI)*(Div TETA) 1708 : * S50 = ENEGIE*(ADJ TETA*PI) 1709 : * S60 = ALPH*SIGF*(Grad (Grad T))*PI*TETA 1710 : * S70 = ALPH*SIGF*((Grad T)*PI)*(Div TETA) 1711 : * S80 = ALPH*SIGF*((Grad T)*TETA)*(Div PI) 1712 : * S90 = SIG1*(Grad U)*(Grad TETA) 1713 : * S100= SIGF*(Grad U1)*(Grad TETA) 1714 : * S110= -SIGF*(Grad U1)*(Div TETA) 1715 : * S120= ALPH*SIG1*((Grad T)*TETA) 1716 : * S130= -PRESSION*(grad A_DEPI)*THETA 1717 : * S140= -(Grad PRESSION)*(Grad PI)*TETA*U 1718 : * S150= (Grad PRESSION)*TETA*U*(Div PI) 1719 : * S160= -(Grad PRESSION)*PI*(Grad U)*TETA 1720 : *********************************************** 1721 : SI (IINTE EGA 4); 1722 : S10 = 0. - (INTG OBJMOD (WORK OBJMOD SIGF 1723 : (OBJMOD GRADEP * (OBJMOD PIGR * TETAGR)))); 1724 : S20 = 0. - (INTG OBJMOD (WORK OBJMOD SIGF 1725 : (OBJMOD GRADEP * (OBJMOD TETAGR * PIGR)))); 1726 : S30 = INTG OBJMOD (OBJMOD (WORK OBJMOD 1727 : SIGF (OBJMOD GRADEP * TETAGR)) * DIVPI); 1728 : S40 = INTG OBJMOD (OBJMOD (WORK OBJMOD 1729 : SIGF (OBJMOD GRADEP * PIGR)) * DIVTETA); 1730 : S50 = INTG OBJMOD (ENERM * ADJ); 1731 : SI ITHER ; 1732 : S60 = INTG OBJMOD (ENER OBJMOD SIGF EPSTU2); 1733 : S70 = INTG OBJMOD ((ENER OBJMOD SIGF EPSTU1)*DIVTETA); 1734 : S80 = INTG OBJMOD ((ENER OBJMOD SIGF EPSTU)*DIVPI); 1735 : S120 = INTG OBJMOD (ENER OBJMOD A_SIGF EPSTU); 1736 : FINSI; 1737 : SI ('>' (XTX PREINT) 1.E-10) ; 1738 : S130 = XTY PREINT DEP1 MOTF MOTU ; 1739 : S140 = XTY PEMU2 (CHAN 'CHPO' OBJMOD DEPINT) MOTF MOTU; 1740 : S150 = XTY (PEMU1*(CHAN 'CHPO' OBJMOD DIVPI)) 1741 : (CHAN 'CHPO' OBJMOD DEPINT) MOTF MOTU; 1742 : S160 = XTY PEMU DEP0 MOTF MOTU; 1743 : FINSI; 1744 : S90 = INTG OBJMOD (WORK OBJMOD A_SIGF (OBJMOD GRADEP * TETAGR)); 1745 : S100 = INTG OBJMOD (WORK OBJMOD SIGF (OBJMOD A_DEPGR * TETAGR)); 1746 : S110 = 0. - (INTG OBJMOD (OBJMOD (WORK 1747 : OBJMOD SIGF A_DEPGR) * DIVTETA)) ; 1748 : GMCANI = S10 + S20 + S30 + S40 + S50 + S90 + S100 + S110; 1749 : GTERMI = S60 + S70 + S80 + S120 ; 1750 : GPRESS = S150 - S130 - S140 - S160; 1751 : GTOTA = GMCANI + GTERMI + GPRESS ; 1752 : FINSI; 1753 : 1754 : 1755 : 1756 : *|=====================================================================| 1757 : *|======= VI. CALCUL DES FACTEURS D INTENSITE DES CONTRAINTES =======| 1758 : 1759 : *********************************************** 1760 : * En pratique on les deduit de l integrale d interaction 1761 : * M(u,u^aux) = 2/E^* (K1*K1^aux + K2*K2^aux) 1762 : * On calcule donc : 1763 : * J1 = 1/E^* K1^2 = M(u,u^aux_1)**2 / 4*J(u^aux_1,u^aux_1) 1764 : * J2 = 1/E^* K2^2 = M(u,u^aux_2)**2 / 4*J(u^aux_2,u^aux_2) 1765 : *********************************************** 1766 : * l'integrale J(u^aux, u^aux) est la somme de : 1767 : * S10 = 0.5*Tr(A_sigf*(grad A_depi))*(div THETA) 1768 : * S20 = Tr[A_sigf*(grad A_depi)*(grad THETA)] * 1769 : * S50 = A_prei*(grad A_depi)*THETA 1770 : *********************************************** 1771 : * l'integrale M(u, u^aux) et la somme de : 1772 : * S60 = Tr[A_sigf*(Grad U)*(Grad THETA)] 1773 : * S70 = Tr[SIGF*(Grad A_depi)*(Grad THETA)] 1774 : * S80 = Tr[SIGF*(Grad A_depi)*(Div THETA)] 1775 : * S90 = PREINT*(grad A_depi)*THETA 1776 : * S100= A_prei*(grad U)*THETA 1777 : * S110= ALPH*A_sigf*((Grad T)*TETA) 1778 : *********************************************** 1779 : * Termes supplementaires pour le contact frottant (modif BP,BT) 1780 : * S111 = SIGF*n*[ (dU^aux/dX)(b) - (dU^aux/dX)(a) ]*TETA(x) 1781 : *********************************************** 1782 : 1783 : 1784 : SI (IINTE EGA 99) ; 1785 : * si(IXFEM); 1786 : * * REM: pour les elements XFEM on a contruit les champs aux. tq 1787 : * * (K_I^aux, K_II^aux) = (1,0) et (0,1) 1788 : * * => inutile de calculer J(u^aux,u^aux) (= C_MATE) 1789 : *bp 07/07/2011 : cela est faux dans le cas d'une fissure courbée 1790 : * COE_M2K = 2. * C_MATE; 1791 : * sino; 1792 : S10 = 0.5*( INTG OBJMOD 1793 : (OBJMOD (WORK OBJMOD A_SIGF A_DEPGR) * DIVTETA) ); 1794 : S20 = INTG OBJMOD 1795 : (WORK OBJMOD A_SIGF (A_DEPGR*OBJMOD TETAGR) ) MAT2; 1796 : SI ('>' (XTX A_PREI) 1.E-10); 1797 : S50 = XTY A_PREI DEP1 MOTF MOTU ; 1798 : FINSI; 1799 : JETOILE = 'ABS' (S20 - S10 - S50); 1800 : COE_M2K = 2. * ((C_MATE*JETOILE)**0.5); 1801 : * fins; 1802 : * integrale M(u, u^aux) 1803 : S60 = INTG OBJMOD (WORK OBJMOD A_SIGF (OBJMOD GRADEP * TETAGR)); 1804 : S70 = INTG OBJMOD (WORK OBJMOD SIGF (OBJMOD A_DEPGR * TETAGR)); 1805 : S80 = INTG OBJMOD (OBJMOD (WORK OBJMOD SIGF A_DEPGR) * DIVTETA); 1806 : *rem: on pourrait calculer M avec les 2 lignes ci dessous: 1807 : * S81 = INTG OBJMOD (OBJMOD (WORK OBJMOD A_SIGF GRADEP) * DIVTETA); 1808 : * S80 = 0.5*(S80+S81); 1809 : * Termes supplémentaire pour le contact frottant (btrolle 19/02/2013) 1810 : * on calcule WSAUTGR^aux = GRADIENT DU SAUT^aux 1811 : SI (IFROT 'ET' IXFEM); 1812 : * WDEP = deplacement de la fissure de composante UX ... AX ... 1813 : * [grad(w)] = grad [w] car linearité (le saut [w] est donné par AX ...) 1814 : * on utilise un modele liée a la geo de la fissure (cohesif ou contact) 1815 : * mess 'I avec contact frottant'; 1816 : * SIGCON = sigma*n de composantes SMX... homogene a une contrainte 1817 : * supporté sur la levre superieure 1818 : SI (NEG (TYPE SIGCON) 'MCHAML '); 1819 : SIGCON = REDU SIGCON (extr OBJCON2 'MAILLAGE'); 1820 : SIGCON = CHAN 'CHAM' SIGCON OBJCON2 'STRESSES' 'CONTRAINTES'; 1821 : FINS; 1822 : SIGXN = (CHAN (exco SIGCON 'SMX' 'SCAL') TYPE 'SCALAIRE'); 1823 : SIGYN = (CHAN (exco SIGCON 'SMY' 'SCAL') TYPE 'SCALAIRE'); 1824 : si (ega &DIME 3); 1825 : SIGZN = (CHAN (exco SIGCON 'SMZ' 'SCAL') TYPE 'SCALAIRE'); 1826 : fins; 1827 : * teta 1828 : TETXC = PROI OBJCON2 TETAX 'STRESSES'; 1829 : TETYC = PROI OBJCON2 TETAY 'STRESSES'; 1830 : si (ega &DIME 3); 1831 : TETZC = PROI OBJCON2 TETAZ 'STRESSES'; 1832 : fins; 1833 : * [grad(w)] = grad [w] = WSAUTGR 1834 : * sigma*n 1835 : AAAAX= (SIGXN * (CHAN (exco B_DEPGR AX,X 'SCAL') TYPE 'SCALAIRE')) 1836 : + (SIGYN * (CHAN (exco B_DEPGR AY,X 'SCAL') TYPE 'SCALAIRE')); 1837 : AAAAY= (SIGXN * (CHAN (exco B_DEPGR AX,Y 'SCAL') TYPE 'SCALAIRE')) 1838 : '+' (SIGYN * (CHAN (exco B_DEPGR AY,Y 'SCAL') TYPE 'SCALAIRE')); 1839 : si (ega &DIME 3); 1840 : AAAAX = AAAAX 1841 : + (SIGZN * (CHAN(exco B_DEPGR AZ,X) TYPE 'SCALAIRE')); 1842 : AAAAY = AAAAY 1843 : + (SIGZN * (CHAN(exco B_DEPGR AZ,Y) TYPE 'SCALAIRE')); 1844 : AAAAZ = (SIGXN * (CHAN(exco B_DEPGR AX,Z) TYPE 'SCALAIRE')) 1845 : + (SIGYN * (CHAN(exco B_DEPGR AY,Z) TYPE 'SCALAIRE')) 1846 : + (SIGZN * (CHAN(exco B_DEPGR AZ,Z) TYPE 'SCALAIRE')); 1847 : AAAA111 = (AAAAX * OBJCON2 TETXC) 1848 : + (AAAAY * OBJCON2 TETYC) 1849 : + (AAAAZ * OBJCON2 TETZC); 1850 : sino; 1851 : AAAA111 = (AAAAX * OBJCON2 TETXC) 1852 : + (AAAAY * OBJCON2 TETYC); 1853 : fins; 1854 : S111 = INTG OBJCON2 AAAA111; 1855 : 'SINON'; 1856 : S111 = 0.0; 1857 : FINSI; 1858 : * fin du cas contact frottant (btrolle 19/02/2013) 1859 : SI ('>' (XTX PREINT) 1.E-10); 1860 : S90 = XTY PREINT DEP1 MOTF MOTU ; 1861 : FINSI; 1862 : SI ('>' (XTX A_PREI) 1.E-10); 1863 : S100 = XTY A_PREI DEP0 MOTF MOTU ; 1864 : FINSI; 1865 : SI ITHER ; 1866 : S110 = INTG OBJMOD (ENER OBJMOD A_SIGF EPSTU); 1867 : FINSI; 1868 : * facteurs d intensite des contraintes 1869 : GMCANI = (S60 + S70 - S80 + S111) / COE_M2K; 1870 : GTERMI = (S110) / COE_M2K; 1871 : GPRESS = (-1.*(S100 + S90)) / COE_M2K; 1872 : GTOTA = GMCANI + GTERMI + GPRESS ; 1873 : FINSI; 1874 : 1875 : 1876 : *|=====================================================================| 1877 : *|======= VII. STOCKAGE DES RESULTATS ET IMPRESSIONS ================| 1878 : 1879 : 1880 : *************************************************** 1881 : ** PROFILE DE G DANS L EPAISSEUR EN CAS DE COQUE ** 1882 : *************************************************** 1883 : SI ICOQU; 1884 : SI IPAP; 1885 : SUPTAB.'EPAISSEUR_RESULTATS'.IABC = EVENR * GTOTA; 1886 : SINON; 1887 : SUPTAB.'EPAISSEUR_RESULTATS' = EVENR * GTOTA; 1888 : FINSI; 1889 : FINSI; 1890 : 1891 : *************************************************** 1892 : ** STOCKAGE DES RESULTATS DANS SUPTAB.'RESULTATS'** 1893 : *************************************************** 1894 : C1 = 'CHAI' GMCANI ' '; C2 = 'CHAI' GTERMI ' '; 1895 : C3 = 'CHAI' GPRESS ' '; C4 = 'CHAI' GTOTA; 1896 : *CAS PASAPAS 1897 : SI IPAP; 1898 : SI (EGA &DIME 2); 1899 : SI (EGA IINTE 99); 1900 : MESS MOTMIA ' ' IABC C1 C2 C3 C4; 1901 : SUPTAB.'RESULTATS'.MOTMIX.IABC = GTOTA; 1902 : SINON; 1903 : MESS IABC C1 C2 C3 C4; 1904 : SUPTAB.'RESULTATS'.IABC = GTOTA; 1905 : FINSI; 1906 : FINSI; 1907 : SI ((EGA &DIME 3) ET (NON ICOQU)); 1908 : SI (EGA IINTE 99); 1909 : MESS MOTMIA ' ' NUNOE IABC C1 C2 C3 C4; 1910 : SUPTAB.'RESULTATS'.MOTMIX.IABC.PM = GTOTA; 1911 : SINON; 1912 : MESS NUNOE IABC C1 C2 C3 C4; 1913 : SUPTAB.'RESULTATS'.IABC.PM = GTOTA; 1914 : FINSI; 1915 : FINSI; 1916 : SI ICOQU; 1917 : C1 = 'CHAI' (GMCANI*V_SUPE) ' '; C2 = 'CHAI' (GTERMI*V_SUPE) ' '; 1918 : C3 = 'CHAI' (GPRESS*V_SUPE) ' ';C4 = 'CHAI' (GTOTA*V_SUPE); 1919 : C5 = 'CHAI' (GMCANI*V_MOYE) ' '; C6 = 'CHAI' (GTERMI*V_MOYE) ' '; 1920 : C7 = 'CHAI' (GPRESS*V_MOYE) ' ';C8 = 'CHAI' (GTOTA*V_MOYE); 1921 : C9 = 'CHAI' (GMCANI*V_INFE) ' '; C10= 'CHAI' (GTERMI*V_INFE) ' '; 1922 : C11= 'CHAI' (GPRESS*V_INFE) ' ';C12= 'CHAI' (GTOTA*V_INFE); 1923 : MESS ' Superi ' IABC C1 C2 C3 C4; 1924 : MESS ' Median ' IABC C5 C6 C7 C8; 1925 : MESS ' Inferi ' IABC C9 C10 C11 C12; 1926 : C1 = 'CHAI' GMCANI ' '; C2 = 'CHAI' GTERMI ' '; 1927 : C3 = 'CHAI' GPRESS ' '; C4 = 'CHAI' GTOTA; 1928 : MESS ' Global ' IABC C1 C2 C3 C4; 1929 : SI (EGA IINTE 99); 1930 : SUPTAB.'RESULTATS'.MOTMIX = GTOTA; 1931 : SINON; 1932 : SUPTAB.'RESULTATS'.IABC.'SUPERI' = GTOTA*V_SUPE; 1933 : SUPTAB.'RESULTATS'.IABC.'MEDIAN' = GTOTA*V_MOYE; 1934 : SUPTAB.'RESULTATS'.IABC.'INFERI' = GTOTA*V_INFE; 1935 : SUPTAB.'RESULTATS'.IABC.'GLOBAL' = GTOTA; 1936 : FINSI; 1937 : FINSI; 1938 : *CAS RESOU 1939 : SINON; 1940 : SI (EGA &DIME 2); 1941 : SI (EGA IINTE 99); 1942 : MESS MOTMIA ' ' C1 C2 C3 C4; 1943 : SUPTAB.'RESULTATS'.MOTMIX = GTOTA; 1944 : SINON; 1945 : MESS C1 C2 C3 C4; 1946 : SUPTAB.'RESULTATS' = GTOTA; 1947 : FINSI; 1948 : FINSI; 1949 : SI ((EGA &DIME 3) ET (NON ICOQU)); 1950 : SI (EGA IINTE 99); 1951 : MESS ' ' MOTMIA ' ' NUNOE C1 C2 C3 C4; 1952 : SUPTAB.'RESULTATS'.MOTMIX.PM = GTOTA; 1953 : SINON; 1954 : MESS NUNOE C1 C2 C3 C4; 1955 : SUPTAB.'RESULTATS'.PM = GTOTA; 1956 : FINSI; 1957 : FINSI; 1958 : SI ICOQU; 1959 : C1 = 'CHAI' (GMCANI*V_SUPE) ' '; C2 = 'CHAI' (GTERMI*V_SUPE) ' '; 1960 : C3 = 'CHAI' (GPRESS*V_SUPE) ' ';C4 = 'CHAI' (GTOTA*V_SUPE); 1961 : C5 = 'CHAI' (GMCANI*V_MOYE) ' '; C6 = 'CHAI' (GTERMI*V_MOYE) ' '; 1962 : C7 = 'CHAI' (GPRESS*V_MOYE) ' ';C8 = 'CHAI' (GTOTA*V_MOYE); 1963 : C9 = 'CHAI' (GMCANI*V_INFE) ' '; C10= 'CHAI' (GTERMI*V_INFE) ' '; 1964 : C11= 'CHAI' (GPRESS*V_INFE) ' ';C12= 'CHAI' (GTOTA*V_INFE); 1965 : MESS ' Superi ' C1 C2 C3 C4; 1966 : MESS ' Median ' C5 C6 C7 C8; 1967 : MESS ' Inferi ' C9 C10 C11 C12; 1968 : C1 = 'CHAI' GMCANI ' '; C2 = 'CHAI' GTERMI ' '; 1969 : C3 = 'CHAI' GPRESS ' '; C4 = 'CHAI' GTOTA; 1970 : MESS ' Global ' C1 C2 C3 C4; 1971 : SI (EGA IINTE 99); 1972 : SUPTAB.'RESULTATS'.MOTMIX = GTOTA; 1973 : SINON; 1974 : SUPTAB.'RESULTATS'.'SUPERI' = GTOTA*V_SUPE; 1975 : SUPTAB.'RESULTATS'.'MEDIAN' = GTOTA*V_MOYE; 1976 : SUPTAB.'RESULTATS'.'INFERI' = GTOTA*V_INFE; 1977 : SUPTAB.'RESULTATS'.'GLOBAL' = GTOTA; 1978 : FINSI; 1979 : FINSI; 1980 : FINSI; 1981 : 1982 : ***BP: PETIT AJOUT *** 1983 : SI(ega (type PM) 'MAILLAGE'); 1984 : SI (EGA (&BCNOEU) 1); 1985 : GCHAM1 = MANU 'CHML' PM MOCOMP GTOTA; 1986 : SINO; 1987 : GCHAM1 = GCHAM1 1988 : et (MANU 'CHML' PM MOCOMP GTOTA); 1989 : FINS; 1990 : FINS; 1991 : SI(ega (type PM) 'POINT'); 1992 : SI (EGA (&BCNOEU) 1); 1993 : GCHPO1 = MANU 'CHPO' PM 1 MOCOMP GTOTA 'NATURE' 'DIFFUS'; 1994 : SINO; 1995 : GCHPO1 = GCHPO1 1996 : et (MANU 'CHPO' PM 1 MOCOMP GTOTA 'NATURE' 'DIFFUS'); 1997 : FINS; 1998 : FINS; 1999 : ***BP: FIN DU PETIT AJOUT *** 2000 : 2001 : FIN BCNOEU; 2002 : *<== FIN DE BOUCLE SUR LES NOEUDS A AVANCER VIRTUELLEMENT =============| 2003 : *|=====================================================================| 2004 : 2005 : ********************************************************************* 2006 : ** STOCKAGE DES CHAMPS RESULTATS (+ logique qu'une table a priori) ** 2007 : ********************************************************************* 2008 : SI ( (NEG (TYPE GCHPO1) 'CHPOINT') 2009 : ET (EGA (TYPE GCHAM1) 'MCHAML') ); 2010 : *version J constant par morceaux 2011 : * GCHPO1 = PROI SUPTAB.'FRONT_FISSURE' GCHAM1; 2012 : *version J lissée (projete sur approximation EF) 2013 : efJ = EXTR GCHAM1 'MAILLAGE' ; 2014 : * mess 'efJ='; list efJ; trac efJ ; 2015 : * totoj = inte efJ MAILMOD 'NOVERIF'; 2016 : * mess (nbel efJ) ' =nbel=? ' (nbel totoj); 2017 : * mess (nbno efJ) ' =nbno=? ' (nbno totoj); 2018 : OBJMODj =redu OBJMOD efj ; 2019 : GCHPO1 = CHAN 'CHPO' GCHAM1 OBJMODj 'MOYE'; 2020 : GCHPO1 = CHAN 'CHAM' GCHPO1 OBJMOD; 2021 : * mess 'redu ok appel a proi'; 2022 : GCHPO1 = PROI SUPTAB.'FRONT_FISSURE' GCHPO1; 2023 : FINS; 2024 : *CAS PASAPAS 2025 : SI(IPAP); 2026 : SI (EGA (TYPE GCHPO1) 'CHPOINT'); 2027 : SI(NON (EXIS SUPTAB 'CHPO_RESULTATS')); 2028 : SUPTAB . 'CHPO_RESULTATS' = TABL; 2029 : FINSI; 2030 : SI((EGA &BOUCMIX 1) ou (NON (EXIS SUPTAB.'CHPO_RESULTATS' IABC))); 2031 : SUPTAB.'CHPO_RESULTATS'.IABC = GCHPO1; 2032 : SINO; 2033 : SUPTAB.'CHPO_RESULTATS'.IABC 2034 : = SUPTAB.'CHPO_RESULTATS'.IABC ET GCHPO1; 2035 : FINS; 2036 : FINS; 2037 : SI (EGA (TYPE GCHAM1) 'MCHAML'); 2038 : SI(NON (EXIS SUPTAB 'CHAM_RESULTATS')); 2039 : SUPTAB . 'CHAM_RESULTATS' = TABL; 2040 : FINSI; 2041 : SI((EGA &BOUCMIX 1) ou (NON (EXIS SUPTAB.'CHAM_RESULTATS' IABC))); 2042 : SUPTAB.'CHAM_RESULTATS'.IABC = GCHAM1; 2043 : SINO; 2044 : SUPTAB.'CHAM_RESULTATS'.IABC 2045 : = SUPTAB.'CHAM_RESULTATS'.IABC ET GCHAM1; 2046 : FINS; 2047 : FINS; 2048 : *CAS RESOU 2049 : SINO; 2050 : SI (EGA (TYPE GCHPO1) 'CHPOINT'); 2051 : SI((EGA &BOUCMIX 1) ou (NON (EXIS SUPTAB 'CHPO_RESULTATS'))); 2052 : SUPTAB.'CHPO_RESULTATS' = GCHPO1; 2053 : SINO; 2054 : SUPTAB.'CHPO_RESULTATS' = SUPTAB.'CHPO_RESULTATS' ET GCHPO1; 2055 : FINS; 2056 : FINS; 2057 : SI (EGA (TYPE GCHAM1) 'MCHAML'); 2058 : SI((EGA &BOUCMIX 1) ou (NON (EXIS SUPTAB 'CHAM_RESULTATS'))); 2059 : SUPTAB.'CHAM_RESULTATS' = GCHAM1; 2060 : SINO; 2061 : SUPTAB.'CHAM_RESULTATS' = SUPTAB.'CHAM_RESULTATS' ET GCHAM1; 2062 : FINS; 2063 : FINS; 2064 : FINS; 2065 : 2066 : * ON SE PREPARE A PARTIR... 2067 : MENA; 2068 : SI (IPAP ET ICOQU); 2069 : 'SAUT' 1 'LIGNE'; 2070 : FINSI; 2071 : SI (IPAP ET (NBOU '>' 1)); 2072 : 'SAUT' 1 'LIGNE'; 2073 : FINSI; 2074 : SI (IPAP ET (NBOU EGA 1) ET (NON ICOQU)); 2075 : SI (('ABS' ((&BOUCEXT/10) - (&BOUCEXT/10.))) '<' 1.D-10); 2076 : 'SAUT' 1 'LIGNE'; 2077 : FINSI; 2078 : FINSI; 2079 : 2080 : FINPROC SUPTAB; 2081 : 2082 : 2083 : 2084 : 2085 : 2086 : 2087 : 2088 :
© Cast3M 2003 - All rights reserved.
Disclaimer