* CRITLOC PROCEDUR CB215821 23/12/07 21:15:03 11805 *---------------------------------------------------------------------- * CRITERES LOCAUX POUR LA MECANIQUE DE LA RUPTURE * POUR LES ELEMENTS MASSIFS UNIQUEMENT * * ENTREES * ETAB.'TNONL' = TABLE RESULTAT DU CALCUL NONLINEAIRE * ETAB.'OBJMO' = OBJET MODEL CORRESPONDANT A LA ZONE GEOMETRIQUE E * OU L'ON VEUT APPLIQUER LE CRITERE * ** SI CRITERE DE RICE POUR LA RUPTURE DUCTILE * ETAB.'RICE' = VRAI * ETAB.'EPSILON' = VRAI SI DECOHESION CONTROLEE PAR LA DEFORMATION * ETAB.'SIGMA' = VRAI SI DECOHESION CONTROLEE PAR LA CONTRAINTE * + DONNEES DES PARAMETRES DU CRITERE * SI DECOHESION CONTROLEE PAR LA DEFORMATION * ETAB.'EPSC', ETAB.'BETA', ETAB.'ALPHA' * SI DECOHESION CONTROLEE PAR LA CONTRAINTE * ETAB.'BETA', ETAB.'ALPHA',ETAB.'LAMBDA', ETAB.'SIG0',ETAB.'SIGC' * ** SI CRITERE DE WEIBULL POUR LA RUPTURE PAR CLIVAGE * ETAB.'WEIBULL' = VRAI * + DONNEES DES PARAMETRES DU CRITERE * ETAB.'M', ETAB.'SIGU',ETAB.'V0',ETAB.'IC' * + (SI IC=1) ETAB.'N' * + (SI CAS PLAN) ETAB.'EPAI' * ETAB.'TEMPER' * +(SI TEMPER=0) SIGU EST UNE CONSTANTE * +(SI TEMPER=1) SIGU DEPEND DE LA TEMPERATURE * + ETAB.'TEREF' * * SORTIES * TABLE DE TABLES DONNANT POUR CHAQUE PAS DE TEMPS * ** SI CRITERE DE RICE POUR LA RUPTURE DUCTILE * VALEURS MOYENNEES SUR LES ELEMENTS DE * STAB.'RAPPORT' = TAUX DE TRIAXIALITE (CHELEM) * STAB.'TAUX' = TAUX DE CROISSANCE (CHELEM) * STAB.'SIGEQ' = CONTRAINTE DE VMIS (CHELEM) * STAB.'EPSEQ' = DEFOR. PLAST. CUM. (CHELEM) * ** SI CRITERE DE WEIBULL POUR LA RUPTURE PAR CLIVAGE * STAB.'SIGW' = CONTRAINTE DE WEIBULL (FLOTTANT) * STAB.'PROB' = PROBABILITE DE RUPTURE (FLOTTANT) * STAB.'VPLAS' = VOLUME PLASTIQUE (FLOTTANT) * STAB.'SIGPMAX' = CONTRAINTE PRINCIPALE MAXIMALE (FLOTTANT) * STAB.'ELT' = ELEMENT OU LA CONT. PRIN. EST MAXIMALE (MAILLAGE) * STAB.'EPSEQ' = DEFORM. PLAST CUMULEE DS L'ELEMENT ELT (FLOTTANT) * passage aux nouveaux chamelems P DOWLATYARI JAN. 92 *----------------------------------------------------------------------- IWEIB=0;IREPS=0;IRSIG=0; TENTR=ETAB.'TNONL'; *- transformation des sorties de l'ancien *- NONLIN au format de PASAPAS TEMPS1 = TENTR.'TEMPS'; TCONT1 = TENTR.'CONTRAINTES'; TEPS1 = TENTR.'VARIABLES_INTERNES'; TEPSP1 = TENTR.'DEFORMATIONS_INELASTIQUES'; CHAR1 = TENTR.'CHARGEMENT'; TCONT = 'TABLE'; TEPS = 'TABLE'; TEPSP = 'TABLE'; CHATOT = 'TABLE'; * * 'REPETER' BOU_MAN NPAS; ITE1 = &BOU_MAN - 1 ; TCONT . (TEMPS1.ITE1) = TCONT1.ITE1; TEPS . (TEMPS1.ITE1) = TEPS1.ITE1; TEPSP . (TEMPS1.ITE1) = TEPSP1.ITE1; * 'FIN' BOU_MAN; * * 'SI' ( 'NON' ('EXISTE' ETAB 'OBJMO') ) ; 'ERREUR' 'IL FAUT DONNER L OBJET MODEL ' ; 'QUITTER' CRITLOC2 ; 'FINSI'; OBJMO=ETAB.'OBJMO'; * * LECTURE DES PARAMETRES DU CRITERE ET QUELQUES INITIALISATIONS 'SI' LOG; 'QUITTER' CRITLOC2; 'FINSI'; 'SI' ('EXISTE' ETAB 'RICE'); LOG='NON' (('EXISTE' ETAB 'EPSILON') OU ('EXISTE' ETAB 'SIGMA')); 'SI' LOG; 'MESS' 'POUR LE CRITERE DE RICE ,IL FAUT DEFINIR L OPTION: EPSILON OU SIGMA'; 'QUITTER' CRITLOC2; 'FINSI'; 'SI' ('EXISTE' ETAB 'EPSILON'); IREPS=1; VALEPC=ETAB.'EPSC';VALBET=ETAB.'BETA';VALALP=ETAB.'ALPHA'; 'DETR' EPSCX ; 'FINSI'; 'SI' ('EXISTE' ETAB 'SIGMA'); IRSIG=1; VALBET=ETAB.'BETA';VALALP=ETAB.'ALPHA'; VALLAM=ETAB.'LAMBDA';VALSI0=ETAB.'SIG0';VALSIC=ETAB.'SIGC'; 'DETR' CHSIGX ; 'DETR' CHSIGX ; 'FINSI'; 'DETR' SIG0X ; 'FINSI'; IWEIB=1; VALM=ETAB.'M';VALSU=ETAB.'SIGU';VALV0=ETAB.'V0'; VALIC=ETAB.'IC'; VALTP=ETAB.'TEMPER'; * 'SI' (VALTP 'EGA' 1); 'REPETER' BOW_MAN NPAS; ITE1 = &BOW_MAN - 1 ; (TEMPS1.ITE1) 'T' ); 'FIN' BOW_MAN; * *temperature de reference pour le calcul de la contrainte de Weibull TEREF = ETAB.'TEREF'; * *verification que cette temperature figure dans temperature de VALSU * 'SI'(TEREF <EG TAL2); 'SI' (TEREF < TAL1); 'QUITTER' CRITLOC2 ; 'FINSI'; 'SINON'; 'QUITTER' CRITLOC2 ; 'FINSI'; * 'FINSI'; 'FINSI'; * * 'SI' (('EGA' MOD 'PLANCONT') 'OU' ('EGA' MOD 'PLANDEFO')); 'FINSI'; 'SI' (('EGA' MOD 'AXIS') 'OU' ('EGA' MOD 'FOUR')); 'FINSI'; 'SI' ('EGA' MOD 'TRID'); 'FINSI'; 'DETR' FONCPX ; 'SI' (IWEIB 'EGA' 1); 'SI' (VALIC 'EGA' 1); VALN=ETAB.'N'; 'SI' (('EGA' MOD 'PLANCONT') 'OU' ('EGA' MOD 'PLANDEFO')'OU' ('EGA' MOD 'TRID')); TMEP.1='EIXX';TMEP.2='EIYY';TMEP.3='EIZZ';TMEP.4='GIXY'; 'SI' ('EGA' MOD 'TRID'); TMEP.5='GIXZ'; TMEP.6='GIYZ'; 'FINSI'; 'FINSI'; 'SI' (('EGA' MOD 'AXIS') 'OU' ('EGA' MOD 'FOUR')); TMEP.1='EIRR';TMEP.2='EIZZ';TMEP.3='EITT';TMEP.4='GIRZ'; 'SI' ('EGA' MOD 'FOUR'); TMEP.5='GIRT'; TMEP.6='GIZT'; 'FINSI'; 'FINSI'; 'FINSI'; 'FINSI'; 'DETR' FONC1X ; 'DETR' FONCEX ; 'SI' (('EGA' MOD 'PLANCONT') 'OU' ('EGA' MOD 'PLANDEFO') 'OU' ('EGA' MOD 'TRID')); TMOT.1='SMXX';TMOT.2='SMYY';TMOT.3='SMZZ';TMOT.4='SMXY'; 'SI' ('EGA' MOD 'TRID'); TMOT.5='SMXZ';TMOT.6='SMYZ'; 'FINSI'; 'FINSI'; 'SI' (('EGA' MOD 'AXIS') 'OU' ('EGA' MOD 'FOUR')); TMOT.1='SMRR';TMOT.2='SMZZ';TMOT.3='SMTT';TMOT.4='SMRZ'; 'SI' ('EGA' MOD 'FOUR'); TMOT.5='SMRT';TMOT.6='SMZT'; 'FINSI'; 'FINSI'; * * BOUCLE SUR LES PAS DE TEMPS * IPAS=0; 'REPETER' BOUCLE NPAS; IPAS=IPAS + 1; SIG=TCONT.TEMPS;CEPS=TEPS.TEMPS;EPSP=TEPSP.TEMPS; * * MOYENNATION DES CONTRAINTES SUR LES ELEMENTS + FONCE) ** -1; * 'SI' (IWEIB 'EGA' 1); SIG=SIG * COEFP;FVOLU=FVOLUP; 'FINSI'; 'SI' (('EGA' MOD 'TRID') 'OU' ('EGA' MOD 'FOUR')); 'FINSI'; * 'SI' (('EGA' MOD 'PLANCONT') 'OU' ('EGA' MOD 'PLANDEFO') 'OU' ('EGA' MOD 'AXIS')); SIGMOY=SIG1 ET SIG2 ET SIG3 ET SIG4 ; 'FINSI'; 'SI' (('EGA' MOD 'TRID') 'OU' ('EGA' MOD 'FOUR')); SIGMOY=SIG1 ET SIG2 ET SIG3 ET SIG4 ET SIG5 ET SIG6 ; 'FINSI' ; * SIGMOY etant au centre de gravite des elements * on le change en 'STRESSES' pour avoir compatibilite * entre les supports pour le calcul du taux de triaxialite SIGMOY = SIGMOY 'CHANG' 'STRESSES' OBJMO; * MOYENNATION DES DEFORMATIONS PLASTIQUES CUMULEES EPS= EPS * FVOLUP; *EPS = EPS 'CHANG' 'STRESSES' OBJMO; * PLUS GRANDE CONTRAINTE PRINCIPALE (WEIBULL ET RICE SIGMA) 'SI' ((IRSIG 'EGA' 1) 'OU' (IWEIB 'EGA' 1)); PSIAA=(PSI11 * COEF1) + (PSI22 * COEF2); SCOPR=(PSIAA * COEF3) + (PSI33 * COEF4); 'FINSI'; * * CRITERE DE RICE : CALCUL DU TAUX DE TRIAXIALITE ET R/R0 * 'SI' ((IREPS 'EGA' 1) 'OU' (IRSIG 'EGA' 1)); * CALCUL DE LA CONTRAINTE DE DECOHESION 'SI' (IRSIG 'EGA' 1); SIGDEC = SCOPR + (VALLAM * (VSIG - CHSIG0)); 'FINSI'; * CALCUL DU TAUX DE TRIAXIALITE SIGMV=R * CHEL1 * ((VSIG + SIG0) ** -1.); * CALCUL DE R / R0 *++ ON MET A ZERO LE TAUX DE TRIAXIALITE S IL EST NEGATIF T1='EXP' (VALBET * SIGS0); T2='EXP' (VALBET * SIGSG); 'SI' (IRSIG 'EGA' 1); TDSIG=(EPS0 * (SIGDEC - CHSIGC)) + (EPS * (CHSIGC - SIGD0)); IDSIG=((SIGDEC - SIGD0) + SIG0) ** -1; EPSC=TDSIG * IDSIG; 'FINSI'; TT=(T2 * (EPS - EPSC)) + (T1 * (EPSC - EPS0)); IDEPS0=((EPS - EPS0) + EPS00) ** -1; TC=TT * IDEPS0; SS1=(TC + T2) * (EPS - EPSC); SS2=(T1 + T2) * (EPS - EPS0); 'SI' (IREPS 'EGA' 1); 'FINSI'; 'SI' (IRSIG 'EGA' 1); 'FINSI'; 'SI' (IREPS 'EGA' 1); 'FINSI'; 'SI' (IRSIG 'EGA' 1); 'FINSI'; S=((SS1 * COEF6) + (SS2 * COEF5)) * COEF; SOMR0=SOMR0 + S; RSR0='EXP' ((0.5D0 * VALALP) * SOMR0); EPS0=EPS;SIGS0=SIGSG; 'SI' (IRSIG 'EGA' 1); SIGD0=SIGDEC; STAB.'CONTDECO'.TEMPS=SIGDEC; STAB.'CPRINMAX'.TEMPS=SCOPR; 'FINSI'; STAB.'RAPPORT'.TEMPS=SIGMV; STAB.'TAUX'.TEMPS=RSR0; STAB.'SIGEQ'.TEMPS=VSIG; STAB.'EPSEQ'.TEMPS=EPS; 'FINSI'; * * CRITERE DE WEIBULL : CALCUL DU VOLUME PLASTIQUE, * DE LA CONTRAINTE DE WEIBULL ET DE LA PROBABILITE DE RUPTURE * 'SI' (IWEIB 'EGA' 1); * CALCUL DU TERME CORR. SI EFFET DE LA DEFOR. PLAST. SUR LE CLIVAGE *++DEFORMATION DANS LA DIRECTION DE LA PLUS GRANDE CONTRAINTE PRINCIPALE 'SI' (VALIC 'EGA' 1); DEF12=DEF12 / 2.; 'SI' (('EGA' MOD 'TRID') 'OU' ('EGA' MOD 'FOUR')); DEF13=DEF13 / 2.; DEF23=DEF23 / 2.; 'SINON'; DEF13=DEF12 * 0.; DEF23=DEF12 * 0.; 'FINSI'; * DEF11 ... etant au centre de gravite des elements * on les change en 'STRESSES' pour avoir compatibilite * avec les supports de COXPR et COYPR et COZPR DEF11 = DEF11 CHANG 'STRESSES' OBJMO; DEF22 = DEF22 CHANG 'STRESSES' OBJMO; DEF33 = DEF33 CHANG 'STRESSES' OBJMO; DEF12 = DEF12 CHANG 'STRESSES' OBJMO; DEF13 = DEF13 CHANG 'STRESSES' OBJMO; DEF23 = DEF23 CHANG 'STRESSES' OBJMO; DFT1 = ((DEF11 * COXPR) + (DEF12 * COYPR) + (DEF13 * COZPR)) * COXPR; DFT2 = ((DEF12 * COXPR) + (DEF22 * COYPR) + (DEF23 * COZPR)) * COYPR; DFT3 = ((DEF13 * COXPR) + (DEF23 * COYPR) + (DEF33 * COZPR)) * COZPR; DESUSI = DFT1 + DFT2 + DFT3; SCOPR =SCOPR * ('EXP' ((-1. * VALIC / VALN) * DESUSI)); 'FINSI'; * CALCUL DU VOLUME PLASTIQUE 'SI' ( 'EXISTE' ETAB 'XMULT'); XMU1 = ETAB.'XMULT'; 'SINON'; XMU1 = 1.; 'FINSI'; VOLPLA = VOLPLA * XMU1; * * CALCUL DE LA CONTRAINTE DE WEIBULL *++ ON MET A ZERO LA + GRANDE CONTRAINTE PRINC. SI ELLE EST NEGATIVE SCOPR=SCOPR * COEFPR * COEFP; * * * 'SI' (VALTP EGA 1); * * determination de la contrainte caracteristique de clivage * a partir du champ de temperature : SIGU *VALSU est une evolution chtemp = chatot.temps; *determination de la valeur de sigu correspondant *a la temperature de reference teref * 'SINON'; *VALSU est une constante VSUREF = VALSU; * 'FINSI'; * * determination du rapport PRIN_MAX/SIGU soit R(t) chsu1 = chsu0 ** (-1); *chsu1 est un chpo *chsu2 est un chaml * XCOPR = SCOPR * chsu2; *XCOPR est un chaml * *++ ON MET A ZERO LE RAPPORT R(t) SI IL EST NEGATIF XCOPR=XCOPR * COEFPR * COEFP; * * 'SI' (&boucle EGA 1); * *moyennation du champ de contraintes CHX1 = XCOPR; * 'FINSI'; * 'SI' (&boucle > 1); * determination si plasticite active *on ne considere le rapport R(t) que si la plasticite est active CHA1 = XCOPR * CPL1; * *moyennation du champ de contraintes * *determination du max du rapport R sur tous les instants * [ 0, t ] ou la plasticite a ete ou est active XCOPR = (CHA1 * COEF1) + (CHX1 * COEF2); * CHX1 = XCOPR; XPS0 = XPS; * 'FINSI'; * * * CALCUL DE LA PROBABILITE DE RUPTURE * *Contrainte de Weibull a la temperature de reference teref SIGW = ( XGALA ** (1.D0 / VALM)) * VSUREF; * * ELEMENT OU LA CONTRAINTE PRINCIPALE EST MAXIMALE * DEFORMATION EQUIVALENTE ASSOCIEE A SIGPMAX * STAB.'SIGW'.TEMPS=SIGW; STAB.'VPLAS'.TEMPS=VOLPLA; STAB.'SIGPMAX'.TEMPS=SCOMAX; STAB.'ELT'.TEMPS=IEMAX; STAB.'EPSEQ'.TEMPS=SEPMAX; 'FINSI'; 'MENA'; 'FIN' BOUCLE; 'FINP' STAB;
© Cast3M 2003 - Tous droits réservés.
Mentions légales