************************************************************************ * 72 caracteres max ************************************************************************ OPTI ECHO 1 ; OPTION DIME 3 ELEM cub8; OPTI EPSILON LINEAIRE ; * * * *-----------------------------------------------------; *----------------- DONNEES ---------------------------; *-----------------------------------------------------; * * Densite maillage: * fin0 d'autant plus gd que le maillage doit etre fin. * fin0=0.2; * Angle inclinaison gamma0=0.; * Experiences exp0 = RR; exp0 = NN; exp0 = PP; * * Materiau Ey = 1.; NUP = 0.38; * Chargement Fo= 1.; * force totale (en N) repartie sur la ligne F0= 0. (-1.*Fo) 0.; * * Geometrie * LinMeaRav10 SI (EGA exp0 'RR'); flex0 = 3; mot0 = 'Ravi'; h0=12.7; t0=25.4; Le0 = 38.1; Le1 = 20.; L0 = 50.; la0 = PROG (4.8); FINSI; * Paderborn SI (EGA exp0 'PP'); flex0 = 3; mot0 = 'Fritz'; h0=60.; t0=10.; Le0 = 120.; Le1 = 80.; L0 = 130.; la0 = PROG (20.); h0=1.; t0=10./60.; Le0 = 120./60.; Le1 = 80./60.; L0 = 130./60.; la0 = PROG (20./60.); FINSI; * Nous SI (EGA exp0 'NN'); flex0 =4; mot0 = 'Nous'; h0=1.; t0=h0; Le0 = 2.*h0; Le1 = 1.25*h0; L0 = 2.5*h0; la0 = PROG (0.25*h0); FINSI; *la0 = PROG 0.1 PAS 0.01 0.5; *la0 = PROG 0.1 PAS 0.1 0.5; * *-----------------------------------------------------; *----------------- MAILLAGE --------------------------; *-----------------------------------------------------; * ********* *Densites ********* n0=fin0*12.; d0 = ( mini (prog L0 h0) )/ n0; * Chargement n1=fin0*50.; d1 = ( mini (prog L0 h0) ) / n1; * Epaisseur Nb pair pour etre certaine d avoir un pt au milieu nep=2 * (enti (fin0*10.)); la00 = prog; lK1 = prog; lK2 = prog; lK3 = prog; ia0=1; repe bloca0 (dime(la0)); a0 = extr la0 ia0; yytop = a0 + (2.*(h0-a0)/3.); * parametre maillage pointe fissure lzfiss= a0/3.; ncercle=enti (20*fin0); * couche sur laquelle est appliquee la methode gtheta. ncmoy=ENTI (ncercle/2.); nF=50.*fin0; dF = lzfiss / nF; nC = nF / 5.; dC = lzfiss / nC; ********* *Points ********* densite d0; P1 = (-1. * L0) 0. (-0.5*t0); P2 = L0 0. (-0.5*t0); P3 = L0 h0 (-0.5*t0) ; P4 = (-1. * L0) h0 (-0.5*t0); densite d1; P0 = (0.) 0. (-0.5*t0); P0d = (0.) 0. (-0.5*t0) ; PD1= (-1. * Le0) 0. (-0.5*t0); PT1= (-1. * Le1) h0 (-0.5*t0); PT11= (-1. * Le1) 0. (-0.5*t0); PD2= Le0 0. (-0.5*t0); PT2= Le1 h0 (-0.5*t0); PT22= Le1 0. (-0.5*t0); PL = 0. h0 (-0.5*t0); densite dF; PF = 0. a0 (-0.5*t0); *********************** * S0g Surface a gauche *********************** * **** Construction du maillage Sf1 autour de la pointe * de la fissure. * densite dF; PF1=PF moins (0. (dF/10.) 0.); * densite dC; PA1=PF moins (0. lzfiss 0.); PA2=PF plus (0. lzfiss 0.); PA3=PF moins (lzfiss 0. 0.); * lF1= d PF1 PA1; * * PFz=PF plus (0. 0. 1.); sF1=LF1 rota ncercle -180. PF PFz; * * eps plus gd que taille eps=0.5*(dF*3.14*2/(10.*ncercle)) * sur le cercle interieur et plus petit que * la taille dF du premier segment vertical a partir de pF1; eps=1.1*(((dF/10.)*(3.14/ncercle))); * fusion des ncercles noeuds sur le cercle interieur. elim eps sF1; *trac sF1; * transformation des elts qua4 autour de la pointe * en elt triangle plus adapte. sF1=rege sF1 ; *trac sF1; sF1= (sF1 ELEM TRI3) et (sF1 ELEM QUA4); *trac sF1; *sF1= (sF1 ELEM TRI6) et (sF1 ELEM QUA8); *A decocher si choix elements = tri3 et non qua4: *sF1= (sF1 ELEM TRI3); * conf PF1 PF; *trac sF1; * * * ***** Maillage a deformer * * d110 = d PT11 P0; d0A1 = d P0 PA1; arc1= cer3 ncercle PA1 PA3 PA2; dA2L= d PA2 PL; dLT1= d PL PT1; dT1T11 = d PT1 PT11; contS1 = d110 et d0A1 et arc1 et dA2L et dLT1 et dT1T11; S1 = surf contS1 'PLAN'; *trac S1; S0g=S1 et sF1; *trac S0g; * elimination des noeuds doubles entre S1 et sf1; elim (dC/100.) S0g; *trac S0g; * ***** Reste du maillage * * dT11D1 = d PT11 PD1; dD1P1 = d PD1 P1; d14 = d P1 P4; d4T1 = d P4 PT1; contS1 = dT1T11 et dT11D1 et dD1P1 et d14 et d4T1; S1 = surf contS1 'PLAN'; *trac S1; S0g=S0g et s1; *trac S0g; * elimination des noeuds doubles entre S1 et sf1; elim (dC/100.) S0g; *trac S0g; ****************** * Surface a droite ****************** * **** Construction du maillage Sf autour de la pointe * de la fissure. * densite dF; PF1d=PF moins (0. (dF/10.) 0.); * densite dC; PA1d=PF moins (0. lzfiss 0.); PA2=PF plus (0. lzfiss 0.); PA3=PF plus (lzfiss 0. 0.); * lF1= d PF1d PA1d; * * sF1=LF1 rota ncercle 180. PF PFz; * * eps plus gd que taille eps=0.5*(dF*3.14*2/(10.*ncercle)) * sur le cercle interieur et plus petit que * la taille dF du premier segment vertical a partir de pF1; eps=1.1*(((dF/10.)*(3.14/ncercle))); * fusion des ncercles noeuds sur le cercle interieur. elim eps sF1; *trac sF1; * transformation des elts qua4 * autour de la pointe en elt triangle plus adapte. sF1=rege sF1 ; *trac sF1; sF1= (sF1 ELEM TRI3) et (sF1 ELEM QUA4); *trac sF1; *sF1= (sF1 ELEM TRI6) et (sF1 ELEM QUA8); *A decocher si choix elements = tri3 et non qua4: *sF1= (sF1 ELEM TRI3); * conf PF1d PF; *trac sF1; ***** Maillage a deformer * * d220 = d PT22 P0d; d0A1 = d P0d PA1d; arc1= cer3 ncercle PA1d PA3 PA2; dA2L= d PA2 PL; dLT2= d PL PT2; dT2T22 = d PT2 PT22; contS1 = d220 et d0A1 et arc1 et dA2L et dLT2 et dT2T22; S1 = surf contS1 'PLAN'; *trac S1; S0d=S1 et sF1; * elimination des noeuds doubles entre S1 et sf1; elim (dC/100.) s0d; *trac S0d; * * ***** Reste du maillage * * dT22D2 = d PT22 PD2; dD2P2 = d PD2 P2; d23 = d P2 P3; d3T2 = d P3 PT2; contS1 = dT2T22 et dT22D2 et dD2P2 et d23 et d3T2; S1 = surf contS1 'PLAN'; *trac S1; S0d=S0d et s1; * elimination des noeuds doubles entre S1 et sf1; elim (dC/100.) s0d; *trac S0d; ****************************************** * Construction des volumes gauche et droit ****************************************** V0g = S0g volu 'TRANS' (0. 0. (t0)) nep; *trac cach V0g; V0d = S0d volu 'TRANS' (0. 0. (t0)) nep; *trac cach V0d; ********************************************* ***** Definition des CL * ********** a gauche *** * surfaces *** Slat=face 3 V0g; *trac cach ((Slat coul vert) et V0g); Sbas = Slat elem appuye strictement (Slat POIN PLAN P0 P1 (P0 plus (0. 0. 1.)) (dF)); *trac (Slat et (Sbas coul vert)); Stop = Slat elem appuye strictement (Slat POIN PLAN P3 P4 (P3 plus (0. 0. 1.)) (dF)); *trac (Slat et (Stop coul vert)); Svert = Slat elem appuye strictement (Slat POIN PLAN P0 PF (P0 plus (0. 0. 1.)) (dF)); cSvert = coor 2 Svert ; ceSvert = chan CHAM cSvert Svert ; *list ch0e2 ; Shaut = ceSvert elem superieur a0; Sfiss = ceSvert elem inferieur a0; *trac cach (V0g et (coul rouge Shaut) et (coul vert Sfiss)); *trac (Slat et (Svert coul vert)); *** * Lgns *** LPD1 = (chan lign Sbas) elem appuye strictement (Sbas POIN PLAN PD1 (PD1 plus (0. 1. 0.)) (PD1 plus (0. 0. 1.)) (dF)); *trac (Sbas et (LPD1 coul vert)); LPT1 = (chan lign Stop) elem appuye strictement (Stop POIN PLAN PT1 (PT1 plus (0. 1. 0.)) (PT1 plus (0. 0. 1.)) (dF)); *trac (Stop et (LPT1 coul vert)); *trac cach (V0g et (LPD1 coul vert) et (LPT1 coul vert) ); * ********** a droite * *** * surfaces *** Slat=face 3 V0d; *trac cach ((Slat coul vert) et V0d); Sbas = Slat elem appuye strictement (Slat POIN PLAN P0d P2 (P0d plus (0. 0. 1.)) (dF)); *trac (Slat et (Sbas coul vert)); Stop = Slat elem appuye strictement (Slat POIN PLAN P3 P4 (P3 plus (0. 0. 1.)) (dF)); *trac (Slat et (Stop coul vert)); Svert = Slat elem appuye strictement (Slat POIN PLAN P0d PF (P0d plus (0. 0. 1.)) (dF)); cSvert = coor 2 Svert ; ceSvert = chan CHAM cSvert Svert ; *list ch0e2 ; Shautd = ceSvert elem superieur a0; Sfissd = ceSvert elem inferieur a0; *trac cach (V0d et (coul rouge Shautd) et (coul vert Sfissd)); *** * Lgns *** LPD2 = (chan lign Sbas) elem appuye strictement (Sbas POIN PLAN PD2 (PD2 plus (0. 1. 0.)) (PD2 plus (0. 0. 1.)) (dF)); *trac (Sbas et (LPD2 coul vert)); LPT2 = (chan lign Stop) elem appuye strictement (Stop POIN PLAN PT2 (PT2 plus (0. 1. 0.)) (PT2 plus (0. 0. 1.)) (dF)); *trac (Stop et (LPT2 coul vert)); *trac cach (V0d et (LPD2 coul vert) et (LPT2 coul vert) ); * Ligne du milieu pour flexion 3 pts LPL = (chan lign Stop) elem appuye strictement (Stop POIN PLAN PL (PL plus (0. 1. 0.)) (PL plus (0. 0. 1.)) (dF)); ********************************************* ***** Definition du ft de fissure Lfis * Lfis = (chan lign sfiss) elem appuye strictement (sfiss POIN PLAN PF (PF plus (1. 0. 0.)) (PF plus (0. 0. 1.)) (dF)) ; *trac (Sfiss et (Sfissd coul vert) et (coul rouge Lfis)); ****************** * Assemblage ****************** V0=V0d et V0g; trac cach V0; eel= 0.2 * (MINI ( PROG (180.*dF/ncercle) (t0/nep))); *elim (dC/100.) Shautd (Shaut); elim eel Shautd (Shaut); *trac cach V0; V0=rege V0; *trac cach V0; ****************** * Rotation du plan de la fissure ****************** ltempz0 = prog (-0.5 *t0) pas (t0 / nep ) (0.5 * t0) ; ntempz0 = dime ltempz0 ; itempz0=1; ***Debut boucle sur les tranches*** repe itempz0 ntempz0 ; ztemp0 = extr ltempz0 &itempz0 ; xytemp0 = V0 poin plan (0. 0. ztemp0) (1. 0. ztemp0) (0. 1. ztemp0) (t0 /(nep*10.)) ; NBP = NBNO xytemp0 ; xytemp0 = CHAN poi1 xytemp0 ; ind = 1; ***Debut boucle sur les points d'une tranche*** REPE LoopNo NBP; Pcur = xytemp0 POIN ind; xx = coor 1 Pcur; yy = coor 2 Pcur; zz = coor 3 Pcur; axx= abs(xx); SI (axx < Le1); SI ((yy < yytop)); gammal = gamma0*(1.-(axx/Le1)); uux = zz * (TAN gammal); FINSI; SI ((yy >EG yytop)); gammal = gamma0*(1.-(axx/Le1)); uux = zz * (TAN gammal) * (1. - (yy/h0))/(1. - (yytop/h0)); FINSI; SINON; uux= 0.; FINSI; SI (&loopNo EGA 1) ; CHPux = manu chpo (manu poi1 pcur) 1 UX uux 'NATURE' 'DISC'; SINON ; CHPux = CHPux ET (manu chpo (manu poi1 pcur) 1 UX uux 'NATURE' 'DISC'); FINSI ; ind=ind+1; ***Fin boucle sur les points d'une tranche*** fin LoopNo; DEPL xytemp0 PLUS CHPux ; ***fin boucle sur les tranches*** fin itempz0 ; *trac cach V0; *trac cach (0 1000000 0) (V0 et (LPL coul vert)); *trac (V0 et (Lfis coul vert)); *trac (V0 et (Sfiss coul vert)); *trac (V0 et (Sfissd coul rouge)); *trac cach (V0 et (LPD1 coul vert) et (LPT1 coul rouge) *et (LPD2 coul rouge) et (LPT2 coul vert) ); *-----------------------------------------------------; *------------------- Calcul des deplacements ---------; *-----------------------------------------------------; * ; mod0 = modl V0 mecanique elastique isotrope ; * ; *---------- DEFINITION DES CARACTERISTIQUES ----------; *---------- MATERIELLES ET GEOMETRIQUES ----------; * ; mat0 = mater mod0 YOUN Ey NU NUP; * ; *---------- CALCUL DES RIGIDITES ELEMENTAIRES --------; *--------- ET DEFINITION DES BLOCAGES ---------; * ; rig0 = rigi mod0 mat0 ; *cdl1 = bloq 'DEPL' LPD1 ; *cdl2 = bloq 'DEPL' LPD2; cdl1 = bloq Uy LPD1 ; cdl2 = bloq Uy LPD2; * Chagt en force impose SI (flex0 EGA 4); Fp01= FORC (F0/2.) LPT1; Fp02= FORC (F0/2.) LPT2; Fp0= Fp01 et Fp02; FINSI; SI (flex0 EGA 3); Fp0= FORC (F0) LPL; FINSI; cdl0 = cdl1 et cdl2; FINSI; * ; *-------- Calcul du deplacement, des contraintes, des ; * deformations -------; * ; U0 = reso (rig0 et cdl0) Fp0 ; SIG0 = sigm mat0 mod0 U0 ; * *--------------------------------------------------; *--------------------------------------------------; * (IV) * CALCUL de K1. *--------------------------------------------------; *--------------------------------------------------; *--------------------------------------------------; * * -----Calcul de G=J par la methode Gtheta * * * Definition de suptab necessaire * a "gtheta"; * suptab = table; suptab . objectif = mot 'DECOUPLAGE'; suptab . levre_superieure = Sfiss; suptab . levre_inferieure = Sfissd; suptab . front_fissure = Lfis; suptab . solution_reso=u0; suptab . caracteristiques=mat0; suptab . modele=mod0; suptab . chargements_mecaniques=Fp0; suptab . couche = ncmoy ; g_theta suptab ; KK0 = suptab . resultats ; K1m=KK0.I.global; K2m=KK0.II.global; K3m=KK0.III.global; mess 'La valeur moyenne de KI est: K=' K1m ; mess 'La valeur moyenne de KII est: K=' K2m ; mess 'La valeur moyenne de KIII est: K=' K3m ; ******Calcul de l integrale J suptab = table; suptab . objectif = mot 'J'; suptab . levre_superieure = Sfiss; suptab . levre_inferieure = Sfissd; suptab . front_fissure = Lfis; suptab . solution_reso=u0; suptab . caracteristiques=mat0; suptab . modele=mod0; suptab . chargements_mecaniques=Fp0; suptab . couche = ncmoy ; g_theta suptab ; jj0 = suptab . resultats; ****Valeurs le long du front T = INDEX (KK0.I); nT= dime T; la0tmp=prog; lz=prog; lK1z=prog; lK2z=prog; lK3z=prog; lK3irw=prog; lJz=prog; lJirwz=prog; repet ii0 (nT-1); la0tmp=la0tmp et a0; lz=lz et (coor 3 T.(&ii0)); K1t=KK0.I.(T.&ii0); K2t=KK0.II.(T.&ii0); K3t=KK0.III.(T.&ii0); Jz=jj0.(T.&ii0); Jirw = (K1t**2.) + (K2t**2.) +(K3t**2. / (1. - NUP)); Jirw= (1. - (NUP**2.)) * Jirw / Ey; K3irwc = Ey * Jz /(1. + NUP); K3irwc = K3irwc - (((K1t*K1t)+(K2t*K2t))*(1. - NUP)); K3irw = K3irwc ** 0.5; lK1z=lK1z et (KK0.I.(T.&ii0)); lK2z=lK2z et (KK0.II.(T.&ii0)); lK3z=lK3z et (KK0.III.(T.&ii0)); lK3irw=lK3irw et K3irw; lJz=lJz et Jz; lJirwz=lJirwz et Jirw; fin ii0; anu =@ARR nup 2; aa0 =@ARR a0 1; aga =@ARR gamma0 1; ffin0 =@ARR fin0 1; fich0=CHAINE mot0'Ks_a_'aa0'nu_'anu'gamma_'aga'PB_'flex0'fin0_'ffin0'.dat'; *fich0=CHAINE 'K_s.dat'; TAB0=TABLE; tab0.NL=8; TAB0.LN1=lz; TAB0.LN2=lK1z; TAB0.LN3=lK2z; TAB0.LN4=lK3z; TAB0.LN5=lK3irw; TAB0.LN6=lJz; TAB0.LN7=lJirwz; TAB0.LN8=la0tmp; TAB0.LIGN1=CHAINE 's K1 K2 K3 K3i J Jirw a0'; TAB0.FICHIER=CHAINE fich0; GNUFICH TAB0; evnK1z = evol rouge manu lz lK1z ; *dess evnK1z ; evnK2z = evol rouge manu lz lK2z ; *dess evnK2z ; evnK3z = evol rouge manu lz lK3z ; *dess evnK3z ; la00=la00 et (prog a0); lK1=lK1 et (prog K1m); lK2=lK2 et (prog K2m); lK3=lK3 et (prog K3m); ia0=ia0+1; fin bloca0; anu =@ARR nup 3; aga =@ARR gamma0 2; fich1=CHAINE 'K_a'anu'gamma_'aga'.dat'; TAB0=TABLE; tab0.NL=4; TAB0.LN1=la00; TAB0.LN2=lK1; TAB0.LN3=lK2; TAB0.LN4=lK3; TAB0.LIGN1= CHAINE 'a K1 K2 K3 a/h Kerreur'; TAB0.FICHIER=CHAINE fich1; GNUFICH TAB0; FICH0 = CHAINE mot0'a_'aa0'nu_'anu'gamma_'aga'PB_'flex0'fin0_'ffin0'.dat'; OPTI SAUV FICH0; SAUVER V0 mod0 mat0 U0 SIG0 t0 h0 Le0 Le1 L0 a0 gamma0 Ey NUP F0 nep d1 fin0 ; *SAUVER S0 MODS0 TAB0 ; message '******* Tapez fin; castem13 visu.dgibi'; opti donn 5;