Download critloc.procedur

Back to the list

   1 : * CRITLOC   PROCEDUR  CHAT      05/02/04    21:15:03     5023           
   2 : 'DEBPROC' CRITLOC ETAB*'TABLE';                                                 
   3 : *----------------------------------------------------------------------         
   4 : *    CRITERES LOCAUX POUR LA MECANIQUE DE LA RUPTURE                            
   5 : *       POUR LES ELEMENTS MASSIFS UNIQUEMENT                                    
   6 : *                                                                               
   7 : * ENTREES                                                                       
   8 : *   ETAB.'TNONL'   =  TABLE RESULTAT DU CALCUL NONLINEAIRE                     
   9 : *   ETAB.'OBJMO'   =  OBJET MODEL CORRESPONDANT A LA ZONE GEOMETRIQUE E         
  10 : *      OU L'ON VEUT APPLIQUER LE CRITERE                                        
  11 : *    ** SI CRITERE DE RICE POUR LA RUPTURE DUCTILE                              
  12 : *   ETAB.'RICE'    =  VRAI                                                      
  13 : *   ETAB.'EPSILON' =  VRAI SI DECOHESION CONTROLEE PAR LA DEFORMATION           
  14 : *   ETAB.'SIGMA'   =  VRAI SI DECOHESION CONTROLEE PAR LA CONTRAINTE            
  15 : *         +   DONNEES DES PARAMETRES DU CRITERE                                 
  16 : *       SI DECOHESION CONTROLEE PAR LA DEFORMATION                              
  17 : *   ETAB.'EPSC', ETAB.'BETA', ETAB.'ALPHA'                                      
  18 : *       SI DECOHESION CONTROLEE PAR LA CONTRAINTE                               
  19 : *   ETAB.'BETA', ETAB.'ALPHA',ETAB.'LAMBDA', ETAB.'SIG0',ETAB.'SIGC'            
  20 : *     ** SI CRITERE DE WEIBULL POUR LA RUPTURE PAR CLIVAGE                      
  21 : *   ETAB.'WEIBULL' =  VRAI                                                      
  22 : *         +   DONNEES DES PARAMETRES DU CRITERE                                 
  23 : *   ETAB.'M', ETAB.'SIGU',ETAB.'V0',ETAB.'IC'                                   
  24 : *         + (SI IC=1) ETAB.'N'
  25 : *         + (SI CAS PLAN) ETAB.'EPAI'
  26 : *   ETAB.'TEMPER' 
  27 : *         +(SI TEMPER=0)  SIGU EST UNE CONSTANTE
  28 : *         +(SI TEMPER=1)  SIGU DEPEND DE LA TEMPERATURE
  29 : *                         + ETAB.'TEREF'
  30 : *
  31 : * SORTIES                                                                       
  32 : *     TABLE DE TABLES DONNANT POUR CHAQUE PAS DE TEMPS                          
  33 : *     ** SI CRITERE DE RICE POUR LA RUPTURE DUCTILE                             
  34 : *         VALEURS MOYENNEES SUR LES ELEMENTS DE                                 
  35 : *   STAB.'RAPPORT'  =  TAUX DE TRIAXIALITE (CHELEM)                             
  36 : *   STAB.'TAUX'     =  TAUX DE CROISSANCE  (CHELEM)                             
  37 : *   STAB.'SIGEQ'    =  CONTRAINTE DE VMIS  (CHELEM)                             
  38 : *   STAB.'EPSEQ'    =  DEFOR. PLAST. CUM.  (CHELEM)                             
  39 : *     ** SI CRITERE DE WEIBULL POUR LA RUPTURE PAR CLIVAGE                      
  40 : *   STAB.'SIGW'     =  CONTRAINTE DE WEIBULL  (FLOTTANT)                        
  41 : *   STAB.'PROB'     =  PROBABILITE DE RUPTURE (FLOTTANT)                        
  42 : *   STAB.'VPLAS'    =  VOLUME PLASTIQUE       (FLOTTANT)                        
  43 : *   STAB.'SIGPMAX'  =  CONTRAINTE PRINCIPALE MAXIMALE  (FLOTTANT)               
  44 : *   STAB.'ELT'      =  ELEMENT OU LA CONT. PRIN. EST MAXIMALE (MAILLAGE)        
  45 : *   STAB.'EPSEQ'    =  DEFORM. PLAST CUMULEE DS L'ELEMENT ELT (FLOTTANT)        
  46 : *   passage aux nouveaux chamelems P DOWLATYARI JAN. 92                         
  47 : *-----------------------------------------------------------------------        
  48 : 
  49 : IWEIB=0;IREPS=0;IRSIG=0;                                                        
  50 : TENTR=ETAB.'TNONL';                                                             
  51 : R=1.D0 / 3.D0;2PI=2.D0 * 3.14159D0;MOD='VALE' 'MODE'; 
  52 : 
  53 : *- transformation des sorties de l'ancien 
  54 : *- NONLIN au format de PASAPAS
  55 : 
  56 : TEMPS1 = TENTR.'TEMPS';                           
  57 : TCONT1 = TENTR.'CONTRAINTES';
  58 : TEPS1 = TENTR.'VARIABLES_INTERNES';
  59 : TEPSP1 = TENTR.'DEFORMATIONS_INELASTIQUES';            
  60 : CHAR1 = TENTR.'CHARGEMENT';            
  61 : NPAS = 'DIME' TEMPS1;
  62 : TCONT = 'TABLE';
  63 : TEPS = 'TABLE';
  64 : TEPSP = 'TABLE';
  65 : CHATOT = 'TABLE';
  66 : TIND = PROG; 
  67 : *
  68 : *
  69 : 'REPETER' BOU_MAN NPAS;
  70 :    ITE1 = &BOU_MAN - 1 ;
  71 :    TCONT . (TEMPS1.ITE1) = TCONT1.ITE1;
  72 :    TEPS . (TEMPS1.ITE1) = TEPS1.ITE1;
  73 :    TEPSP . (TEMPS1.ITE1) = TEPSP1.ITE1;
  74 : *
  75 :    TIND = TIND 'ET' (PROG (TEMPS1.ITE1));
  76 : 'FIN' BOU_MAN; 
  77 : *                                            
  78 : *
  79 : 'SI' ( 'NON' ('EXISTE' ETAB 'OBJMO') ) ;                                        
  80 :    'ERREUR'  'IL FAUT DONNER L OBJET MODEL ' ;                                 
  81 :    'QUITTER' CRITLOC2  ;                                                        
  82 : 'FINSI';
  83 : OBJMO=ETAB.'OBJMO';                                               
  84 : *                                                                               
  85 : STAB='TABL';                                                                    
  86 : *   LECTURE DES PARAMETRES DU CRITERE ET QUELQUES INITIALISATIONS               
  87 :                                                                                 
  88 : LOG='NON' (('EXISTE' ETAB 'RICE') OU  ('EXISTE' ETAB 'WEIBULL'));               
  89 : 'SI' LOG;'MESS' 'IL FAUT DEFINIR LE TYPE DE CRITERE : RICE OU WEIBULL';         
  90 : 'QUITTER' CRITLOC2;'FINSI';                                                     
  91 :                                                                                 
  92 : MAIL1 = 'EXTR' OBJMO 'MAIL'   ;                                                 
  93 : 'SI' ('EXISTE' ETAB 'RICE');                                                    
  94 : LOG='NON' (('EXISTE' ETAB 'EPSILON') OU  ('EXISTE' ETAB 'SIGMA'));              
  95 : 'SI' LOG;'MESS'                                                                 
  96 : 'POUR LE CRITERE DE RICE ,IL FAUT DEFINIR L OPTION: EPSILON OU SIGMA';          
  97 : 'QUITTER' CRITLOC2;'FINSI';                                                     
  98 :                                                                                 
  99 : 'SI' ('EXISTE' ETAB 'EPSILON');IREPS=1;                                         
 100 : VALEPC=ETAB.'EPSC';VALBET=ETAB.'BETA';VALALP=ETAB.'ALPHA';                      
 101 : EPSCX='MANU' 'CHPO' MAIL1 1 'SCAL' VALEPC;                                      
 102 : EPSC = 'CHAN' 'CHAM' OBJMO EPSCX 'STRESSES' 'SCALAIRE'   ;                      
 103 :  'DETR' EPSCX ;                                                                 
 104 : 'FINSI';                                                                        
 105 :                                                                                 
 106 : 'SI' ('EXISTE' ETAB 'SIGMA');IRSIG=1;                                           
 107 : VALBET=ETAB.'BETA';VALALP=ETAB.'ALPHA';                                         
 108 : VALLAM=ETAB.'LAMBDA';VALSI0=ETAB.'SIG0';VALSIC=ETAB.'SIGC';                     
 109 : CHSIGX='MANU' 'CHPO' MAIL1 1  'SCAL' VALSI0;                                    
 110 : CHSIG0 = 'CHAN' 'CHAM'  OBJMO CHSIGX 'STRESSES' 'SCALAIRE' ;                    
 111 : 'DETR'  CHSIGX ;                                                                
 112 : CHSIGX='MANU' 'CHPO' MAIL1 1  'SCAL' VALSIC;                                    
 113 : CHSIGC = 'CHAN' 'CHAM'  OBJMO CHSIGX 'STRESSES' 'SCALAIRE' ;                    
 114 :   'DETR' CHSIGX ;                                                               
 115 : SIGD0='ZERO' OBJMO 'STRESSES';                                                  
 116 : STAB.'CONTDECO'='TABL';STAB.'CPRINMAX'='TABL';                                  
 117 : 'FINSI';                                                                        
 118 :                                                                                 
 119 : STAB.'RAPPORT'='TABL';STAB.'TAUX'='TABL';                                       
 120 : STAB.'SIGEQ'='TABL';STAB.'EPSEQ'='TABL';                                        
 121 : SIG0X='MANU' 'CHPO' MAIL1 1  'SCAL' 1.D-10;                                     
 122 : SIG0 = 'CHAN' 'CHAM'  OBJMO SIG0X 'STRESSES' 'SCALAIRE' ;                       
 123 :  'DETR' SIG0X ;                                                                 
 124 : EPS00='COPI' SIG0;                                                              
 125 : EPS0='ZERO' OBJMO 'STRESSES';SIGS0='COPI' EPS0;SOMR0='COPI' EPS0;               
 126 : 'FINSI';                                                                        
 127 :                                                                                 
 128 : 'SI' ('EXISTE' ETAB 'WEIBULL');IWEIB=1;                                         
 129 : VALM=ETAB.'M';VALSU=ETAB.'SIGU';VALV0=ETAB.'V0';VALIC=ETAB.'IC';                
 130 : VALTP=ETAB.'TEMPER';
 131 : *
 132 : 'SI' (VALTP EGA 1);
 133 : 'REPETER' BOW_MAN NPAS;
 134 :    ITE1 = &BOW_MAN - 1 ;
 135 :    CHATOT . (TEMPS1.ITE1) =  (tire char1 
 136 :  (TEMPS1.ITE1)  'T' );
 137 : 'FIN' BOW_MAN; 
 138 : *
 139 : *temperature de reference pour le calcul de la contrainte de Weibull
 140 : TEREF = ETAB.'TEREF';
 141 : *
 142 : *verification que cette temperature figure dans température de VALSU
 143 : SAB1 = 'EXTR' VALSU 'ABSC';
 144 : TAL1 = 'MINI' SAB1;
 145 : TAL2 = 'MAXI' SAB1;
 146 : *
 147 : 'SI'(TEREF <EG TAL2);
 148 : 'SI' (TEREF < TAL1);
 149 : 'MESS'   'ERREUR:  'TEREF HORS DES TEMPERATURES DONNEES DANS VALSU';            
 150 :    'QUITTER' CRITLOC2  ;                                                        
 151 : 'FINSI';
 152 : 'SINON';
 153 : 'MESS'   'ERREUR:  'TEREF HORS DES TEMPERATURES DONNEES DANS VALSU';            
 154 :    'QUITTER' CRITLOC2  ;                                                        
 155 : 'FINSI';
 156 : *
 157 : 'FINSI';
 158 : 'FINSI';
 159 : *
 160 : *
 161 : 'SI' (('EGA' MOD 'PLANCONT') 'OU' ('EGA' MOD 'PLANDEFO'));
 162 : PARA=ETAB.'EPAI';'FINSI';
 163 : 'SI' (('EGA' MOD 'AXIS') 'OU' ('EGA' MOD 'FOUR'));PARA=1.D0;'FINSI';            
 164 : 'SI' ('EGA' MOD 'TRID');PARA=1.D0;'FINSI';
 165 : FONCPX='MANU' 'CHPO' MAIL1 1  'SCAL' PARA;                                      
 166 : FONCP = 'CHAN' 'CHAM' OBJMO FONCPX 'STRESSES' 'SCALAIRE' ;                      
 167 :  'DETR' FONCPX ;                                                                
 168 : STAB.'SIGW'='TABL';STAB.'PROB'='TABL';STAB.'VPLAS'='TABL';                      
 169 : STAB.'SIGPMAX'='TABL';STAB.'EPSEQ'='TABL';STAB.'ELT'='TABL';                    
 170 : 'SI' (VALIC 'EGA' 1);VALN=ETAB.'N';                                             
 171 : TMEP='TABL';                                                                    
 172 : 'SI' (('EGA' MOD 'PLANCONT') 'OU' ('EGA' MOD 'PLANDEFO')                        
 173 : 'OU' ('EGA' MOD 'TRID'));                                                       
 174 : TMEP.1='EIXX';TMEP.2='EIYY';TMEP.3='EIZZ';TMEP.4='GIXY';                        
 175 : 'SI' ('EGA' MOD 'TRID');TMEP.5='GIXZ';TMEP.6='GIYZ';'FINSI';'FINSI';            
 176 : 'SI' (('EGA' MOD 'AXIS') 'OU' ('EGA' MOD 'FOUR'));                              
 177 : TMEP.1='EIRR';TMEP.2='EIZZ';TMEP.3='EITT';TMEP.4='GIRZ';                        
 178 : 'SI' ('EGA' MOD 'FOUR');TMEP.5='GIRT';TMEP.6='GIZT';'FINSI';'FINSI';            
 179 : 'FINSI';'FINSI';                                                                
 180 :                                                                                 
 181 : FONC1X='MANU' 'CHPO' MAIL1 1  'SCAL' 1.;                                        
 182 : FONC1 = 'CHAN' 'CHAM' OBJMO FONC1X 'STRESSES' 'SCALAIRE' ;                      
 183 :  'DETR' FONC1X ;                                                                
 184 : FONCEX='MANU' 'CHPO' MAIL1 1  'SCAL' 1.E-20;                                    
 185 : FONCE = 'CHAN' 'CHAM' OBJMO FONCEX 'STRESSES' 'SCALAIRE' ;                      
 186 :   'DETR' FONCEX ;                                                               
 187 : FVOLU=(('INTG' 'ELEM' OBJMO FONC1) ** -1)  CHAN  'STRESSES' OBJMO;              
 188 : TMOT='TABL';                                                                    
 189 : 'SI' (('EGA' MOD 'PLANCONT') 'OU' ('EGA' MOD 'PLANDEFO')                        
 190 : 'OU' ('EGA' MOD 'TRID'));                                                       
 191 : TMOT.1='SMXX';TMOT.2='SMYY';TMOT.3='SMZZ';TMOT.4='SMXY';                        
 192 : 'SI' ('EGA' MOD 'TRID');TMOT.5='SMXZ';TMOT.6='SMYZ';'FINSI';'FINSI';            
 193 : 'SI' (('EGA' MOD 'AXIS') 'OU' ('EGA' MOD 'FOUR'));                              
 194 : TMOT.1='SMRR';TMOT.2='SMZZ';TMOT.3='SMTT';TMOT.4='SMRZ';                        
 195 : 'SI' ('EGA' MOD 'FOUR');TMOT.5='SMRT';TMOT.6='SMZT';'FINSI';'FINSI';            
 196 : *                                                                               
 197 : *   BOUCLE SUR LES PAS DE TEMPS                                                 
 198 : *                                                                               
 199 : IPAS=0;                                                                         
 200 : 'REPETER' BOUCLE NPAS;                                                          
 201 : IPAS=IPAS + 1;                                                                  
 202 : TEMPS='EXTR' IPAS TIND;                                                         
 203 : SIG=TCONT.TEMPS;CEPS=TEPS.TEMPS;EPSP=TEPSP.TEMPS;                               
 204 : SIG='REDU' SIG OBJMO;CEPS='REDU' CEPS OBJMO;EPSP='REDU' EPSP OBJMO;             
 205 : EPS=('EXCO' 'EPSE' CEPS) 'CHAN' 'TYPE' 'SCALAIRE';                              
 206 : *
 207 :                                                                                 
 208 : *   MOYENNATION DES CONTRAINTES SUR LES ELEMENTS                                
 209 :                                                                                 
 210 : COEFP=EPS 'MASQ' 'EGSUPE' 1.D-8;                                                
 211 : FVOLUP=((('INTG' 'ELEM' OBJMO (FONC1 * COEFP)) 'CHAN' 'STRESSES' OBJMO)
 212 :  + FONCE) ** -1;                   
 213 : *
 214 : 'SI' (IWEIB 'EGA' 1);                                                           
 215 : SIG=SIG * COEFP;FVOLU=FVOLUP;                                                   
 216 : 'FINSI';                                                                        
 217 :                                                                                 
 218 : SIG1=('INTG' 'ELEM' OBJMO SIG (TMOT.1) 'CHAN' 'STRESSES' OBJMO) * FVOLU;        
 219 : SIG1=('EXCO' SIG1  'SCAL' 'NOID'(TMOT.1)) 'CHAN' 'TYPE' 'SCALAIRE' ;            
 220 : SIG2=('INTG' 'ELEM' OBJMO SIG (TMOT.2) 'CHAN' 'STRESSES' OBJMO) * FVOLU;        
 221 : SIG2=('EXCO' SIG2  'SCAL' 'NOID'(TMOT.2)) 'CHAN' 'TYPE' 'SCALAIRE'  ;           
 222 : SIG3=('INTG' 'ELEM' OBJMO SIG (TMOT.3) 'CHAN' 'STRESSES' OBJMO) * FVOLU;        
 223 : SIG3=('EXCO' SIG3  'SCAL' 'NOID'(TMOT.3))'CHAN' 'TYPE' 'SCALAIRE' ;             
 224 : SIG4=('INTG' 'ELEM' OBJMO SIG (TMOT.4) 'CHAN' 'STRESSES' OBJMO) * FVOLU;        
 225 : SIG4=('EXCO' SIG4  'SCAL' 'NOID'(TMOT.4)) 'CHAN' 'TYPE' 'SCALAIRE' ;            
 226 : 'SI' (('EGA' MOD 'TRID') 'OU' ('EGA' MOD 'FOUR'));                              
 227 : SIG5=('INTG' 'ELEM' OBJMO SIG (TMOT.5) 'CHAN' 'STRESSES' OBJMO) * FVOLU;        
 228 : SIG5=('EXCO' SIG5  'SCAL' 'NOID'(TMOT.5))'CHAN' 'TYPE' 'SCALAIRE' ;             
 229 : SIG6=('INTG' 'ELEM' OBJMO SIG (TMOT.6) 'CHAN' 'STRESSES' OBJMO) * FVOLU;        
 230 : SIG6=('EXCO' SIG6  'SCAL' 'NOID'(TMOT.6))'CHAN' 'TYPE' 'SCALAIRE' ;
 231 :  'FINSI';                               
 232 :                                                                                 
 233 : *
 234 :  'SI' (('EGA' MOD 'PLANCONT') 'OU' ('EGA' MOD 'PLANDEFO')                       
 235 :     'OU' ('EGA' MOD 'AXIS'));                                                   
 236 :     SIGMOY=SIG1 ET SIG2 ET SIG3 ET SIG4 ;                                
 237 :     SIGMOY='CHAN' 'TYPE' SIGMOY 'CONTRAINTES' ;  
 238 :  'FINSI';                                      
 239 :  'SI' (('EGA' MOD 'TRID') 'OU' ('EGA' MOD 'FOUR'));                             
 240 :    SIGMOY=SIG1 ET SIG2 ET SIG3 ET SIG4 ET SIG5 ET SIG6 ;                        
 241 :    SIGMOY='CHAN' 'TYPE' SIGMOY 'CONTRAINTES' ;
 242 :  'FINSI' ;
 243 :  
 244 : *   SIGMOY etant au centre de gravite des elements
 245 : *   on le change en 'STRESSES' pour avoir compatibilite
 246 : *   entre les supports pour le calcul du taux de triaxialite                    
 247 :   SIGMOY = SIGMOY 'CHANG' 'STRESSES' OBJMO;  
 248 : 
 249 : *   MOYENNATION DES DEFORMATIONS PLASTIQUES CUMULEES                            
 250 : EPS=('INTG' 'ELEM' OBJMO EPS) 'CHAN' 'STRESSES' OBJMO;                          
 251 : EPS= EPS * FVOLUP; 
 252 : *EPS = EPS 'CHANG' 'STRESSES' OBJMO;
 253 :                                                                                 
 254 : *   PLUS GRANDE CONTRAINTE PRINCIPALE  (WEIBULL ET RICE SIGMA)                  
 255 :                                                                                 
 256 : 'SI' ((IRSIG 'EGA' 1) 'OU' (IWEIB 'EGA' 1));                                    
 257 : PSIG='PRIN' OBJMO SIGMOY;                                                       
 258 : PSI11=('EXCO' 'SI11' PSIG 'SCAL')'CHAN' 'TYPE' 'SCALAIRE';
 259 : PSI22=('EXCO' 'SI22' PSIG 'SCAL')'CHAN' 'TYPE' 'SCALAIRE';
 260 : PSI33=('EXCO' 'SI33' PSIG 'SCAL')'CHAN' 'TYPE' 'SCALAIRE';
 261 : COEF1=PSI11 'MASQ' 'EGSUPE' PSI22;                                              
 262 : COEF2=PSI22 'MASQ' 'SUPERIEUR' PSI11;                                           
 263 : PSIAA=(PSI11 * COEF1) + (PSI22 * COEF2);                                        
 264 : COEF3=PSIAA 'MASQ' 'EGSUPE' PSI33;                                              
 265 : COEF4=PSI33 'MASQ' 'SUPERIEUR' PSIAA;                                           
 266 : SCOPR=(PSIAA * COEF3) + (PSI33 * COEF4);                                        
 267 : 'FINSI';                                                                        
 268 :                                                                                 
 269 : *                                                                               
 270 : *   CRITERE DE RICE : CALCUL DU TAUX DE TRIAXIALITE ET R/R0                     
 271 : *                                                                               
 272 :                                                                                 
 273 : 'SI' ((IREPS 'EGA' 1) 'OU' (IRSIG 'EGA' 1)); 
 274 :                                    
 275 : VSIG='VMIS' OBJMO SIGMOY;                                                       
 276 : VSIG='CHAN' 'TYPE' VSIG 'SCALAIRE' ;                                            
 277 : *   CALCUL DE LA CONTRAINTE DE DECOHESION                                       
 278 : 'SI' (IRSIG 'EGA' 1);                                                           
 279 :    SIGDEC = SCOPR + (VALLAM * (VSIG - CHSIG0));                                 
 280 : 'FINSI';                                                                        
 281 :                                                                                 
 282 : *   CALCUL DU TAUX DE TRIAXIALITE                                               
 283 : CHEL1 CHEL2 CHEL3='INVA' OBJMO SIGMOY;                                          
 284 : SIGMV=R * CHEL1 * ((VSIG + SIG0) ** -1.);                                       
 285 :                                                                                 
 286 : *   CALCUL DE R / R0                                                            
 287 : *++ ON MET A ZERO LE TAUX DE TRIAXIALITE S IL EST NEGATIF                       
 288 : SIGSG=SIGMV * (SIGMV 'MASQ' 'SUPERIEUR' 0.);                                    
 289 :                                                                                 
 290 : T1='EXP' (VALBET * SIGS0);                                                      
 291 : T2='EXP' (VALBET * SIGSG);                                                      
 292 :                                                                                 
 293 : 'SI' (IRSIG 'EGA' 1);                                                           
 294 : TDSIG=(EPS0 * (SIGDEC - CHSIGC)) + (EPS * (CHSIGC - SIGD0));                    
 295 : IDSIG=((SIGDEC - SIGD0) + SIG0) ** -1;                                          
 296 : EPSC=TDSIG * IDSIG;                                                             
 297 : 'FINSI';                                                                        
 298 :                                                                                 
 299 : TT=(T2 * (EPS - EPSC)) + (T1 * (EPSC - EPS0));                                  
 300 : IDEPS0=((EPS - EPS0) + EPS00) ** -1;                                            
 301 : TC=TT * IDEPS0;                                                                 
 302 :                                                                                 
 303 : SS1=(TC + T2) * (EPS - EPSC);                                                   
 304 : SS2=(T1 + T2) * (EPS - EPS0);                                                   
 305 :                                                                                 
 306 : 'SI' (IREPS 'EGA' 1);COEF=EPS 'MASQ' 'SUPERIEUR' VALEPC;'FINSI';                
 307 : 'SI' (IRSIG 'EGA' 1);COEF=SIGDEC 'MASQ' 'SUPERIEUR' VALSIC;'FINSI';             
 308 : 'SI' (IREPS 'EGA' 1);COEF5=EPS0 'MASQ' 'EGSUPE' VALEPC;                         
 309 : COEF6=EPS0 'MASQ' 'INFERIEUR' VALEPC;'FINSI';                                   
 310 : 'SI' (IRSIG 'EGA' 1);COEF5=SIGD0 'MASQ' 'EGSUPE' VALSIC;                        
 311 : COEF6=SIGD0 'MASQ' 'INFERIEUR' VALSIC;'FINSI';                                  
 312 :                                                                                 
 313 : S=((SS1 * COEF6) + (SS2 * COEF5)) * COEF;                                       
 314 : SOMR0=SOMR0 + S;                                                                
 315 : RSR0='EXP' ((0.5D0 * VALALP) * SOMR0);                                          
 316 : EPS0=EPS;SIGS0=SIGSG;                                                           
 317 : 'SI' (IRSIG 'EGA' 1);                                                           
 318 : SIGD0=SIGDEC;                                                                   
 319 : STAB.'CONTDECO'.TEMPS=SIGDEC;                                                   
 320 : STAB.'CPRINMAX'.TEMPS=SCOPR;                                                    
 321 : 'FINSI';                                                                        
 322 :                                                                                 
 323 : STAB.'RAPPORT'.TEMPS=SIGMV;                                                     
 324 : STAB.'TAUX'.TEMPS=RSR0;                                                         
 325 : STAB.'SIGEQ'.TEMPS=VSIG;                                                        
 326 : STAB.'EPSEQ'.TEMPS=EPS;                                                         
 327 : 'FINSI';                                                                        
 328 :                                                                                 
 329 : *                                                                               
 330 : *   CRITERE DE WEIBULL : CALCUL DU VOLUME PLASTIQUE,                            
 331 : *           DE LA CONTRAINTE DE WEIBULL ET DE LA PROBABILITE DE RUPTURE         
 332 : *                                                                               
 333 :                                                                                 
 334 : 'SI' (IWEIB 'EGA' 1);                                                           
 335 :                                                                                 
 336 : *  CALCUL DU TERME CORR. SI EFFET DE LA DEFOR. PLAST. SUR LE CLIVAGE            
 337 :                                                                                 
 338 : *++DEFORMATION DANS LA DIRECTION DE LA PLUS GRANDE CONTRAINTE PRINCIPALE        
 339 : 'SI' (VALIC 'EGA' 1);                                                           
 340 :    COXPR = ((((('EXCO' 'COX1' PSIG)'CHAN' 'TYPE' 'SCALAIRE') * COEF1) + 
 341 :          ((('EXCO' 'COX2' PSIG)'CHAN' 'TYPE' 'SCALAIRE') * COEF2))        
 342 :          * COEF3) + ((('EXCO' 'COX3' PSIG)'CHAN' 'TYPE' 'SCALAIRE')
 343 :            * COEF4);                                     
 344 :    COYPR = ((((('EXCO' 'COY1' PSIG)'CHAN' 'TYPE' 'SCALAIRE') * COEF1) + 
 345 :          ((('EXCO' 'COY2' PSIG)'CHAN' 'TYPE' 'SCALAIRE') * COEF2))        
 346 :          * COEF3) + ((('EXCO' 'COY3' PSIG)'CHAN' 'TYPE' 'SCALAIRE')
 347 :             * COEF4);                                     
 348 :    COZPR = ((((('EXCO' 'COZ1' PSIG)'CHAN' 'TYPE' 'SCALAIRE') * COEF1) + 
 349 :          ((('EXCO' 'COZ2' PSIG)'CHAN' 'TYPE' 'SCALAIRE') * COEF2))        
 350 :          * COEF3) + ((('EXCO' 'COZ3' PSIG)'CHAN' 'TYPE' 'SCALAIRE')
 351 :            * COEF4);                                     
 352 :                                                                                 
 353 :    DEF11 = ('INTG' 'ELEM' OBJMO EPSP (TMEP.1)'CHAN' 'STRESSES' OBJMO)
 354 :           * FVOLU;                              
 355 :    DEF22 = ('INTG' 'ELEM' OBJMO EPSP (TMEP.2)'CHAN' 'STRESSES' OBJMO )
 356 :           * FVOLU;                              
 357 :    DEF33 = ('INTG' 'ELEM' OBJMO EPSP (TMEP.3)'CHAN' 'STRESSES' OBJMO) 
 358 :          * FVOLU;                              
 359 :    DEF12 = ('INTG' 'ELEM' OBJMO EPSP (TMEP.4)'CHAN' 'STRESSES' OBJMO)
 360 :          * FVOLU;
 361 :    DEF12=DEF12 / 2.;             
 362 :  'SI' (('EGA' MOD 'TRID') 'OU' ('EGA' MOD 'FOUR'));                             
 363 :    DEF13=('INTG' 'ELEM' OBJMO EPSP (TMEP.5)'CHAN' 'STRESSES' OBJMO) 
 364 :         * FVOLU;
 365 :    DEF13=DEF13 / 2.;             
 366 :    DEF23=('INTG' 'ELEM' OBJMO EPSP (TMEP.6)'CHAN' 'STRESSES' OBJMO)
 367 :         * FVOLU;
 368 :    DEF23=DEF23 / 2.;             
 369 :  'SINON';
 370 :    DEF13=DEF12 * 0.;
 371 :    DEF23=DEF12 * 0.;
 372 :  'FINSI';  
 373 : 
 374 : *   DEF11 ... etant au centre de gravite des elements
 375 : *   on les change en 'STRESSES' pour avoir compatibilite
 376 : *   avec les supports de COXPR et COYPR et COZPR   
 377 : DEF11 = DEF11 CHANG 'STRESSES' OBJMO;
 378 : DEF22 = DEF22 CHANG 'STRESSES' OBJMO;
 379 : DEF33 = DEF33 CHANG 'STRESSES' OBJMO;
 380 : DEF12 = DEF12 CHANG 'STRESSES' OBJMO;
 381 : DEF13 = DEF13 CHANG 'STRESSES' OBJMO;
 382 : DEF23 = DEF23 CHANG 'STRESSES' OBJMO;
 383 :                                                                                
 384 :    DFT1 = ((DEF11 * COXPR) + (DEF12 * COYPR) 
 385 :        + (DEF13 * COZPR)) * COXPR;             
 386 :    DFT2 = ((DEF12 * COXPR) + (DEF22 * COYPR)
 387 :        + (DEF23 * COZPR)) * COYPR;             
 388 :    DFT3 = ((DEF13 * COXPR) + (DEF23 * COYPR)
 389 :        + (DEF33 * COZPR)) * COZPR;             
 390 :    DESUSI = DFT1 + DFT2 + DFT3;                                                 
 391 :                                                                                 
 392 :    SCOPR =SCOPR * ('EXP' ((-1. * VALIC / VALN) * DESUSI));                      
 393 : 'FINSI';                                                                        
 394 :                                                                                 
 395 : *   CALCUL DU VOLUME PLASTIQUE                                                  
 396 : 'SI' ( 'EXISTE'  ETAB 'XMULT');
 397 :        XMU1 = ETAB.'XMULT';
 398 : 'SINON';
 399 :        XMU1 = 1.;
 400 :        MESS 'AVEZ-VOUS TENU COMPTE DES SYMETRIES POUR
 401 :              LE CALCUL DU VOLUME PLASTIQUE?';
 402 : 'FINSI';
 403 : VOLPLA = 'INTG' OBJMO   (FONCP * COEFP);                                        
 404 : VOLPLA = VOLPLA * XMU1;
 405 : *
 406 : *   CALCUL DE LA CONTRAINTE DE WEIBULL                                          
 407 : *++ ON MET A ZERO LA + GRANDE CONTRAINTE PRINC. SI ELLE EST NEGATIVE            
 408 : COEFPR=SCOPR 'MASQ' 'EGSUPE' 0.;                                                
 409 : SCOPR=SCOPR * COEFPR * COEFP;
 410 : SCOMAX='MAXI' SCOPR;                                                            
 411 : *
 412 : *
 413 : *
 414 : 'SI' (VALTP EGA 1);
 415 : *
 416 : * determination de la contrainte caracteristique de clivage
 417 : * a partir du champ de temperature : SIGU
 418 : *VALSU est une evolution
 419 : chtemp = chatot.temps;
 420 : SAB1 = 'EXTR' VALSU 'ABSC';                                           
 421 : SOR1 = 'EXTR' VALSU 'ORDO';                                            
 422 : chsigu = 'IPOL' chtemp SAB1 SOR1;                                     
 423 : chsu0 = 'EXCO' chsigu 'T' 'SCAL';                                     
 424 : *determination de la valeur de sigu correspondant 
 425 : *a la temperature de reference  teref
 426 : VSUREF = 'IPOL' TEREF SAB1 SOR1;                                     
 427 : *
 428 : 'SINON';
 429 : *VALSU est une constante
 430 : VSUREF = VALSU;
 431 : chsu0='MANU' 'CHPO' MAIL1 1  'SCAL' VALSU;                                      
 432 : *
 433 : 'FINSI';
 434 : *
 435 : * determination du rapport PRIN_MAX/SIGU soit R(t)
 436 : chsu1 = chsu0 ** (-1);
 437 : *chsu1 est un chpo
 438 : chsu2 = 'CHAN' 'CHAM' OBJMO chsu1 'STRESSES' 'CONTRAINTES' ;                    
 439 : *chsu2 est un chaml
 440 : *
 441 : XCOPR = SCOPR * chsu2;
 442 : *XCOPR est un chaml
 443 : *
 444 : *++ ON MET A ZERO LE RAPPORT R(t) SI IL EST NEGATIF            
 445 : COEFPR=XCOPR 'MASQ' 'EGSUPE' 0.;                                                
 446 : XCOPR=XCOPR * COEFPR * COEFP;
 447 : *
 448 : FVOL1=('INTG' 'ELEM' OBJMO FONC1) ** -1;                                        
 449 : *
 450 : 'SI' (&boucle EGA 1);
 451 : XPS0 = ('EXCO' 'EPSE' CEPS) 'CHAN' 'TYPE' 'SCALAIRE';
 452 : *
 453 : *moyennation du champ de contraintes
 454 : xcopr = ('INTG' 'ELEM' OBJMO xcopr) * FVOL1 ;
 455 : CHX1 = XCOPR;
 456 : *
 457 : 'FINSI';
 458 : *
 459 : 'SI' (&boucle > 1);
 460 : * determination si plasticite active
 461 : XPS = ('EXCO' 'EPSE' CEPS)  'CHAN' 'TYPE' 'SCALAIRE' ;
 462 : CPL1 = XPS 'MASQ' 'SUPERIEUR' XPS0 ;
 463 : *on ne considere le rapport R(t) que si la plasticite est active
 464 : CHA1 = XCOPR * CPL1;
 465 : *
 466 : *moyennation du champ de contraintes
 467 : cha1 = ('INTG' 'ELEM' OBJMO cha1) * FVOL1 ;
 468 : *
 469 : *determination du max du rapport R sur tous les instants
 470 : *  [ 0, t ]  ou la plasticite a ete  ou est active
 471 : COEF1 = CHA1 'MASQ' 'SUPERIEUR' CHX1;
 472 : COEF2 = CHX1 'MASQ' 'EGSUPE' CHA1;
 473 : XCOPR = (CHA1 * COEF1) + (CHX1 * COEF2);
 474 : *
 475 : CHX1 = XCOPR;
 476 : XPS0 = XPS;
 477 : *
 478 : 'FINSI';
 479 : *
 480 : mcopr = 'MASQ'  xcopr 'EGSUPE' 0.;
 481 : xcopr = ((xcopr * mcopr )'CHAN' 'STRESSES' OBJMO) + fonce;
 482 : *
 483 : *   CALCUL DE LA PROBABILITE DE RUPTURE                                         
 484 : XGALA = (('INTG' OBJMO (XCOPR ** VALM)) * XMU1 * PARA / VALV0);
 485 : PROB = 1.D0 - ('EXP' ( (-1.D0)*XGALA ));
 486 : *
 487 : *Contrainte de Weibull a la temperature de reference teref
 488 : SIGW = ( XGALA ** (1.D0 / VALM)) * VSUREF;
 489 : 
 490 :                                                                                 
 491 : *
 492 : *   ELEMENT OU LA CONTRAINTE PRINCIPALE EST MAXIMALE                            
 493 : IEMAX=SCOPR 'ELEM' 'MAXI' ;                                                     
 494 :                                                                                 
 495 : *   DEFORMATION EQUIVALENTE ASSOCIEE A SIGPMAX                                  
 496 : SEPMAX='MAXI' ('REDU' EPS IEMAX);                                               
 497 : *
 498 : STAB.'SIGW'.TEMPS=SIGW;                                                         
 499 : STAB.'VPLAS'.TEMPS=VOLPLA;                                                      
 500 : STAB.'PROB'.TEMPS=PROB;                                                         
 501 : STAB.'SIGPMAX'.TEMPS=SCOMAX;                                                    
 502 : STAB.'ELT'.TEMPS=IEMAX;                                                         
 503 : STAB.'EPSEQ'.TEMPS=SEPMAX;                                                      
 504 : 'FINSI';                                                                        
 505 : 'MENA';                                                                         
 506 : 'FIN' BOUCLE; 
 507 : 'FINP' STAB; 
 508 : 
 509 : 
 510 : 
 511 : 
 512 :  
 513 :  

© Cast3M 2003 - All rights reserved.
Disclaimer