1 : * SIF PROCEDUR JC220346 12/09/12 21:15:08 7501 2 : DEBPROC SIF SUPTAB*TABLE MAT*MCHAML U*CHPOINT; 3 : ********************************************** 4 : * PROCEDURE POUR LA DETERMINATION DE K * 5 : * PAR LA METHODE DES DEPLACEMENTS * 6 : *************************************************************** 7 : *SUPTAB.'MAILLAGE' : MAILLAGE ENTIER (UTILE UNIQUEMENT EN 3D) * 8 : * * 9 : *SUPTAB.'MODMIXTE' : BOOLEEN VALANT VRAI SI ON EST EN MODE MIXTE * 10 : * * 11 : * * 12 : *SUPTAB.'LIFIS1' : OBJETS DE TYPE MAILLAGE REPRESENTANT LES LIGNES * 13 : *SUPTAB.'LIFIS2' DE FISSURES EN 2D * 14 : * SUPTAB.'LIFIS1': LIGNE DE FISSURE SUPERIEURE EN CAS DE MODE MIXTE * 15 : * ET LIGNE DE FISSURE EN MODE 1 PUR * 16 : * SUPTAB.'LIFIS2': LIGNE DE FISSURE INFERIEURE EN CAS DE MODE MIXTE * 17 : * * 18 : * * 19 : * * 20 : * SUPTAB.'FRTFISS' : LIGNE DE FRONT DE FISSURE EN 3 D DE TYPE MAILLAGE * 21 : * POINTE DE FISSURE EN 2D DE TYPE POINT * 22 : * * 23 : *SUPTAB.'PSF1',SUPTAB.'PSF2' : POINTS DE LA SURFACE DE FISSURE * 24 : * N'APPARTENANT PAS AU FRONT DE FISSURE EN 3D * 25 : * SUPTAB.'PSF1' : POINT DE LA SURFACE DE FISSURE EN MODE 1 PUR * 26 : * POINT DE LA SURFACE SUPERIEURE EN MODE MIXTE * 27 : * SUPTAB.'PSF2' : POINT DE LA SURFACE INFERIEURE EN MODE MIXTE * 28 : * (INEXISTANT EN MODE 1 PUR) * 29 : * * 30 : *SUPTAB.'DEBOUCH' : BOOLEEN VALANT VRAI SI LA FISSURE EST DEBOUCHANTE * 31 : * ET FAUX SINON (EN 3D) * 32 : *SUPTAB.'PDEBOUCH' : EXISTE EN CAS DE FISSURE DEBOUCHANTE EN 3D * 33 : * * EN CAS DE FISSURE SYMETRIQUE :POINT INTERSECTION ENTRE LA * 34 : * LIGNE DEBOUCHANTE ET FRTFISS (TYPE POINT) * 35 : * * EN CAS DE FISSURE NON SYMETRIQUE : LES 2 POINTS INTERSECTION * 36 : * ENTRE LA LIGNE DEBOUCHANTE ET LE FRONT DE FISSURE * 37 : * (TYPE MAILLAGE) * 38 : * * 39 : * * 40 : *SUPTAB.'EPAI' : CHPOINT OU REEL DES EPAISSEURS AUX NOEUDS (POUR LES * 41 : * ELEMENTS COQUES) * 42 : *SUPTAB.'MEMBRANE' : BOOLEEN VALANT VRAI SI LES K1 ET EVENTUELLEMENT * 43 : * K2 DOIVENT ETRE EVALUES A PARTIR DES DEFORMATIONS * 44 : * MEMBRANAIRES (POUR LES ELEMENTS COQUES) * 45 : *SUPTAB.'FLEXION' : BOOLEEN VALANT VRAI SI LES K1 ET K2 DE FLEXION * 46 : * DOIVENT ETRE EVALUES (POUR LES ELEMENTS COQUES) * 47 : * * 48 : *SUPTAB.'GRANDS_DEPLACEMENTS' : BOOLEEN VALANT VRAI POUR UN CALCUL EN * 49 : * GRANDS DEPLACEMENTS * 50 : * * 51 : * MAT : CHAMP DE MATERIAU * 52 : * * 53 : * U : CHAMP DE DEPLACEMENT * 54 : ************************************************************************ 55 : ************************************************************************ 56 : * ARGUMENTS DE SORTIE * 57 : * TABLE SUPTAB * 58 : ************************************************************************ 59 : * * 60 : *SUPTAB.'K1' :* EN 2D, CONTIENT LE REEL K1 : SUPTAB.K1 = K1 * 61 : * * EN 3D, CONTIENT UNE TABLE DE REELS QUI REPRESENTENT LES* 62 : * K1 A CHAQUE NOEUD DU FRONT DE FISSURE ; CETTE TABLE DE * 63 : * REELS A POUR INDICES DES OBJETS DE TYPE POINT : * 64 : * EXEMPLE : SUPTAB.K1.P = K1 TROUVE AU NOEUD DU FRONT * 65 : * DONT LES COORDONNEES SONT CELLES DE P * 66 : * * POUR LES COQUES, CONTIENT UNE TABLE DE 3 REELS : * 67 : * SUPTAB.K1.TOTAL : K1(flexion) + K1(membrane) * 68 : * SUPTAB.K1.MEMBRANE : K1(membrane) * 69 : * SUPTAB.K1.FLEXION : K1(flexion) * 70 : * * 71 : * * 72 : *SUPTAB.'K2' :* EN 2D, CONTIENT LE REEL K2 : SUPTAB.K2 = K2 * 73 : * * EN 3D, CONTIENT UNE TABLE DE REELS QUI REPRESENTENT LES* 74 : * KII A CHAQUE NOEUD DU FRONT DE FISSURE ;CETTE TABLE DE * 75 : * REELS A POUR INDICES DES OBJETS DE TYPE POINT : * 76 : * EXEMPLE : SUPTAB.K2.P = K2 TROUVE AU NOEUD DU FRONT * 77 : * DONT LES COORDONNEES SONT CELLES DE P * 78 : * * POUR LES COQUES, CONTIENT UNE TABLE DE 3 REELS : * 79 : * SUPTAB.K2.TOTAL : K2(flexion) + K2(membrane) * 80 : * SUPTAB.K2.MEMBRANE : K2(membrane) * 81 : * SUPTAB.K2.FLEXION : K2(flexion) * 82 : * * 83 : ************************************************************************ 84 : 85 : ************************************************************************ 86 : ***************** QUELQUES INITIALISATIONS ************************** 87 : ************************************************************************ 88 : &DIM = 'VALEUR' DIME; 89 : &IMP = 'VALEUR' IMPI; 90 : &ELEM = 'VALEUR' ELEM; 91 : IELEM2 = (EGA &ELEM 'TRI3') 'OU' (EGA &ELEM 'QUA4'); 92 : IELEM3 = (EGA &ELEM 'CUB8') 'OU' (EGA &ELEM 'PRI6'); 93 : IEL2Q = (EGA &ELEM 'TRI6') 'OU' (EGA &ELEM 'QUA8'); 94 : IEL3Q = (EGA &ELEM 'PR15') 'OU' (EGA &ELEM 'CU20'); 95 : IELEMLIN = IELEM2 'OU' IELEM3; 96 : ICOQ = (EGA &DIM 3) ET ((IELEM2) 'OU' (IEL2Q)); 97 : IMASS = (EGA &DIM 3) ET ((IELEM3) 'OU' (IEL3Q)); 98 : 99 : SI (EXISTE SUPTAB 'MODMIXTE'); 100 : MODMIXT = SUPTAB.'MODMIXTE'; 101 : SINON; 102 : MODMIXT = FAUX; 103 : FINSI; 104 : 105 : SI (EXISTE SUPTAB 'EPAI'); 106 : CHEP = SUPTAB.'EPAI'; 107 : FINSI; 108 : SI (EXISTE SUPTAB 'MEMBRANE'); 109 : MEMB = SUPTAB.'MEMBRANE'; 110 : SINON; 111 : MEMB = FAUX; 112 : FINSI; 113 : SI (EXISTE SUPTAB 'FLEXION'); 114 : FLEX = SUPTAB.'FLEXION'; 115 : SINON; 116 : FLEX = FAUX; 117 : FINSI; 118 : 119 : SI (EXISTE SUPTAB 'DEBOUCH'); 120 : DEBOUCH = SUPTAB.'DEBOUCH'; 121 : SINON; 122 : DEBOUCH = FAUX; 123 : FINSI; 124 : 125 : SI (EXISTE SUPTAB 'GRANDS_DEPLACEMENTS'); 126 : IGDDEP = SUPTAB.'GRANDS_DEPLACEMENTS'; 127 : SINON; 128 : IGDDEP = FAUX; 129 : FINSI; 130 : 131 : SI (IGDDEP); 132 : CONF0 = FORM; 133 : FORM U; 134 : FINSI; 135 : 136 : SI (IMASS); 137 : **------------cas où l'on est en dimension 3----------** 138 : FRTFISS = SUPTAB.'FRTFISS'; 139 : PSF = SUPTAB.'PSF1'; 140 : **--cas où l'on est en mode mixte--** 141 : SI (EGA MODMIXT VRAI); 142 : PSF2 = SUPTAB.'PSF2'; 143 : FINSI; 144 : **--cas où l'on est en fissure débouchante--** 145 : SI (EGA DEBOUCH VRAI); 146 : SI (EGA (TYPE SUPTAB.'PDEBOUCH') 'POINT '); 147 : PDBOUCH1 = SUPTAB.'PDEBOUCH'; 148 : SINON; 149 : PDBOUCH1 = SUPTAB.'PDEBOUCH' POIN 1; 150 : PDBOUCH2 = SUPTAB.'PDEBOUCH' POIN 2; 151 : FINSI; 152 : FINSI; 153 : MAILLAGE = SUPTAB.'MAILLAGE'; 154 : SINON; 155 : **-----------cas où l'on est en dimension 2-----------** 156 : LIFIS1 = SUPTAB.'LIFIS1'; 157 : PF = SUPTAB.'FRTFISS'; 158 : **--cas où l'on est en mode mixte--** 159 : SI (EGA MODMIXT VRAI); 160 : LIFIS2 = SUPTAB.'LIFIS2'; 161 : FINSI; 162 : FINSI; 163 : 164 : 165 : *************************************************************** 166 : ************** CALCULS EN DIMENSION 3 ****************** 167 : *******RECUPERATION DES LIGNES PERPENDICULAIRES AU FRONT******* 168 : *******DE FISSURE SUR LESQUELLES SERONT EFFECTUES LES CALCULS** 169 : *************************************************************** 170 : *&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&* 171 : SI (IMASS); 172 : *&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&* 173 : *------determination de cas de fissure debouchante ou non-----* 174 : 175 : TMAIL = TABLE; 176 : TRANCHE = TABLE; 177 : P = (NBNO FRTFISS); 178 : *-----recuperation des points extremites du front de fissure----* 179 : 180 : FRTFISS = ORDO FRTFISS; 181 : PINIT = FRTFISS POIN 'INIT'; 182 : PFIN = FRTFISS POIN 'FINAL'; 183 : 184 : *-----determination du volume de travail MAILVOL----------------* 185 : MAILVOL = FRTFISS; 186 : REPETER BVOL 3; 187 : MAILVOL = MAILLAGE ELEM APPU LARG MAILVOL; 188 : FIN BVOL; 189 : 190 : *--récupération de la surface initiale de MAILVOL : SURINIT-----* 191 : SURINIT = PINIT; 192 : REPETER BSURINIT 3; 193 : VCUB = MAILLAGE ELEM APPU LARG SURINIT; 194 : SCUB = ENVE VCUB; 195 : SURINIT = SCUB ELEM APPU LARG SURINIT; 196 : FIN BSURINIT; 197 : POINTFIS = SURINIT POIN 'PLAN' PINIT PFIN PSF 0.01; 198 : ELEMSFIS = SURINIT ELEM APPU STRI POINTFIS; 199 : SURINIT = SURINIT DIFF ELEMSFIS; 200 : SURINIT1 = SURINIT; 201 : SURINIT = PINIT; 202 : REPETER BSURI 7; 203 : SURINIT = SURINIT1 ELEM APPU LARG SURINIT ; 204 : FIN BSURI ; 205 : *--récupération de la surface finale de MAILVOL : SURFIN-------* 206 : SURFIN = PFIN; 207 : REPETER BSURFIN 3; 208 : VCUB = MAILLAGE ELEM APPU LARG SURFIN; 209 : SCUB = ENVE VCUB; 210 : SURFIN = SCUB ELEM APPU LARG SURFIN; 211 : FIN BSURFIN; 212 : POINTFIS = SURFIN POIN 'PLAN' PINIT PFIN PSF 0.01; 213 : ELEMSFIS = SURFIN ELEM APPU STRI POINTFIS; 214 : SURFIN = SURFIN DIFF ELEMSFIS; 215 : SURFIN1 = SURFIN; 216 : SURFIN = PFIN ; 217 : REPETER BSURF 7 ; 218 : SURFIN = SURFIN1 ELEM APPU LARG SURFIN; 219 : FIN BSURF ; 220 : 221 : *--remplissage de la table des plans orthogonaux à la fissure--* 222 : *--------------------- TMAIL ----------------------------* 223 : TMAIL.1 = SURINIT CHAN POI1; 224 : TRANCHE.1 = MAILVOL ELEM APPU LARG SURINIT; 225 : I = 0; TRANCHET = TRANCHE.1; 226 : SI ((NBEL FRTFISS ) > 1 ); 227 : REPETER BRECU ((NBEL FRTFISS ) - 1); 228 : I = I + 1; 229 : **--récuperation des tranches--** 230 : TRANCHE.(I + 1) = (MAILVOL ELEM APPU LARG TRANCHET) DIFF TRANCHET; 231 : TRANCHET = TRANCHET ET TRANCHE.(I + 1); 232 : SI IELEMLIN; 233 : 234 : **--surfaces aux noeuds sommets en cas d'éléments linéaires--** 235 : ENVEBI = DIFF (ENVE TRANCHE.(I + 1)) (ENVE TRANCHE.I); 236 : TMAIL.(I + 1) = DIFF ENVEBI 237 : ((ENVE TRANCHE.(I + 1)) ET (ENVE TRANCHE.I)); 238 : TMAIL.(I + 1) = TMAIL.(I + 1) CHAN POI1; 239 : SINON; 240 : 241 : **--surfaces aux noeuds sommets en cas d'éléments quadratiques--** 242 : ENVEBI = DIFF (ENVE TRANCHE.(I + 1)) (ENVE TRANCHE.I); 243 : TMAIL.((2 * I) + 1) = DIFF ENVEBI 244 : ((ENVE TRANCHE.(I+1)) ET (ENVE TRANCHE.I)); 245 : TMAIL.((2 * I) + 1) = TMAIL.((2 * I) + 1) CHAN POI1; 246 : 247 : **--récupération des noeuds milieux--** 248 : POINTRAN = TRANCHE.I CHAN POI1; 249 : POINBORD = (TMAIL.((2 * I) - 1) ET TMAIL.((2 * I) + 1)) CHAN POI1; 250 : TMAIL.(2 * I) = POINTRAN DIFF POINBORD; 251 : FINSI; 252 : FIN BRECU; 253 : FINSI; 254 : TMAIL.P = SURFIN CHAN POI1; 255 : SI (EGA IELEMLIN FAUX); 256 : POINTRAN = TRANCHE.(NBEL FRTFISS) CHAN POI1; 257 : POINBORD = (TMAIL.P ET TMAIL.(P - 2)) CHAN POI1; 258 : TMAIL.(P - 1) = POINTRAN DIFF POINBORD; 259 : FINSI; 260 : 261 : *-------récupération des lignes supports de calcul----------* 262 : *------intersections entre les plans de TMAIL et la---------* 263 : *---------------------surface de fissure--------------------* 264 : 265 : **--récupération de la surface de fissure : SURFIS--** 266 : 267 : ENVMAIL = ENVE MAILLAGE; 268 : PLANFIS = ENVMAIL POINT 'PLAN' PINIT PFIN PSF 0.001; 269 : PLANFIS = ENVMAIL ELEM APPU STRICT PLANFIS; 270 : CO = CONT PLANFIS ; 271 : CO1 = (CO 'ELEM' 'COMP' PINIT PFIN); 272 : COSURFIS = CO1 et FRTFISS ; 273 : ELPSF = PLANFIS ELEM APPU LARG PSF; 274 : SURFIS = PLANFIS INCLU COSURFIS; 275 : SS = ELPSF DIFF SURFIS; 276 : **--cas où on n'a pas pris la bonne partie du plan pour SURFIS--** 277 : SI (EGA (NBEL SS) ((NBEL ELPSF) + (NBEL SURFIS))); 278 : SURFIS = PLANFIS DIFF SURFIS; 279 : FINSI; 280 : 281 : 282 : **--récupération des lignes et des points du front de fissure--** 283 : TLIG = TABLE;TPF = TABLE; 284 : I = 0; 285 : CHSURFIS = SURFIS CHAN POI1; 286 : CHFRTFIS = CHAN FRTFISS POI1; 287 : REPETER BLIG P; 288 : I = I + 1; 289 : **--récupération des lignes--** 290 : 291 : TOT = TMAIL.I ET CHSURFIS; DIFSYM = TMAIL.I DIFF CHSURFIS; 292 : TLIG.I = DIFF TOT DIFSYM; 293 : TLIG.I = TMAIL.I ELEM APPU STRI TLIG.I; 294 : 295 : **--récupération des points du front de fissure--** 296 : 297 : TOT = TLIG.I ET CHFRTFIS; 298 : DIFSYM = TLIG.I DIFF CHFRTFIS; 299 : TPF.I = DIFF TOT DIFSYM; 300 : TPF.I = TLIG.I ELEM APPU STRI TPF.I; 301 : TPF.I = TPF.I POIN 1; 302 : FIN BLIG; 303 : 304 : 305 : 306 : *&&&&&&* 307 : FINSI; 308 : *&&&&&&* 309 : 310 : * ATTENTION! Pas de prise en compte de delaminages en coques. * 311 : *************************************************************** 312 : ************** DIMENSION 2 ET 3 ****************** 313 : *************************************************************** 314 : *&&&&&&&&&&&&&&&* 315 : SI (EGA &DIM 2); 316 : *&&&&&&&&&&&&&&&* 317 : P = 1; 318 : *&&&&&&&* 319 : FINSI; 320 : SI (ICOQ); 321 : SI (MEMB); 322 : P = 1; 323 : SINON; 324 : P = 0; 325 : FINSI; 326 : SI (FLEX); 327 : P = P + 1; 328 : FINSI; 329 : FINSI; 330 : *&&&&&&&* 331 : TABK1 = TABLE; TABK2 = TABLE; 332 : J = 0; 333 : REPETER BKTOTALE P; 334 : J = J + 1; 335 : SI (IMASS); 336 : PF = TPF.J; 337 : LIFIS1 = TLIG.J; 338 : SI (EGA MODMIXT VRAI); LIFIS2 = TLIG2.J; FINSI; 339 : MESS '********************************************************'; 340 : MESS '* NOEUD 'J' DU FRONT DE FISSURE DE COORDONNEES : *'; 341 : MESS '* ('(coor 1 PF) (coor 2 PF) (coor 3 PF)' ) *'; 342 : SINON; 343 : LIFIS1 = LIFIS1 CHAN POI1; 344 : SI (EGA MODMIXT VRAI); LIFIS2 = CHAN LIFIS2 POI1; FINSI; 345 : FINSI; 346 : 347 : *-------DETERMINATION DES POINTS DE CALCUL DE LA LIGNE------* 348 : *------- DE FISSURE LIFIS1 (ET LIFIS2 EN MIXTE) : ------* 349 : *-------3 PREMIERS NOEUDS DE LA LIGNE APRES PF--------------* 350 : *------- NOEUDS MILIEUX Y COMPRIS --------------* 351 : 352 : SI (('NON' ICOQ) 'OU' (EGA J 1)); 353 : 354 : LIGP1 = LIFIS1; 355 : LIGP1 = LIGP1 DIFF (LIGP1 ELEM APPU LARG PF); 356 : PINT11 = LIGP1 POIN PROC PF; 357 : LIGP1 = LIGP1 DIFF (LIGP1 ELEM APPU LARG PINT11); 358 : PINTER1 = LIGP1 POIN PROC PINT11; 359 : LIGP1 = LIGP1 DIFF (LIGP1 ELEM APPU LARG PINTER1); 360 : PINT12 = LIGP1 POIN PROC PINTER1; 361 : LIGP1 = PINT11 ET PINTER1 ET PINT12; 362 : N = NBNO LIGP1; 363 : SI (EGA MODMIXT VRAI); 364 : LIGP2 = LIFIS2; 365 : LIGP2 = LIGP2 DIFF (LIGP2 ELEM APPU LARG PF); 366 : PINT21 = LIGP2 POIN PROC PF; 367 : LIGP2 = LIGP2 DIFF (LIGP2 ELEM APPU LARG PINT21); 368 : PINTER2 = LIGP2 POIN PROC PINT21; 369 : LIGP2 = LIGP2 DIFF (LIGP2 ELEM APPU LARG PINTER2); 370 : PINT22 = LIGP2 POIN PROC PINTER2; 371 : LIGP2 = PINT21 ET PINTER2 ET PINT22; 372 : FINSI; 373 : 374 : 375 : 376 : *-----------CALCUL DU COEFFICIENT DE K -----------------------* 377 : *--ON RECUPERE LE MODULE D'YOUNG ET COEFFICIENT DE POISSON----* 378 : *--DU PREMIER POINT DE LA SERIE DONNEE -----------------------* 379 : 380 : MAIL = EXTR MAT 'MAIL'; 381 : P1 = PINT11; 382 : PN = PINT12; 383 : EL1 = MAIL ELEM APPUY LARG P1; 384 : MATEL1 = REDU MAT EL1; 385 : YOUNG = EXTR MATEL1 'YOUN' 1 1 1; 386 : NU = EXTR MATEL1 'NU' 1 1 1; 387 : 388 : **----------cas où l'on est en 2 D------------** 389 : TYPMOD = VALE MODE; 390 : SI ((EGA TYPMOD 'AXIS') OU (EGA TYPMOD 'PLANDEFO')); 391 : YOUNGB = YOUNG / (1 -(NU**2)); 392 : FINSI; 393 : SI ((EGA TYPMOD 'PLANCONT') 'OU' (ICOQ)); 394 : YOUNGB = YOUNG; 395 : FINSI; 396 : 397 : **----------cas où l'on est en 3 D -----------** 398 : SI (IMASS); 399 : **----cas de fissure débouchante----** 400 : ************************************** 401 : SI (EGA DEBOUCH VRAI); 402 : SI (EGA (TYPE SUPTAB.'PDEBOUCH') 'POINT '); 403 : **--cas de fissure symétrique--** 404 : BOOLINIT = FAUX; BOOLFIN = FAUX; 405 : SI (EGA PINIT PDBOUCH1); 406 : BOOLINIT = VRAI; 407 : SINON; 408 : BOOLFIN = VRAI; 409 : FINSI; 410 : SINON; 411 : **--cas de fissure non symétrique--** 412 : BOOLINIT = VRAI; 413 : BOOLFIN = VRAI; 414 : FINSI; 415 : **--déterminations de young--** 416 : BOOL1 = FAUX; BOOL2 = FAUX; 417 : SI ((EGA J 1) ET (EGA BOOLINIT VRAI)); 418 : BOOL1 = VRAI; 419 : FINSI; 420 : SI ((EGA J P) ET (EGA BOOLFIN VRAI)); 421 : BOOL2 = VRAI; 422 : FINSI; 423 : **--cas où l'on se trouve en partie débouchante : contraintes planes--** 424 : SI ((EGA BOOL1 VRAI) OU (EGA BOOL2 VRAI)); 425 : YOUNGB = YOUNG; 426 : **--cas où l'on se trouve en partie non débouchante : déf planes--** 427 : SINON; 428 : YOUNGB = YOUNG / (1 - (NU**2)); 429 : FINSI; 430 : 431 : **----cas de la fissure non débouchante : def planes----** 432 : ********************************************************** 433 : SINON; 434 : YOUNGB = YOUNG / (1 - (NU**2)); 435 : FINSI; 436 : FINSI; 437 : 438 : **----calcul du coef----** 439 : ************************** 440 : COEF = (YOUNGB / 4.) * ((PI * 2.) ** 0.5); 441 : * COEF = YOUNGB * .6266570687; 442 : 443 : 444 : *-----PASSAGE DANS LE REPERE LOCAL DE FISSURE---------------* 445 : 446 : * TRANSLATION DES CHPS DE DEPL : NOUVELLE ORIGINE PF 447 : **--récupération des composantes du déplacement--** 448 : SI ((EGA TYPMOD 'PLANDEFO') OU (EGA TYPMOD 'PLANCONT') 449 : OU (EGA TYPMOD 'TRID')); 450 : CHVX = EXCO U 'UX'; 451 : CHVY = EXCO U 'UY'; 452 : FINSI; 453 : SI (EGA TYPMOD 'AXIS'); 454 : CHVX = EXCO U 'UR'; 455 : CHVY = EXCO U 'UZ'; 456 : FINSI; 457 : VXPF= EXTR CHVX 'SCAL' PF; 458 : VYPF= EXTR CHVY 'SCAL' PF; 459 : PMAIL = EXTR U 'MAIL'; 460 : CHVXPF=MANU CHPO PMAIL 1 'SCAL' VXPF; 461 : CHVYPF=MANU CHPO PMAIL 1 'SCAL' VYPF; 462 : CHVX=CHVX - CHVXPF; 463 : CHVY=CHVY - CHVYPF; 464 : SI (EGA TYPMOD 'TRID'); 465 : CHVZ = EXCO U 'UZ'; 466 : VZPF= EXTR CHVZ 'SCAL' PF; 467 : CHVZPF=MANU CHPO PMAIL 1 'SCAL' VZPF; 468 : CHVZ=CHVZ - CHVZPF; 469 : FINSI; 470 : SI ((ICOQ) ET (FLEX)); 471 : CHEP = CHEP/2.; 472 : CHRX = EXCO U 'RX'; 473 : CHRY = EXCO U 'RY'; 474 : CHRZ = EXCO U 'RZ'; 475 : RXPF= EXTR CHRX 'SCAL' PF; 476 : RYPF= EXTR CHRY 'SCAL' PF; 477 : RZPF= EXTR CHRZ 'SCAL' PF; 478 : CHRXPF=MANU CHPO PMAIL 1 'SCAL' RXPF; 479 : CHRYPF=MANU CHPO PMAIL 1 'SCAL' RYPF; 480 : CHRZPF=MANU CHPO PMAIL 1 'SCAL' RZPF; 481 : CHRX=CHRX - CHRXPF; 482 : CHRY=CHRY - CHRYPF; 483 : CHRZ=CHRZ - CHRZPF; 484 : FINSI; 485 : 486 : * ROTATION DES CHPS DE DEPL : DS REPERE DE LA FISSURE 487 : **----cas du 2 D----** 488 : SI (EGA &DIM 2); 489 : VECU = P1 MOIN PN; 490 : XU = VECU / (NORM VECU); 491 : YV = XU PVECT; 492 : X1 = COOR 1 XU; Y1 = COOR 2 XU; 493 : X2 = COOR 1 YV; Y2 = COOR 2 YV; 494 : CHU = (CHVX * X1) + (CHVY * Y1); 495 : CHV = (CHVX * X2) + (CHVY * Y2); 496 : **----cas du 3 D----** 497 : SINON; 498 : **--récupération du repère local :XU YV ZW--** 499 : VECU = P1 MOIN PN; 500 : XU = VECU / (NORM VECU); 501 : SI (IMASS); 502 : SI ((NBEL FRTFISS) > 1); 503 : FRTFI = FRTFISS DIFF (FRTFISS ELEM APPU LARG PF); 504 : PPRO = FRTFI POIN PROC PF; 505 : SINON; 506 : FRTFI = FRTFISS CHAN POI1; 507 : FRTFI = FRTFI DIFF (FRTFI ELEM APPU LARG PF); 508 : PPRO = FRTFI POIN PROC PF; 509 : FINSI; 510 : VECV = PPRO MOIN PF; 511 : FINSI; 512 : SI (ICOQ); 513 : ELPTE = MAIL ELEM APPU LARG PF; 514 : ELPT1 = ELPTE ELEM APPU LARG P1; 515 : ELPT = CHAN 'POI1' ELPT1; 516 : P1PN = P1 ET PF; 517 : PY = ELPT DIFF P1PN; 518 : NPY = NBEL PY; 519 : KK = 0; 520 : REPETER BKPY NPY; 521 : KK = KK + 1; 522 : PYP = PY POIN KK; 523 : VECX = PYP MOIN P1; 524 : PSUVX = PSCAL XU VECX; 525 : SI (PSUVX < 0); 526 : VECW = XU PVEC VECX; 527 : SINON; 528 : VECW = VECX PVEC XU; 529 : FINSI; 530 : VECV = VECW PVEC XU; 531 : NVECV = NORM VECV; 532 : SI (NVECV > 1.0E-6); 533 : QUITTER BKPY; 534 : FINSI; 535 : FIN BKPY; 536 : FINSI; 537 : YV = VECV / (NORM VECV); 538 : ZW = XU PVEC YV; 539 : ZW = ZW / (NORM ZW); 540 : **--calcul de la matrice de passage --** 541 : X1 = COOR 1 XU; Y1 = COOR 2 XU; Z1 = COOR 3 XU; 542 : X2 = COOR 1 YV; Y2 = COOR 2 YV; Z2 = COOR 3 YV; 543 : X3 = COOR 1 ZW; Y3 = COOR 2 ZW; Z3 = COOR 3 ZW; 544 : **--calcul des déplacements dans le repère local--** 545 : **--mode 1--** 546 : SI (IMASS); 547 : CHV = (X3 * CHVX) + (Y3 * CHVY) + (Z3 * CHVZ); 548 : CHU = (X1 * CHVX) + (Y1 * CHVY) + (Z1 * CHVZ); 549 : FINSI; 550 : FINSI; 551 : FINSI; 552 : 553 : SI (ICOQ); 554 : SI (EGA J 1); 555 : SI (MEMB); 556 : CHV = (X2 * CHVX) + (Y2 * CHVY) + (Z2 * CHVZ); 557 : CHU = (X1 * CHVX) + (Y1 * CHVY) + (Z1 * CHVZ); 558 : CHW = (X3 * CHVX) + (Y3 * CHVY) + (Z3 * CHVZ); 559 : SINON; 560 : CHU = (X2 * CHRX) + (Y2 * CHRY) + (Z2 * CHRZ); 561 : CHU = CHEP*CHU; 562 : CHV = (X1 * CHRX) + (Y1 * CHRY) + (Z1 * CHRZ); 563 : CHV = CHEP*CHV; 564 : CHV = (-1.)*CHV; 565 : FINSI; 566 : FINSI; 567 : SI (EGA J 2); 568 : CHU = (X2 * CHRX) + (Y2 * CHRY) + (Z2 * CHRZ); 569 : CHU = CHEP*CHU; 570 : CHV = (X1 * CHRX) + (Y1 * CHRY) + (Z1 * CHRZ); 571 : CHV = CHEP*CHV; 572 : CHV = (-1.)*CHV; 573 : FINSI; 574 : FINSI; 575 : 576 : 577 : *------------ INITIALISATIONS PRELIMINAIRES --------------* 578 : VECPF = MOIN PF PN; 579 : K1MOY = 0.; K2MOY = 0.; 580 : LIGP = TABLE; 581 : I = 0;CPT = 0; 582 : TR = TABLE; 583 : TK1 = TABLE; TK2 = TABLE; 584 : 585 : *---DEFINITION DES CONVENTIONS POUR K2 586 : SI (EGA MODMIXT VRAI); 587 : ELPTE = MAIL ELEM APPU LARG PF; 588 : ELPT1 = ELPTE ELEM APPU LARG P1; 589 : ELPT = CHAN 'POI1' ELPT1; 590 : P1PN = P1 ET PF; 591 : PY = ELPT DIFF P1PN; 592 : NPY = NBEL PY; 593 : KK = 0; 594 : REPETER BKPY1 NPY; 595 : KK = KK + 1; 596 : PYP = PY POIN KK; 597 : VECX = PYP MOIN PF; 598 : VCY = PSCA VECX YV; 599 : SI ((ABS(VCY)) > 1.0E-6); 600 : QUITTER BKPY1; 601 : FINSI; 602 : FIN BKPY1; 603 : SI (VCY > 0.); 604 : LIGP.1 = LIGP1; 605 : LIGP.2 = LIGP2; 606 : SINON; 607 : MESS 'ATTENTION! Echange des lignes de fissure!'; 608 : LIGP.1 = LIGP2; 609 : LIGP.2 = LIGP1; 610 : FINSI; 611 : NB = 2; 612 : SINON; 613 : NB = 1; 614 : LIGP.1 = LIGP1; 615 : FINSI; 616 : 617 : 618 : *-----------BOUCLE DE CALCULS------------------------------* 619 : 620 : REPETER BOUCLE NB; 621 : CPT = CPT + 1; 622 : CHPF = MANU CHPO LIGP.CPT 1 'SCAL' (NORM VECPF); 623 : SI (EGA &DIM 2); 624 : CHX1 = ((((COOR 1 LIGP.CPT) - (COOR 1 PN))**2) + 625 : (((COOR 2 LIGP.CPT) - (COOR 2 PN))**2))**0.5; 626 : SINON; 627 : CHX1 = ((((COOR 1 LIGP.CPT) - (COOR 1 PN))**2) + 628 : (((COOR 2 LIGP.CPT) - (COOR 2 PN))**2) + 629 : (((COOR 3 LIGP.CPT) - (COOR 3 PN))**2))**0.5; 630 : 631 : FINSI; 632 : CHX = ABS (CHX1 - CHPF); 633 : CHV1 = REDU CHV LIGP.CPT; 634 : CHU2 = REDU CHU LIGP.CPT; 635 : SI (EGA MODMIXT VRAI); 636 : 637 : 638 : *--------- METHODE DES MOINDRES CARRES : MODE 2 ---------* 639 : 640 : CHY = CHU2**2; 641 : CHXY = CHX * CHY; 642 : CHX2 = CHX**2; 643 : CHY2 = CHY**2; 644 : SOMX = RESU CHX; SOMX = MAXI SOMX; 645 : SOMY = RESU CHY; SOMY = MAXI SOMY; 646 : SOMXY = RESU CHXY; SOMXY = MAXI SOMXY; 647 : SOMX2 = RESU CHX2; SOMX2 = MAXI SOMX2; 648 : SOMY2 = RESU CHY2; SOMY2 = MAXI SOMY2; 649 : DET1 = (N * SOMX2) - (SOMX**2); 650 : ANUM = (N * SOMXY) - (SOMX * SOMY); 651 : VA2 = ANUM / DET1; 652 : BNUM = (SOMY * SOMX2) - (SOMXY * SOMX); 653 : VB2 = BNUM / DET1; 654 : DET2 = (N * SOMY2) - (SOMY**2); 655 : ANUM2 = (N * SOMXY) - (SOMX * SOMY); 656 : A2 = ANUM2 / DET2; 657 : R2 = VA2 * A2; 658 : DELTA = -1 * (VB2 / VA2); 659 : SI (EGA &IMP 1); 660 : mess 'moindres carrés mode 2 : R2 = 'R2; 661 : FINSI; 662 : FINSI; 663 : 664 : 665 : *---------- METHODE DES MOINDRES CARRES : MODE 1-------- * 666 : 667 : 668 : CHV2 = CHV1**2; 669 : CHY = CHV2; 670 : CHXY = CHX * CHY; 671 : CHX2 = CHX**2; 672 : CHY2 = CHY**2; 673 : SOMX = RESU CHX; SOMX = MAXI SOMX; 674 : SOMY = RESU CHY; SOMY = MAXI SOMY; 675 : SOMXY = RESU CHXY; SOMXY = MAXI SOMXY; 676 : SOMX2 = RESU CHX2; SOMX2 = MAXI SOMX2; 677 : SOMY2 = RESU CHY2; SOMY2 = MAXI SOMY2; 678 : DET1 = (N * SOMX2) - (SOMX**2); 679 : ANUM = (N * SOMXY) - (SOMX * SOMY); 680 : VA1 = ANUM / DET1; 681 : BNUM = (SOMY * SOMX2) - (SOMXY * SOMX); 682 : VB1 = BNUM / DET1; 683 : DET2 = (N * SOMY2) - (SOMY**2); 684 : ANUM2 = (N * SOMXY) - (SOMX * SOMY); 685 : A2 = ANUM2 / DET2; 686 : R1 = VA1 * A2; 687 : BETA = -1. * (VB1 / VA1); 688 : SI (EGA &IMP 1); 689 : mess 'moindres carrés mode 1 :R1 = 'R1; 690 : FINSI; 691 : 692 : 693 : 694 : 695 : *------ VALEUR DE K1 ET (OU) K2 EN CHAQUE POINT---------* 696 : 697 : RF = norm VECPF; 698 : VF = EXTR (REDU CHV PF) 'SCAL' PF; 699 : UF = EXTR (REDU CHU PF) 'SCAL' PF; 700 : VNUM=prog (N+1) * 0.; 701 : V2TH=prog (N+1) * 0.; 702 : V2NUM=prog (N+1) * 0.; 703 : DISTR=prog (N+1) * 0.; 704 : remp VNUM 1 VF; 705 : remp V2NUM 1 (VF**2); 706 : remp V2TH 1 VB1; 707 : SI (EGA MODMIXT VRAI); 708 : UNUM=prog (N+1) * 0.; 709 : U2TH=prog (N+1) * 0.; 710 : U2NUM=prog (N+1) * 0.; 711 : remp UNUM 1 UF; 712 : remp U2NUM 1 (UF**2); 713 : remp U2TH 1 VB2; 714 : FINSI; 715 : ITR = 0; 716 : REPETER BK1 N; 717 : ITR = ITR + 1; 718 : I = I + 1; 719 : PTI = LIGP.CPT POIN ITR; 720 : VECPI = MOIN PTI PN; 721 : RI = NORM VECPI; 722 : R = ABS (RI - RF); 723 : TR.I = R; 724 : VI = EXTR (REDU CHV PTI) 'SCAL' PTI; 725 : RRR = R - BETA; 726 : * mess ' R = 'R' BETA = 'BETA' R - BETA = 'RRR; 727 : SGNR = 1.; 728 : SI (< RRR 0.); 729 : SGNR = -1.; 730 : FINSI; 731 : RRR = SGNR*RRR; 732 : K1I = SGNR*(ABS((COEF / ((RRR)**0.5)) * VI)); 733 : remp DISTR (ITR+1) R; 734 : remp V2NUM (ITR+1) (VI**2); 735 : remp VNUM (ITR+1) VI; 736 : VI2TH=(VA1 * R) + VB1; 737 : remp V2TH (ITR+1) VI2TH; 738 : TK1.I = K1I; 739 : K1MOY = K1MOY + K1I; 740 : 741 : 742 : *-----CAS DU MODE MIXTE ------* 743 : 744 : SI (EGA MODMIXT VRAI); 745 : UI = EXTR (REDU CHU PTI) 'SCAL' PTI; 746 : RRR = R - DELTA; 747 : SGNR = 1.; 748 : SI (< RRR 0.); 749 : SGNR = -1.; 750 : FINSI; 751 : RRR = SGNR*RRR; 752 : SI (< UI 0.); 753 : SI (EGA CPT 1); 754 : SGNR = (-1.)*SGNR; 755 : FINSI; 756 : FINSI; 757 : SI (> UI 0.); 758 : SI (EGA CPT 2); 759 : SGNR = (-1.)*SGNR; 760 : FINSI; 761 : FINSI; 762 : K2I = SGNR*(ABS((COEF / ((RRR)**0.5)) * UI)); 763 : remp U2NUM (ITR+1) (UI**2); 764 : remp UNUM (ITR+1) UI; 765 : UI2TH = (VA2 * R) + VB2; 766 : remp U2TH (ITR+1) UI2TH; 767 : TK2.I = K2I; 768 : K2MOY = K2MOY + K2I; 769 : FINSI; 770 : *-----------------------------* 771 : 772 : FIN BK1; 773 : 774 : 775 : ***----------------TRACES DE COURBES--------------------**** 776 : 777 : 778 : SI (EGA &IMP 1); 779 : titr 'courbes V=g(r) et U=h(r)'; 780 : C1NUM = evol manu abs DISTR ord VNUM; 781 : titr 'droites THEORIQUES ET NUMERIQUES V**2=f(r)'; 782 : CNUM1 = evol manu abs DISTR ord V2NUM; 783 : CTH1 = evol manu abs DISTR ord V2TH; 784 : T=TABLE; 785 : T1=TABLE; 786 : T.1='MARQ ETOI '; 787 : T.2='MARQ TRIA '; 788 : T1.1='MARQ CARR '; 789 : T.'TITRE'=TABLE; 790 : T1.'TITRE'=TABLE; 791 : T.'TITRE'. 1 = 'MOT' 'NUM_MODE1'; 792 : T.'TITRE'. 2 = 'MOT' 'THEO_MODE1'; 793 : T1.'TITRE'. 1 = 'MOT' 'V=g(r)'; 794 : CTOT1 = CNUM1 et CTH1; 795 : SI (EGA MODMIXT VRAI); 796 : CNUM2 = evol manu abs DISTR ord U2NUM; 797 : CTH2 = evol manu abs DISTR ord U2TH; 798 : C2NUM = evol manu abs DISTR ord UNUM; 799 : T.3='MARQ CARR '; 800 : T.4='MARQ LOSA '; 801 : T.'TITRE'. 3 = MOT 'NUM_MODE2'; 802 : T.'TITRE'. 4 = MOT 'THEO_MODE2'; 803 : CTOT2 = CNUM2 ET CTH2; 804 : DESS (CTOT1 ET CTOT2) LOGO LEGE T; 805 : T1.2='MARQ ETOI '; 806 : T1.'TITRE'. 2= 'MOT' 'U=h(r)'; 807 : DESS (C1NUM ET C2NUM) LOGO LEGE T1; 808 : SINON; 809 : DESS CTOT1 LOGO LEGE T ; 810 : DESS C1NUM LOGO LEGE T1; 811 : FINSI; 812 : FINSI; 813 : 814 : FIN BOUCLE; 815 : 816 : 817 : SI (EGA MODMIXT VRAI);N = (2 * N);FINSI; 818 : 819 : *---------------------VALEUR MOYENNE DE K------------------* 820 : 821 : 822 : K1MOY = K1MOY / N; 823 : SI (EGA MODMIXT VRAI); 824 : K2MOY = K2MOY / N; 825 : FINSI; 826 : 827 : 828 : 829 : 830 : *************************************************************** 831 : * IMPRESSIONS * 832 : *************************************************************** 833 : 834 : 835 : MESS '********************************************'; 836 : MESS '* R * VALEUR DE K1 * (VALEUR DE K2) *'; 837 : MESS '********************************************'; 838 : IPRES = 0; 839 : REPETER BIMPRESS N; 840 : IPRES = IPRES + 1; 841 : TTR = TR.IPRES; 842 : TTK1 = TK1.IPRES; 843 : SI (EGA MODMIXT VRAI); 844 : SI (EGA IPRES 1); MESS 'LIGNE 1'; FINSI; 845 : SI (EGA IPRES 4); MESS 'LIGNE 2'; FINSI; 846 : TTK2 = TK2.IPRES; MESS TTR TTK1 TTK2 ; 847 : SINON; MESS TTR TTK1; 848 : FINSI; 849 : FIN BIMPRESS; 850 : MESS 'VALEUR MOYENNE : K1MOY = 'K1MOY ; 851 : SI (EGA MODMIXT VRAI); 852 : MESS 'VALEUR MOYENNE : K2MOY = 'K2MOY ; 853 : FINSI; 854 : SI (IMASS); 855 : TABK1.PF = K1MOY; 856 : SI (EGA MODMIXT VRAI); 857 : TABK2.PF = K2MOY; 858 : FINSI; 859 : SINON; 860 : SUPTAB.'K1' = K1MOY; 861 : SI (EGA MODMIXT VRAI); 862 : SUPTAB.'K2' = K2MOY; 863 : FINSI; 864 : FINSI; 865 : 866 : SI (ICOQ); 867 : SI ((EGA J 1) 'ET' (MEMB)); 868 : TABK1.'MEMBRANE' = K1MOY; 869 : SI (EGA MODMIXT VRAI); 870 : TABK2.'MEMBRANE' = K2MOY; 871 : FINSI; 872 : SINON; 873 : TABK1.'FLEXION' = K1MOY; 874 : SI (EGA MODMIXT VRAI); 875 : TABK2.'FLEXION' = K2MOY; 876 : FINSI; 877 : FINSI; 878 : FINSI; 879 : 880 : FIN BKTOTALE; 881 : 882 : SI (ICOQ); 883 : TABK1.'TOTAL' = 0.; 884 : SI (EGA MODMIXT VRAI); 885 : TABK2.'TOTAL' = 0.; 886 : FINSI; 887 : SI (MEMB); 888 : TABK1.'TOTAL' = TABK1.'MEMBRANE'; 889 : SI (EGA MODMIXT VRAI); 890 : TABK2.'TOTAL' = TABK2.'MEMBRANE'; 891 : FINSI; 892 : FINSI; 893 : SI (FLEX); 894 : TABK1.'TOTAL' = TABK1.'TOTAL' + TABK1.'FLEXION'; 895 : SI (EGA MODMIXT VRAI); 896 : TABK2.'TOTAL' = TABK2.'TOTAL' + TABK2.'FLEXION'; 897 : FINSI; 898 : FINSI; 899 : FINSI; 900 : 901 : SI ((IMASS) 'OU' (ICOQ)); 902 : SUPTAB.'K1'= TABK1; 903 : SI (EGA MODMIXT VRAI); 904 : SUPTAB.'K2'= TABK2; 905 : FINSI; 906 : FINSI; 907 : 908 : SI (IGDDEP); 909 : FORM CONF0; 910 : FINSI; 911 : 912 : FINPROC SUPTAB; 913 : 914 : 915 : 916 : 917 :
© Cast3M 2003 - All rights reserved.
Disclaimer