Download mayoto.procedur

Back to the list

   1 : * MAYOTO    PROCEDUR  JC220346  12/09/12    21:15:07     7501           
   2 : DEBP MAYOTO epp*mot tab*table;
   3 : opti dime 2 elem qua8;
   4 : si (ega epp ct);
   5 : * recuperation des donnees de la table
   6 : a= tab . a;
   7 : b= tab . b;
   8 : k= tab . k;
   9 : app= tab . app;
  10 : 
  11 : 
  12 : * demi-hauteur de l'eprouvette
  13 : h= 0.6 * b;
  14 : * distance verticale entre la fissure et l'eprouvette
  15 : h1= 0.275 * b;
  16 : * diametre des trous
  17 : Di= 0.25 * b;
  18 : * largeur du cote droit de l'eprouvette
  19 : c= 0.25 * b;
  20 : * epaisseur de l'eprouvette
  21 : ep= b / 2;
  22 : 
  23 : * geometrie du rectangle d'approche: demi-cote
  24 : v= b - a;
  25 : r= mini (prog (b / 75.E-1) v);
  26 : 
  27 : 
  28 : * geometrie du pave de quadrangle: demi-cote
  29 : * rayon de la couronne
  30 : p1= r / 2;
  31 : 
  32 : * nbre d'elts sur 1 cote (rectangle ou pave)
  33 : nr= 5 * k;
  34 : 
  35 : * taille des elts sur le cote du rectangle
  36 : tmr= r / nr;
  37 : 
  38 : *coef d'elim
  39 : 
  40 : coelim= tmr / 100;
  41 : 
  42 : * taille des elts dans le pave
  43 : tmp= p1 / nr;
  44 : 
  45 : * densite dans le pave du quadrangle
  46 : dens (3 * tmr);
  47 : dci= tmr;
  48 : 
  49 : 
  50 : * pt origine
  51 : p0= 0. 0.;
  52 : 
  53 : * pointe de fissure
  54 : pfis= a 0.;
  55 : 
  56 : * contour exterieur de la demi-eprouvette
  57 : pbd= b 0.;
  58 : phd= b h;
  59 : phg= (0. - c) h;
  60 : pbg= (0. - c) 0.;
  61 : 
  62 : * geometrie du trou
  63 : r1= di / 2;
  64 : ce= 0. h1;
  65 : c1= r1 h1;
  66 : c1p= (r1 * (cos 45)) (h1 + (r1 * (sin 45)));
  67 : c2= 0. (h1 + r1);
  68 : c2p= (0. - (r1 * (cos 45))) (h1 + (r1 * (sin 45)));
  69 : c3= (0. - r1) h1;
  70 : c4= 0. (h1 - r1);
  71 : tr11= cerc c1 ce c1p;
  72 : tr12= cerc c1p ce c2;
  73 : tr1= tr11 et tr12;
  74 : tr21= cerc c2 ce c2p;
  75 : tr22= cerc c2p ce c3;
  76 : tr2= tr21 et tr22;
  77 : tr3= cerc c3 ce c4;
  78 : tr4= cerc c4 ce c1;
  79 : trchar= tr1 et tr2 et tr3 et tr4;
  80 : 
  81 : * modelisation de la goupille
  82 : cgoup= tr12 et tr21;
  83 : goup= cout cgoup ce;
  84 : elim coelim goup trchar;
  85 : 
  86 : * geometrie du rectangle d'approche
  87 : prbd= pfis plus (r 0.);
  88 : prbg= pfis moins (r 0.);
  89 : pmh= pfis plus (0. r);
  90 : prhd= pfis plus (r r);
  91 : prhg= pfis moins (r (0. - r));
  92 : recd= prhd d nr prbd;
  93 : rech1= prhg d nr pmh;
  94 : rech2= pmh d nr prhd;
  95 : rech= rech1 et rech2;
  96 : recg= prbg d nr prhg;
  97 : conr= recd et recg et rech;
  98 : 
  99 : 
 100 : * densites du contour externe
 101 : dci= tmr;
 102 : 
 103 : pden=prhd moins pfis;
 104 : lden=(((coor 1 pden)**2)+((coor 2 pden)**2))**0.5;
 105 : coeden=dci / lden;
 106 : 
 107 : pden=phd moins pfis;
 108 : lden=(((coor 1 pden)**2)+((coor 2 pden)**2))**0.5;
 109 : denphd=coeden * lden;
 110 : 
 111 : pden=phg moins pfis;
 112 : lden=(((coor 1 pden)**2)+((coor 2 pden)**2))**0.5;
 113 : denphg=coeden * lden;
 114 : 
 115 : pden=pbg moins pfis;
 116 : lden=(((coor 1 pden)**2)+((coor 2 pden)**2))**0.5;
 117 : denpbg=coeden * lden;
 118 : 
 119 : pden=pbd moins pfis;
 120 : lden=(((coor 1 pden)**2)+((coor 2 pden)**2))**0.5;
 121 : denpbd=coeden * lden;
 122 : 
 123 : jj=prbg d pbg dini dci dfin denpbg;
 124 : si (neg r v);
 125 :   dt4= prbd d pbd dini dci dfin denpbd;
 126 : finsi;
 127 : 
 128 : 
 129 : *maillage d'approche
 130 : si (ega app 0);
 131 : *               maillage du pave de quadrangle
 132 :                 ppbd= pfis plus (p1 0.);
 133 :                 ppbd= pfis plus (p1 0.);
 134 :                 ppbg= pfis moins (p1 0.);
 135 :                 bapd= d nr pfis ppbd;
 136 :                 bapg= pfis droit nr ppbg;
 137 :                 basp= ordo (bapd et bapg) ;
 138 :                 pave= basp tran nr (0. p1);
 139 :                 copav2= pave cote 2;
 140 :                 copav3= pave cote 3;
 141 :                 copav4= pave cote 4;
 142 : *               maillage de la zone intermediaire pave-rectangle
 143 :                 su3= copav3 regler nr rech;
 144 :                 su4= copav4 regler nr recd;
 145 :                 su2= copav2 regler nr recg;
 146 :                 su= su2 et su3 et su4;
 147 :                 apro= pave et su;
 148 :                 elim coelim (su4 cote 4) (su3 cote 2);
 149 :                 elim coelim (su2 cote 2) (su3 cote 4);
 150 :                 fis= jj et bapg et (su2 cote 4);
 151 :                 si (neg r v);
 152 :                         nfis= dt4 et bapd et (su4 cote 2);
 153 :                 sinon;
 154 :                         nfis= bapd et (su4 cote 2);
 155 :                 finsi;
 156 : *       maillage rayonnant
 157 :         sinon;
 158 : *               construction de la couronne
 159 :                 poco= pfis plus (tmp 0.);
 160 :                 pocf= pfis plus (p1 0.);
 161 :                 genco= poco d (nr - 1) pocf;
 162 :                 su21= genco rota nr 45. pfis;
 163 :                 l21= su21 cote 4;
 164 :                 c21= su21 cote 2;
 165 :                 su22= (su21 cote 3) rota nr 45. pfis;
 166 :                 l22= su22 cote 2;
 167 :                 c22= su22 cote 4;
 168 :                 su23= (su22 cote 3) rota nr 45. pfis;
 169 :                 l23= su23 cote 4;
 170 :                 c23= su23 cote 2;
 171 :                 su24= (su23 cote 3) rota nr 45. pfis;
 172 :                 l24= su24 cote 2;
 173 :                 c24= su24 cote 4;
 174 :                 cour= su21 et su22 et su23 et su24;
 175 :                 lint1= l21 et l22;
 176 :                 lext1= c21 et c22;
 177 : *       maillage de l'interieur de la couronne
 178 :                 diap1= cout pfis lint1;
 179 :                 lint2= l23 et l24;
 180 :                 lext2= c23 et c24;
 181 :                 diap2= cout pfis lint2;
 182 :                 elim coelim diap1 diap2;
 183 : *       maillage de la partie intermediaire couronne-rectangle
 184 :                 diad= pocf d nr prbd;
 185 :                 diadh= prhd d nr (c21 poin final);
 186 :                 diam= (c22 poin initial) d nr pmh;
 187 :                 diagh= (c23 poin final) d nr prhg;
 188 :                 diag= (c24 poin initial) d nr prbg;
 189 :                 recd= inve recd;
 190 :                 su1= dall diad recd diadh c21 plan;
 191 :                 diam= inve diam;
 192 :                 su2= dall c22 diam rech2 diadh plan;
 193 :                 su3= dall c23 diagh rech1 diam plan;
 194 :                 su4= dall c24 diag recg diagh plan;
 195 :                 su= su1 et su2 et su3 et su4;
 196 :                 elim coelim su2 su3;
 197 :                 diap= diap1 et diap2;
 198 :                 apro= su et cour et diap;
 199 :                 c2pf= c24 poin initial;
 200 :                 bapg= pfis d nr c2pf;
 201 :                 fis= jj et (su24 cote 3) et (su4 cote 2) et bapg;
 202 :                 elim coelim bapg (diap et su24);
 203 :                 ll= pfis d nr (c21 poin initial);
 204 :                 elim coelim ll (diap1 et su21);
 205 :                 si (neg r v);
 206 :                         nfis= dt4 et (su1 cote 1) et genco et ll;
 207 :                 sinon;
 208 :                         nfis= ll et genco et (su1 cote 1);
 209 :                 finsi;
 210 :         finsi;
 211 : 
 212 : *maillage du contour exterieur de l'eprouvette
 213 : si (neg r v);
 214 :   context=recg et rech et recd et dt4;
 215 :   context=context et (d pbd phd dini denpbd dfin denphd);
 216 :   context=context et (d phd phg dini denphd dfin denphg);
 217 :   context=context et (d phg pbg dini denphg dfin denpbg);
 218 :   context=context et (d pbg prbg dini denpbg dfin dci);
 219 : sinon;
 220 :   context=recg et rech;
 221 :   context=context et (d prhd phd dini dci dfin denphd);
 222 :   context=context et (d phd phg dini denphd dfin denphg);
 223 :   context=context et (d phg pbg dini denphg dfin denpbg);
 224 :   context=context et (d pbg prbg dini denpbg dfin dci);
 225 : finsi;
 226 : trchar=inve trchar;
 227 : 
 228 : plaq1=context et trchar;
 229 : ss= surf plaq1 plan;
 230 : supe=apro et ss;
 231 : 
 232 : 
 233 : * obtention de la partie inferieur par symetrie
 234 : 
 235 : fis2= fis syme droit pbg pbd;
 236 : ce2= ce syme droit pbg pbd;
 237 : goup2= goup syme droit pbg pbd;
 238 : goup= goup et goup2;
 239 : infe= supe syme droi pbg pbd;
 240 : elim coelim fis2 infe;
 241 : elim coelim fis supe;
 242 : fis= fis et fis2;
 243 : epro= supe et infe;
 244 : elim coelim goup epro;
 245 : elim coelim (goup2 et ce2);
 246 : si (neg r v);
 247 :         elim coelim dt4 infe;
 248 : finsi;
 249 : elim coelim su2 su3;
 250 : si (ega app 1);
 251 :         elim coelim diap1 infe;
 252 :         elim coelim diad infe;
 253 :         elim coelim genco infe;
 254 : sinon;
 255 :         elim coelim (su4 cote 2) infe;
 256 :         elim coelim bapd infe;
 257 : finsi;
 258 : 
 259 : res= table;
 260 : res . e= epro;
 261 : res . p= pfis;
 262 : res . f= fis;
 263 : res . n= nfis;
 264 : res . i= ce;
 265 : res . m= ce2;
 266 : res . g= goup;
 267 : 
 268 : finsi;
 269 : 
 270 : si (ega epp ccp);
 271 : l= tab . l;
 272 : lf= tab . lf;
 273 : app= tab . app;
 274 : 
 275 : * calcul de la demi-hauteur de l'eprouvette
 276 : h= 2 * l;
 277 : 
 278 : * largeur de bande deposee (pour un letal bi-phase)
 279 : ldep= L / 4;
 280 : 
 281 : * nombre de decoupes sur 45 degres
 282 : n= 5;
 283 : 
 284 : * taille de maille maximum en pointe de fissure
 285 : *tmax= 10;
 286 : 
 287 : * geometrie de l'eprouvette: parametres intermediaires
 288 : 
 289 : * longueur de l'eprouvette non fissuree
 290 : ln= l - lf;
 291 : 
 292 : * demi-cote du rectangle d'approche
 293 : c= mini (prog (L / 5) ln lf);
 294 : 
 295 : * rayon du disque
 296 : r= c / 2;
 297 : 
 298 : * densite en peripherie du disque
 299 : te= 1.5 * ((pi * r) / (4. * n));
 300 : 
 301 : * taille des elts en pointe de fissure
 302 : tm= (( r / 2.) / n) - (((r / 2.) / n) / 10.);
 303 : 
 304 : * densite au premier arc
 305 : si (ega app 0);
 306 :         ta= tm * 2;
 307 : sinon;
 308 :        ta= tm;
 309 : finsi;
 310 : 
 311 : * coefs d'elim
 312 : coelimte= te / 100;
 313 : coelimtm= tm / 100;
 314 : coelimta= ta / 100;
 315 : 
 316 : dens ta;
 317 : p0= 0. 0.;
 318 : pfis= lf 0.;
 319 : si (ega app 1);
 320 :         p2= pfis plus (tm 0.);
 321 : sinon;
 322 :         p2= pfis plus ((tm * n * 2.) 0.);
 323 : finsi;
 324 : dens te;
 325 : p10= pfis plus (r 0.);
 326 : ligam0= p2 d p10;
 327 : su21= ligam0 rota n 45. pfis;
 328 : l21= su21 cote 4;
 329 : c21= su21 cote 2;
 330 : su22= (su21 cote 3) rota n 45. pfis;
 331 : l22= su22 cote 2;
 332 : c22= su22 cote 4;
 333 : su23= (su22 cote 3) rota n 45. pfis;
 334 : l23= su23 cote 4;
 335 : c23= su23 cote 2;
 336 : su24= (su23 cote 3) rota n 45. pfis;
 337 : l24= su24 cote 2;
 338 : c24= su24 cote 4;
 339 : 
 340 : rac1= l21 et l22;
 341 : rac2= l23 et l24;
 342 : 
 343 : rac= rac1 et rac2;
 344 : fis2= su24 cote 3;
 345 : su2= su21 et su22 et su23 et su24;
 346 : ******************************************************
 347 : si (ega app 1);
 348 :         su0p= cout pfis rac1;
 349 :         su0d= cout pfis rac2;
 350 :         elim coelimte su0p su0d;
 351 :         su0= su0p et su0d;
 352 :         su01= chan su0 lign;
 353 :         fis1= su01 elem 4;
 354 :         p01= (pfis plus p2) / 2;
 355 :         lig0= su01 elem appuye strictement (pfis et (su0 poin proc
 356 :         p01) et p2);
 357 :         ligam0= ligam0 et lig0;
 358 :         l1= ligam0;
 359 : sinon;
 360 :         dens tm;
 361 :         qad= pfis plus ((tm * n) 0.);
 362 :         qag= pfis moin ((tm * n) 0.);
 363 :         basd= pfis d n qad;
 364 :         basg= pfis d n qag;
 365 :         bas= basg et basd;
 366 :         ordo bas;
 367 :         pave= bas tran n (0. (tm * n));
 368 :         copav1= pave cote 2;
 369 :         copav2= pave cote 3;
 370 :         copav3= pave cote 4;
 371 :         copav= copav1 et copav2 et copav3;
 372 : 
 373 :         joncd= qad d p2;
 374 :         joncg= qag d (su24 poin proch qag);
 375 :         sujon= dall copav joncd rac joncg plan;
 376 :         su0= sujon et pave;
 377 :         lig0= basd et joncd;
 378 :         ligam0= ligam0 et lig0;
 379 :         l1= ligam0;
 380 :         fis1= basg et joncg;
 381 : finsi;
 382 : 
 383 : dens (2. * te);
 384 : pdb= pfis plus (c 0.);
 385 : pdh= pfis plus (c c);
 386 : pmh= pfis plus  (0. c);
 387 : pgh= pfis plus (((-1) * c) c);
 388 : pgb= pfis plus (((-1) * c) 0.);
 389 : 
 390 : card= pdb d n pdh;
 391 : carhd= pdh d n pmh;
 392 : carhg= pmh d n pgh;
 393 : carg= pgh d n pgb;
 394 : 
 395 : decc= ((-1) * (enti ((c - r) / (1. * te)))) - 1;
 396 : diad= (c21 point initial) d decc pdb ;
 397 : diadh= (c22 poin final) d decc pdh;
 398 : diam= (c23 poin initial) d decc pmh;
 399 : diagh= (c24 poin final) d decc pgh;
 400 : diag= (c24 poin initial) d decc pgb;
 401 : su3= dall c21 diadh card diad plan;
 402 : su4= (dall c22 diam carhd diadh plan) et
 403 :      (dall c23 diagh carhg diam plan);
 404 : su5= dall c24 diag carg diagh plan;
 405 : 
 406 : carre= su0 et su2 et su3 et su4 et su5;
 407 : ligam1= ligam0 et diad;
 408 : 
 409 : * creation du maillage de la partie metal depose
 410 : 
 411 : clcritw= (c < (ln + coelimte)) et (c > (ln - coelimte));
 412 : clcrita= (c < (lf + coelimte)) et (c > (lf - coelimte));
 413 : cldep= (c < (ldep + coelimte)) et (c > (ldep - coelimte));
 414 : 
 415 : si ((non clcritw) et (non clcrita));
 416 :         vtl= 0. (ldep - c);
 417 :         vtg= (((-1) * (lf - c)) 0.);
 418 :         vtd= (ln - c) 0.;
 419 :         nfl= enti ((ldep - c) / (mesu (carhd elem 1) long));
 420 :         nfg= enti ((lf - c) / (mesu (carg elem 1) long));
 421 :         nfd= enti ((ln - c) / (mesu (card elem 1) long));
 422 :         si (ega nfg 0);
 423 :                 nfg= 1;
 424 :                 su7= carg tran nfg vtg;
 425 :         sinon;
 426 :                 densi= (mesu (carg elem 1) long);
 427 :                 densf= densi * (1 + (nfg / 20.));
 428 :                 su7= carg tran dini densi dfin densf vtg;
 429 :         finsi;
 430 : 
 431 :         si (ega nfd 0);
 432 :                 nfd= 1;
 433 :                 su6= card tran nfd vtd;
 434 :         sinon;
 435 :                 densi= (mesu (card elem 1) long);
 436 :                 densf= densi * (1 + (nfd / 20.));
 437 :                 su6= card tran dini densi dfin densf vtd;
 438 :         finsi;
 439 : 
 440 :         l8= (su7 cote 4) et (su6 cote 2) et carhd et carhg;
 441 :         l8 = ordo l8;
 442 : 
 443 :         densi= (mesu (carhd elem 1) long);
 444 :         densf= densi * (1 +(nfl / 10.));
 445 :         su8= l8 tran dini densi dfin densf vtl;
 446 : 
 447 :         mdep= carre et su6 et su7 et su8;
 448 :         l8b= su8 cote 3;
 449 :         ligam= ligam1 et (su6 cote 4);
 450 :         lsym1= (su7 cote 3) et (su8 cote 4);
 451 : 
 452 : finsi;
 453 : 
 454 : si (clcritw);
 455 :         mess 'Cas critique W';
 456 :         vtl= 0. (ldep - c);
 457 :         vtt= (((-1) * (lf - c)) 0.);
 458 :         nfl= enti ((ldep - c) / (mesu (carhd elem 1) long));
 459 :         nft= enti ((lf - c) / (mesu (carg elem 1) long));
 460 :         densi= (mesu (carg elem 1) long);
 461 :         densf= densi * (1 + (nft / 20.));
 462 :         su7= carg tran dini densi dfin densf vtt;
 463 :         l8= (su7 cote 4) et carhd et carhg;
 464 :         l8 = ordo l8;
 465 :         densi= (mesu(carhd elem 1) long);
 466 :         densf= densi * (1 + (nfl / 10.));
 467 :         su8= l8 tran dini densi dfin densf vtl;
 468 :         mdep= carre et su7 et su8;
 469 :         l8b= su8 cote 3;
 470 :         ligam= ligam1;
 471 :         lsym1= (su7 cote 3) et (su8 cote 4);
 472 : finsi;
 473 : 
 474 : si (clcrita);
 475 :         mess 'Cas critique A';
 476 :         vtl= 0. (ldep - c);
 477 :         vtt= (ln - c) 0.;
 478 :         nfl= enti ((ldep - c) / (mesu (carhd elem 1) long));
 479 :         nft= enti ((ln - c) / (mesu (card elem 1) long));
 480 :         densi= (mesu (card elem 1) long);
 481 :         densf= densi * (1 + (nft / 20.));
 482 :         su6= card tran dini densi dfin densf vtt;
 483 :         l8= (su6 cote 2) et carhd et carhg;
 484 :         l8 = ordo l8;
 485 :         densi= (mesu (carhd elem 1) long);
 486 :         densf= densi * (1 + (nfl / 10.));
 487 :         su8= l8 tran dini densi dfin densf vtl;
 488 :         mdep= carre et su6 et su8;
 489 :         l8b= su8 cote 3;
 490 :         l8b= inve l8b;
 491 :         ligam= ligam1 et (su6 cote 4);
 492 :         lsym1= (su8 cote 2) et carg;
 493 : finsi;
 494 : 
 495 : si (clcrita);
 496 :         fis= fis1 et fis2 et diag;
 497 : sinon;
 498 :         fis= fis1 et fis2 et diag et (su7 cote 2);
 499 : finsi;
 500 : 
 501 : si (clcrita);
 502 :         cd1= (su6 cote 2) et (su8 cote 2);
 503 : finsi;
 504 : 
 505 : si (clcritw);
 506 :         cd1= card et (su8 cote 2);
 507 : finsi;
 508 : 
 509 : si ((non clcrita) et (non clcritw));
 510 :         cd1= (su6 cote 3) et (su8 cote 2);
 511 : finsi;
 512 : 
 513 : * construction de la partie metal de base
 514 : 
 515 : l8b = ordo l8b;
 516 : pii= l8b poin initial;
 517 : pf= l8b poin final;
 518 : lu= (mesu l8b long) / (nbel l8b) *1.2;
 519 : fron1= (pii plus (0. lu)) d (enti ((nbel l8b) / 1.5))
 520 :        (pf plus (0. lu));
 521 : lub= ((mesu fron1 long) / (nbel fron1)) * 1.2;
 522 : pib= fron1 poin initial;
 523 : pfb= fron1 poin final;
 524 : fron2= (pib plus (0. lub)) d (enti ((nbel fron1) / 1.5))
 525 :        (pfb plus (0. lub));
 526 : 
 527 : join1= cout l8b fron1;
 528 : join2= cout fron1 fron2;
 529 : join= join1 et join2;
 530 : joinl= chan join1 ligne;
 531 : joinp= joinl poin droit p0 (p0 plus (0. 10.)) (tm / 10.);
 532 : lsym2= joinl elem appuye strictement joinp;
 533 : 
 534 : lrest= H - (ldep + lu + lub);
 535 : vt= 0. lrest;
 536 : le= mesu (fron2 elem 1) long;
 537 : corp= fron2 tran (enti (lrest / le)) vt;
 538 : lsym3= corp cote 2;
 539 : cd2= join1 cote 4;
 540 : cd3= join2 cote 4;
 541 : cd4= corp cote 4;
 542 : cd= cd1 et cd2 et cd3 et cd4;
 543 : 
 544 : mbas= corp et join;
 545 : 
 546 : * plan vertical de symetrie
 547 : lsym= lsym1 et lsym2 et lsym3;
 548 : lsym= lsym coul vert;
 549 : psm= p0;
 550 : 
 551 : * recuperation du cote haut pour definir face de chargement;
 552 : schar= corp cote 3;
 553 : schar= schar coul rouge;
 554 : 
 555 : * ligament
 556 : ligam= ligam coul bleu;
 557 : pel= ligam poin proch (p0 plus (l 0.));
 558 : 
 559 : * recuperation du maillage complet de la demi-eprouvette
 560 : epro= mbas et mdep;
 561 : 
 562 : * recuperation des resultats dans la table res
 563 : res= table;
 564 : res . e= epro;
 565 : res . s= schar;
 566 : res . p= pfis;
 567 : res . f= fis;
 568 : res . o= cd;
 569 : res . m= ligam;
 570 : res . v= lsym;
 571 : finsi;
 572 : 
 573 : si (ega epp senb);
 574 : *recuperation des elts de la table
 575 : s= tab.s;
 576 : b= tab.b;
 577 : a= tab.a;
 578 : app= tab.app;
 579 : k= tab.k;
 580 : 
 581 : * geometrie de l'eprouvette: calcul du demi cote du pave
 582 : c=s/2;
 583 : 
 584 : * geometrie de l'eprouvette: points definissant le contour
 585 : p0=0. 0.;
 586 : pfis=0. a;
 587 : pdh= c b;
 588 : 
 589 : * geometrie de l'eprouvette: demi cote du rectangle d'approche
 590 : t= b - a;
 591 : r= mini (prog c (b/5) a t);
 592 : 
 593 : * calcul du nbre d'elts sur 1 cote
 594 : nr=5 * k;
 595 : 
 596 : * taille des elts construits
 597 : tmr= r /nr;
 598 : coelim= tmr / 100;
 599 : * geometrie du rectangle : points definissant le contour
 600 : prhg=pfis plus (0. r);
 601 : prbg=pfis moin (0. r);
 602 : prhd=prhg plus (r 0.);
 603 : prbd=prbg plus (r 0.);
 604 : prmd=pfis plus (r 0.);
 605 : 
 606 : * geometrie du rectangle : construction des cotes
 607 : rech= prhg d nr prhd;
 608 : recd1= prhd d nr prmd;
 609 : recd2= prmd d nr prbd;
 610 : recb= prbd d nr prbg;
 611 : recd= ordo (recd1 et recd2);
 612 : 
 613 : * maillage des parties en dessous et/ou au dessus du rectangle
 614 : si (r neg t);
 615 : * maillage de la partie situee au dessus du rectangle
 616 :         dur= rech tran dini tmr dfin (10 * tmr) (0. (0. + (t - r)));
 617 : finsi;
 618 : 
 619 : si (r neg a);
 620 : * maillage de la partie situee au dessous du rectangle
 621 :         dere= recb tran dini tmr dfin (10 * tmr) (0. (0. - (a - r)));
 622 : finsi;
 623 : 
 624 : * maillage de la partie droite de l'eprouvette
 625 : cot=recd;
 626 : 
 627 : * si la partie située au dessus du rectangle a été construite *
 628 : si (r neg t);
 629 :         cot=(dur cote 2) et cot;
 630 : finsi;
 631 : 
 632 : * si la partie située en dessous du rectangle a été construite *
 633 : si (r neg a);
 634 :         cot=cot et (dere cote 4);
 635 : finsi;
 636 : 
 637 : 
 638 : cot = ordo cot;
 639 : 
 640 : * si les dimensions imposent une partie à droite
 641 : si (r neg c);
 642 :         sudr= cot tran dini tmr dfin (10 * tmr) ((c - r) 0.);
 643 : finsi;
 644 : 
 645 : 
 646 : * maillage quadrillé: géométrie du pave du quadrangle:calcul du demi-cote
 647 : * maillage rayonnant: géométrie de la couronne: calcul du rayon exterieur
 648 : q=r / 2;
 649 : 
 650 : * calcul du nbre d'elts sur 1 cote du pave du quadrangle
 651 : tmp= q / nr;
 652 : 
 653 : * approche avec pave de quadrangle
 654 : si (app ega 0);
 655 : *       géométrie du pave: points définissants le contour
 656 :         ppbg= pfis moins (0. q);
 657 :         pphg= pfis plus (0. q);
 658 : *       géométrie du pave: construction
 659 :         bphg= pfis d nr pphg;
 660 :         bpbg= pfis d nr ppbg;
 661 : 
 662 :         pave1= bphg tran nr (q 0.);
 663 :         pave2= bpbg tran nr (q 0.);
 664 :         elim pave1 pave2 coelim;
 665 :         pave= pave1 et pave2;
 666 :         coph= pave1 cote 2;
 667 :         copd1= pave1 cote 3;
 668 :         copd2= pave2 cote 3;
 669 :         copb= pave2 cote 2;
 670 : *       maillage de la partie intermediaire entre pave et rectangle
 671 :         spr1= coph regler dini tmp dfin tmr rech;
 672 :         spr2= copd1 regler dini tmp dfin tmr recd1;
 673 :         copd2= inve copd2;
 674 :         spr22= copd2 regler dini tmp dfin tmr recd2;
 675 :         copb= inve copb;
 676 :         spr3= copb regler dini tmp dfin tmr recb;
 677 :         spr= spr1 et spr2 et spr3 et spr22;
 678 :         elim spr1 spr2 coelim;
 679 :         elim spr2 spr22 coelim;
 680 :         elim spr22 spr3 coelim;
 681 : 
 682 : *       recuperation du maillage complet de la demi-eprouvette
 683 :         epro= spr et pave;
 684 :         si (neg r c);
 685 :                 epro= epro et sudr;
 686 :         finsi;
 687 :         si (neg r a);
 688 :                 epro=epro et dere;
 689 :         finsi;
 690 :         si (neg r t);
 691 :                 epro= epro et dur;
 692 :         finsi;
 693 : 
 694 : *       recuperation de la fissure
 695 :         fis= bpbg et (spr3 cote 2);
 696 :         si (neg r a);
 697 :                 fis= fis et (dere cote 2);
 698 :         finsi;
 699 : *       recuperation de la partie non fissuree
 700 :         nfis= bphg et (spr1 cote 4);
 701 :         si (neg r t);
 702 :                 nfis= nfis et (dur cote 4);
 703 :         finsi;
 704 : 
 705 : sinon;
 706 : * approche rayonnante
 707 : *       construction de la couronne
 708 :         pcbg= pfis moins (0. q);
 709 :         gene= (pfis plus (0. (0. - tmp))) d (nr - 1) pcbg;
 710 :         suc1= gene rota nr 45. pfis;
 711 :         lint1= suc1 cote 4;
 712 :         lext1= suc1 cote 2;
 713 :         suc2=(suc1 cote 3) rota nr 45. pfis;
 714 :         lint2= suc2 cote 2;
 715 :         lext2= suc2 cote 4;
 716 :         suc3= (suc2 cote 3) rota nr 45. pfis;
 717 :         lint3= suc3 cote 4;
 718 :         lext3= suc3 cote 2;
 719 :         suc4= (suc3 cote 3) rota nr 45. pfis;
 720 :         lint4= suc4 cote 2;
 721 :         lext4= suc4 cote 4;
 722 :         suc= suc1 et suc2 et suc3 et suc4;
 723 :         lint2= inve lint2;
 724 :         linta= lint1 et lint2;
 725 :         lint1 = ordo lint1;
 726 :         lintb= lint3 et lint4;
 727 :         lextb= lext1 et lext2 et lext3 et lext4;
 728 : 
 729 : * maillage de l'interieur de la couronne
 730 :         sud1= cout pfis linta;
 731 :         sud2= cout pfis lintb;
 732 :         elim sud1 sud2 coelim;
 733 :         suc= suc et sud1 et sud2;
 734 : 
 735 : * maillage de la partie située entre la couronne et le rectangle
 736 :         recb= inve recb;
 737 :         su1= lext1 regler dini tmp dfin tmr recb;
 738 :         su2= lext2 regler dini tmp dfin tmr recd2;
 739 :         recd1= inve recd1;
 740 :         su3= lext3 regler dini tmp dfin tmr recd1;
 741 :         su4= lext4 regler dini tmp dfin tmr rech;
 742 :         su= su1 et su2 et su3 et su4;
 743 :         elim su1 su2 coelim;
 744 :         elim su2 su3 coelim;
 745 :         elim su3 su4 coelim;
 746 : 
 747 : * recuperation du maillage complet de la demi-eprouvette
 748 :         epro= su et suc;
 749 :         si (neg r c);
 750 :                 epro= epro et sudr;
 751 :         finsi;
 752 :         si (neg r a);
 753 :                 epro= epro et dere;
 754 :         finsi;
 755 :         si (neg R t);
 756 :                 epro= epro et dur;
 757 :         finsi;
 758 : 
 759 : * recuperation de la fissure
 760 :         pf= lint1 point final;
 761 :         hj= sud1 elem contenant pf;
 762 :         hj= hj chan lign;
 763 :         gh=hj elem 3;
 764 :         fis= gene et (su1 cote 4) et gh;
 765 :         si (neg r a);
 766 :                 fis=fis et (dere cote 2);
 767 :         finsi;
 768 :         kl= sud2 elem contenat (lint4 point final);
 769 :         kl=kl chan lign;
 770 :         kl=kl elem elem 3;
 771 :         nfis= (su4 cote 4) et (suc4 cote 3) et kl;
 772 :         si (neg r t);
 773 :                 nfis= nfis et (dur cote 4);
 774 :         finsi;
 775 : finsi;
 776 : * rangement des parametres de sortie
 777 : pmh= epro poin proch (0. b);
 778 : pdb= epro poin proch (c 0.);
 779 : res= table;
 780 : res . e= epro;
 781 : res . p= pfis;
 782 : res . f= fis;
 783 : res . n= nfis;
 784 : res . i= pmh;
 785 : res . u= pdb;
 786 : finsi;
 787 : FINP res;
 788 : 
 789 : 
 790 :  

© Cast3M 2003 - All rights reserved.
Disclaimer