Download dp.eso

Back to the list

   1 : C DP        SOURCE    CHAT      05/01/12    22:54:43     5004           
   2 :       SUBROUTINE DP(SIG,DSIG,YOUN,ANU,RT1,RT2,RDP,ADP,HDP,                      
   3 :      1 XLAM1,XLAM2,XLAM3,IDAM,ANG,IFISSU,EPPLDP,EPPLTR,ALPHA,KERRE)             
   4 :       IMPLICIT INTEGER(I-N)
   5 :       IMPLICIT REAL*8(A-H,O-Z)                                                  
   6 : -INC CCOPTIO                                                                    
   7 :       DIMENSION SIG(3),DSIG(3),SGG(3),DSGG(3),SFG(3),DSFG(3),                   
   8 :      1 A(3),B(3),IDAM(3),EPC(3),EPDP(3),SSI(3),SI(3),EPC1(3),                   
   9 :      1 EPPLDP(3),EPPLTR(3)                                                      
  10 :       ITER=0                                                                    
  11 :       SIREF=1.E-6*YOUN                                                          
  12 :       IF(IFISSU.EQ.1) BETA=ALPHA                                                
  13 :       IF(IFISSU.EQ.0) BETA=1.D0                                                 
  14 :       DO 10 ITYP=1,3                                                            
  15 :       EPPLTR(ITYP)=0.D0                                                         
  16 :       EPPLDP(ITYP)=0.D0                                                         
  17 :    10 EPDP(ITYP)=0.D0                                                           
  18 :       ISOR=0                                                                    
  19 :       XT=0.D0                                                                   
  20 :       IF(IIMPI.EQ.9) WRITE(IOIMP,9999)                                          
  21 : 9999  FORMAT(1X,'DP ECOULEMENT SUIVANT DRUCKER',/)                              
  22 :  9998 FORMAT(1X,'DP ',I4,'ITERATIONS INTERNES',/)                               
  23 : C-----------------------------------------------                                
  24 : C     ON SEPLACE DANS LE REPERE DE FISSURATION                                  
  25 : C-----------------------------------------------                                
  26 : C                                                                               
  26 :       CALL CHREP(SIG,SFG,ANG)                                                   
  26 :       CALL CHREP(DSIG,DSFG,ANG)                                                 
  27 : C                                                                               
  28 : C------------------------------------------------                               
  29 : C     ECOULEMENT SUIVANT LE DRUCKER SEUL                                        
  30 : C------------------------------------------------                               
  31 : C----------------------------------------------                                 
  32 : C     DEFINITION D UNE CONTRAINTE DE REFERENCE                                  
  33 : C     SI RMAX DU DRUCKER INFERIEURE A CETTE VALEUR                              
  34 : C     ALORS SIGMA=0                                                             
  35 : C----------------------------------------------                                 
  36 : C                                                                               
  37 :       RMAX=MAX((RDP/1.73),(RDP/(1.D0-2.D0*ADP)))                                
  38 :       IF(SIREF.LT.RMAX) GOTO 29                                                 
  39 :    19 DO 20 ITYP=1,3                                                            
  40 :    20 SIG(ITYP)=SIG(ITYP)+DSIG(ITYP)                                            
  40 :       CALL NORME(SIG,DL3)                                                       
  41 :       DL3=DL3/YOUN*10.D0                                                        
  42 :       XLAM3=XLAM3+DL3                                                           
  43 :       RDP=0.D0                                                                  
  44 :       HDP=0.D0                                                                  
  45 :       ADP=0.D0                                                                  
  45 :       CALL CPHOIN(SIG,EPPLDP,YOUN,ANU)                                          
  46 :       DO 30 ITYP=1,3                                                            
  47 :       IDAM(ITYP)=0                                                              
  48 :       DSIG(ITYP)=0.D0                                                           
  49 :    30 SIG(ITYP)=0.D0                                                            
  50 :       IF(IIMPI.EQ.9) WRITE(IOIMP,9998) ITER                                     
  51 :       RETURN                                                                    
  52 : C                                                                               
  53 : C-----------------------------------------------------                          
  54 : C     ESTIMATION DU PAS D'INCREMENT DE CONTRAINTES                              
  55 : C-----------------------------------------------------                          
  56 : C                                                                               
  56 : C  29 CALL GDP(SIG,DSIG,RDP,ADP,GAMDP)                                          
  57 : C     IF(GAMDP.GT.1.E-8) THEN                                                   
  58 : C     IDAM(3)=0                                                                 
  59 : C     RETURN                                                                    
  60 : C                                                                               
  60 :    29 CALL SIJ(SFG,SI,SIETOI)                                                   
  60 :       CALL EPSDP(SI,SIETOI,ADP,EPC)                                             
  60 :       CALL CPHOMO(EPC,SSI,YOUN,ANU,BETA)                                        
  60 :       CALL SCAL(SSI,DSFG,VAL)                                                   
  60 :       CALL NORME(DSFG,VA1)                                                      
  60 :       CALL NORME(SSI,VA2)                                                       
  61 :       RMIN=MIN((RDP/1.73),(RDP/(1.D0+2.D0*ADP)))                                
  62 :       IF(VA1.EQ.0.D0) THEN                                                      
  63 :       IDAM(3)=0                                                                 
  64 :       RETURN                                                                    
  65 :       ENDIF                                                                     
  66 :       X=VAL/VA1/VA2                                                             
  67 :       IF(X.GE.1.D0) THEN                                                        
  68 :       X=1.D0                                                                    
  69 :       GOTO 31                                                                   
  70 :       ENDIF                                                                     
  71 :       X=RMIN/SQRT(1.0001D0-X*X)/VA1/8.D0                                        
  72 :       IF(X.GT.1.D0) X=1.D0                                                      
  73 : C                                                                               
  74 : C----------------------------------------------------------                     
  75 : C     ON ECOULE ET ON REGARDE LA VARIATION DE NORMALE                           
  76 : C----------------------------------------------------------                     
  77 : C                                                                               
  78 :    31 ITER=ITER+1                                                               
  79 :       IF(ITER.GT.201) GOTO 653                                                  
  80 :       DO 45 ITYP=1,3                                                            
  81 :       DSGG(ITYP)=DSFG(ITYP)*X                                                   
  82 :       A(ITYP)=SFG(ITYP)+DSGG(ITYP)                                              
  83 :    45 B(ITYP)=-SSI(ITYP)                                                        
  83 :       CALL SCAL2(EPC,SSI,VAL)                                                   
  84 :       VAL=VAL-HDP                                                               
  85 :       IF(VAL.LT.0.D0) THEN                                                      
  86 :       KERRE=459                                                                 
  87 :       RETURN                                                                    
  88 :       ENDIF                                                                     
  89 :       ITER=ITER+1                                                               
  90 :   653 IF(ITER.GT.200) THEN                                                      
  91 :       KERRE=460                                                                 
  92 :       RETURN                                                                    
  93 :       ENDIF                                                                     
  93 :       CALL DLAMDP(A,B,DL3,RDP,ADP,HDP,ITEST)                                    
  94 :       IF(ITEST.EQ.1) THEN                                                       
  95 :       X=X/2.D0                                                                  
  96 :       GOTO 31                                                                   
  97 :       ENDIF                                                                     
  98 :       DO 50 ITYP=1,3                                                            
  99 :    50 SGG(ITYP)=A(ITYP)+DL3*B(ITYP)                                             
  99 :       CALL SIJ(SGG,SI,SIETOI)                                                   
  99 :       CALL EPSDP(SI,SIETOI,ADP,EPC1)                                            
  99 :       CALL SCAL(EPC,EPC1,VAL)                                                   
  99 :       CALL NORME(EPC,VA1)                                                       
  99 :       CALL NORME(EPC1,VA2)                                                      
 100 :       CO=VAL/VA1/VA2                                                            
 101 :       IF(CO.LT.0.99) THEN                                                       
 102 :       X=X/2.D0                                                                  
 103 :       GOTO 31                                                                   
 104 :       ENDIF                                                                     
 105 :       IF(DL3.LT.0.D0) THEN                                                      
 106 :       IDAM(3)=0                                                                 
 107 :       DL3=0.D0                                                                  
 108 :       ISOR=1                                                                    
 109 :       GOTO 525                                                                  
 110 :       ENDIF                                                                     
 111 :       RD=RDP-DL3*HDP                                                            
 112 :       IF(RD.LT.SIREF) GOTO 19                                                   
 113 :       IF(IFISSU.EQ.1) GOTO 100                                                  
 113 :       CALL CTRSF(SGG,RT1,VAL)                                                   
 114 :       IF(VAL.LE.0.D0) GOTO 500                                                  
 115 : C                                                                               
 116 : C-------------------------------------------------                              
 117 : C     CAS OU LA LIMITE EN TRACTION EST DEPASSEE                                 
 118 : C     MAIS ON NE CONNAIT PAS LE REPERE PRINCIPAL                                
 119 : C     DE FISSURATION                                                            
 120 : C-------------------------------------------------                              
 121 :       IFISSU=1                                                                  
 121 :       CALL CANG(SGG,ANG,YOUN)                                                   
 122 :       DO 55 ITYP=1,3                                                            
 123 :    55 DSGG(ITYP)=SFG(ITYP)                                                      
 123 :       CALL CHREP(DSGG,SFG,ANG)                                                  
 123 :       CALL CHREP(DSIG,DSFG,ANG)                                                 
 123 :       CALL SIJ(SFG,SI,SIETOI)                                                   
 123 :       CALL EPSDP(SI,SIETOI,ADP,EPC)                                             
 123 :       CALL CPHOMO(EPC,SSI,YOUN,ANU,BETA)                                        
 124 :       DO 60 ITYP=1,3                                                            
 125 :       DSGG(ITYP)=DSFG(ITYP)*X                                                   
 126 :       A(ITYP)=SFG(ITYP)+DSGG(ITYP)                                              
 127 :   60  B(ITYP)=-SSI(ITYP)                                                        
 127 :       CALL DLAMDP(A,B,DL3,RDP,ADP,HDP,ITEST)                                    
 128 :       DO 65 ITYP=1,3                                                            
 129 :    65 SGG(ITYP)=A(ITYP)+DL3*B(ITYP)                                             
 129 :       CALL CTRAF(SGG(1),RT1,VCTR1)                                              
 130 :       IF(VCTR1.LE.0.D0) GOTO 80                                                 
 131 : C                                                                               
 132 : C------------------------------------                                           
 133 : C     ON ENDOMMAGE LA TRACTION 1                                                
 134 : C------------------------------------                                           
 135 : C                                                                               
 136 :       ISOR=1                                                                    
 137 :       IF(DSFG(1).NE.0.D0) THEN                                                  
 138 :       E=(RT1-SFG(1))/DSFG(1)                                                    
 139 :       F=SSI(1)/DSFG(1)                                                          
 140 :       DO 70 ITYP=1,3                                                            
 141 :       A(ITYP)=SFG(ITYP)+E*DSFG(ITYP)                                            
 142 :    70 B(ITYP)=-SSI(ITYP)+F*DSFG(ITYP)                                           
 142 :       CALL DLAMD(A,B,DL31,DL32,RDP,ADP,HDP,ITEST)                               
 143 :       DO 69 ITYP=1,3                                                            
 144 :       SGG(ITYP)=A(ITYP)+DL31*B(ITYP)                                            
 145 :    69 DSGG(ITYP)=A(ITYP)+DL32*B(ITYP)                                           
 145 :       CALL SIJ(SGG,SI,SIETOI)                                                   
 145 :       CALL EPSDP(SI,SIETOI,ADP,EPC1)                                            
 145 :       CALL SCAL(EPC,EPC1,VAL)                                                   
 145 :       CALL NORME(EPC,VA1)                                                       
 145 :       CALL NORME(EPC1,VA2)                                                      
 146 :       CO1=VAL/VA1/VA2                                                           
 146 :       CALL SIJ(DSGG,SI,SIETOI)                                                  
 146 :       CALL EPSDP(SI,SIETOI,ADP,EPC1)                                            
 146 :       CALL SCAL(EPC,EPC1,VAL)                                                   
 146 :       CALL NORME(EPC,VA1)                                                       
 146 :       CALL NORME(EPC1,VA2)                                                      
 147 :       CO2=VAL/VA1/VA2                                                           
 148 :       XIN1=E+F*DL31                                                             
 149 :       XIN2=E+F*DL32                                                             
 150 :       IF(XIN1.GT.-1.E-10.AND.XIN1.LE.X.AND.CO1.GT.0.9) THEN                     
 151 :       X=XIN1                                                                    
 152 :       DL3=DL31                                                                  
 153 :       GOTO 71                                                                   
 154 :       ENDIF                                                                     
 155 :       IF(XIN2.GT.-1.E-10.AND.XIN2.LE.X.AND.CO2.GT.0.9) THEN                     
 156 :       X=XIN2                                                                    
 157 :       DL3=DL32                                                                  
 158 :       GOTO 71                                                                   
 159 :       ENDIF                                                                     
 160 :       IF(IIMPI.EQ.9) WRITE(IOIMP,10101)                                         
 161 : 10101 FORMAT(1X,'ERREUR DP TRACTION 1 SF',/)                                    
 162 :       DL3=DL31                                                                  
 163 :       X=XIN1                                                                    
 164 :    71 DO 72 ITYP=1,3                                                            
 165 :    72 SGG(ITYP)=A(ITYP)+DL3*B(ITYP)                                             
 166 :       IDAM(1)=1                                                                 
 167 :       IDAM(2)=0                                                                 
 168 :       IDAM(3)=1                                                                 
 169 :       GOTO 80                                                                   
 170 :       ENDIF                                                                     
 171 :       DL3=(-RT1+SFG(1))/SSI(1)                                                  
 172 :       RD=RDP-DL3*HDP                                                            
 173 :       IF(RD.LT.SIREF) GOTO 19                                                   
 174 :       DO 74 ITYP=1,3                                                            
 175 :       A(ITYP)=SFG(ITYP)-DL3*SSI(ITYP)                                           
 176 :    74 B(ITYP)=DSFG(ITYP)                                                        
 176 :       CALL XDP(A,B,RD,ADP,X,ITEST)                                              
 177 :       DO 76 ITYP=1,3                                                            
 178 :    76 SGG(ITYP)=A(ITYP)+X*B(ITYP)                                               
 179 :       IDAM(1)=1                                                                 
 180 :       IDAM(2)=0                                                                 
 181 :       IDAM(3)=1                                                                 
 182 : C                                                                               
 183 : C------------------------------------                                           
 184 : C     ON ENDOMMAGE LA TRACTION 2                                                
 185 : C------------------------------------                                           
 186 : C                                                                               
 186 :    80 CALL CTRAF(SGG(2),RT2,VCTR2)                                              
 187 :       IF(VCTR2.LE.0.D0) GOTO 91                                                 
 188 :       ISOR=1                                                                    
 189 :       IF(DSFG(2).NE.0.D0) THEN                                                  
 190 :       E=(RT2-SFG(2))/DSFG(2)                                                    
 191 :       F=SSI(2)/DSFG(2)                                                          
 192 :       DO 82 ITYP=1,3                                                            
 193 :       A(ITYP)=SFG(ITYP)+E*DSFG(ITYP)                                            
 194 :    82 B(ITYP)=-SSI(ITYP)+F*DSFG(ITYP)                                           
 194 :       CALL DLAMD(A,B,DL31,DL32,RDP,ADP,HDP,ITEST)                               
 195 :       DO 81 ITYP=1,3                                                            
 196 :       SGG(ITYP)=A(ITYP)+DL31*B(ITYP)                                            
 197 :    81 DSGG(ITYP)=A(ITYP)+DL32*B(ITYP)                                           
 197 :       CALL SIJ(SGG,SI,SIETOI)                                                   
 197 :       CALL EPSDP(SI,SIETOI,ADP,EPC1)                                            
 197 :       CALL SCAL(EPC,EPC1,VAL)                                                   
 197 :       CALL NORME(EPC,VA1)                                                       
 197 :       CALL NORME(EPC1,VA2)                                                      
 198 :       CO1=VAL/VA1/VA2                                                           
 198 :       CALL SIJ(DSGG,SI,SIETOI)                                                  
 198 :       CALL EPSDP(SI,SIETOI,ADP,EPC1)                                            
 198 :       CALL SCAL(EPC,EPC1,VAL)                                                   
 198 :       CALL NORME(EPC,VA1)                                                       
 198 :       CALL NORME(EPC1,VA2)                                                      
 199 :       CO2=VAL/VA1/VA2                                                           
 200 :       XIN1=E+F*DL31                                                             
 201 :       XIN2=E+F*DL32                                                             
 202 :       IF(XIN1.GT.-1.E-10.AND.XIN1.LE.X.AND.CO1.GT.0.9) THEN                     
 203 :       X=XIN1                                                                    
 204 :       DL3=DL31                                                                  
 205 :       GOTO 83                                                                   
 206 :       ENDIF                                                                     
 207 :       IF(XIN2.GT.-1.E-10.AND.XIN2.LE.X.AND.CO2.GT.0.9) THEN                     
 208 :       X=XIN2                                                                    
 209 :       DL3=DL32                                                                  
 210 :       GOTO 83                                                                   
 211 :       ENDIF                                                                     
 212 :       IF(IIMPI.EQ.9) WRITE(IOIMP,20202)                                         
 213 : 20202 FORMAT(1X,'ERREUR DP TRACTION 2 SF',/)                                    
 214 :       DL3=DL31                                                                  
 215 :       X=XIN1                                                                    
 216 :    83 DO 84 ITYP=1,3                                                            
 217 :    84 SGG(ITYP)=A(ITYP)+DL3*B(ITYP)                                             
 218 :       IDAM(1)=0                                                                 
 219 :       IDAM(2)=1                                                                 
 220 :       IDAM(3)=1                                                                 
 221 :       GOTO 91                                                                   
 222 :       ENDIF                                                                     
 223 :       DL3=(-RT2+SFG(2))/SSI(2)                                                  
 224 :       RD=RDP-DL3*HDP                                                            
 225 :       IF(RD.LT.SIREF) GOTO 19                                                   
 226 :       DO 86 ITYP=1,3                                                            
 227 :       A(ITYP)=SFG(ITYP)-DL3*SSI(ITYP)                                           
 228 :    86 B(ITYP)=DSFG(ITYP)                                                        
 228 :       CALL XDP(A,B,RD,ADP,X,ITEST)                                              
 229 :       DO 88 ITYP=1,3                                                            
 230 :    88 SGG(ITYP)=A(ITYP)+X*B(ITYP)                                               
 231 :       IDAM(1)=0                                                                 
 232 :       IDAM(2)=1                                                                 
 233 :       IDAM(3)=1                                                                 
 234 :    91 RDP=RDP-DL3*HDP                                                           
 235 :       IF(RDP.LT.SIREF) THEN                                                     
 236 :       ANG=0.D0                                                                  
 237 :       IFISSU=0                                                                  
 238 :       GOTO 19                                                                   
 239 :       ENDIF                                                                     
 240 :       XT=XT+X                                                                   
 241 :       DO 90 ITYP=1,3                                                            
 242 :       SFG(ITYP)=SGG(ITYP)                                                       
 243 :    90 DSFG(ITYP)=(1.D0-XT)*DSFG(ITYP)                                           
 244 :       DSGG(1)=0.D0                                                              
 245 :       DSGG(2)=0.D0                                                              
 246 :       DSGG(3)=(1.D0-ALPHA)*DSFG(3)                                              
 246 :       CALL CPHOIN(DSGG,SGG,YOUN,ANU)                                            
 246 :       CALL CHREP(SGG,EPPLTR,-ANG)                                               
 247 :       DO 92 ITYP=1,3                                                            
 248 :    92 SGG(ITYP)=DL3*EPC(ITYP)                                                   
 248 :       CALL CHREP(SGG,EPPLDP,-ANG)                                               
 249 :       DO 94 ITYP=1,3                                                            
 250 :    94 EPPLDP(ITYP)=EPPLDP(ITYP)+EPDP(ITYP)                                      
 250 :       CALL CHREP(SFG,SIG,-ANG)                                                  
 251 :       DSFG(3)=ALPHA*DSFG(3)                                                     
 251 :       CALL CHREP(DSFG,DSIG,-ANG)                                                
 252 :       IF(IIMPI.EQ.9) WRITE(IOIMP,9998) ITER                                     
 252 :       CALL GDP(SIG,DSIG,RDP,ADP,GAMDP)                                          
 253 :       IF(GAMDP.GT.1.E-8) IDAM(3)=0                                              
 254 :       RETURN                                                                    
 255 : C                                                                               
 256 : C------------------------------------------------------------                   
 257 : C     ON REGARDE SI ON N ENDOMMAGE PAS LES AUTRES CRITERES                      
 258 : C     AUQUEL CAS IL FAUT CALCULER X POUR ARRIVER AU COUPLAGE                    
 259 : C------------------------------------------------------------                   
 260 : C------------------------------------                                           
 261 : C     ON ENDOMMAGE LA TRACTION 1                                                
 262 : C------------------------------------                                           
 263 : C                                                                               
 264 :  100  CONTINUE                                                                  
 264 :       CALL CTRAF(SGG(1),RT1,VCTR1)                                              
 264 :       CALL CCOAF(SGG(1),XLAM1,VCCO1)                                            
 265 :       IF(VCTR1.GT.0.D0) GOTO 105                                                
 266 :       IF(VCCO1.GT.0.D0) GOTO 200                                                
 266 :       CALL CTRAF(SGG(2),RT2,VCTR2)                                              
 266 :       CALL CCOAF(SGG(2),XLAM2,VCCO2)                                            
 267 :       IF(VCTR2.GT.0.D0) GOTO 300                                                
 268 :       IF(VCCO2.GT.0.D0) GOTO 400                                                
 269 :       GOTO 500                                                                  
 270 :   105 ISOR=1                                                                    
 271 :       IF(DSFG(1).NE.0.D0) THEN                                                  
 272 :       E=(RT1-SFG(1))/DSFG(1)                                                    
 273 :       F=SSI(1)/DSFG(1)                                                          
 274 :       DO 110 ITYP=1,3                                                           
 275 :       A(ITYP)=SFG(ITYP)+E*DSFG(ITYP)                                            
 276 :   110 B(ITYP)=-SSI(ITYP)+F*DSFG(ITYP)                                           
 276 :       CALL DLAMD(A,B,DL31,DL32,RDP,ADP,HDP,ITEST)                               
 277 :       DO 111 ITYP=1,3                                                           
 278 :       SGG(ITYP)=A(ITYP)+DL31*B(ITYP)                                            
 279 :   111 DSGG(ITYP)=A(ITYP)+DL32*B(ITYP)                                           
 279 :       CALL SIJ(SGG,SI,SIETOI)                                                   
 279 :       CALL EPSDP(SI,SIETOI,ADP,EPC1)                                            
 279 :       CALL SCAL(EPC,EPC1,VAL)                                                   
 279 :       CALL NORME(EPC,VA1)                                                       
 279 :       CALL NORME(EPC1,VA2)                                                      
 280 :       CO1=VAL/VA1/VA2                                                           
 280 :       CALL SIJ(DSGG,SI,SIETOI)                                                  
 280 :       CALL EPSDP(SI,SIETOI,ADP,EPC1)                                            
 280 :       CALL SCAL(EPC,EPC1,VAL)                                                   
 280 :       CALL NORME(EPC,VA1)                                                       
 280 :       CALL NORME(EPC1,VA2)                                                      
 281 :       CO2=VAL/VA1/VA2                                                           
 282 :       XIN1=E+F*DL31                                                             
 283 :       XIN2=E+F*DL32                                                             
 284 :       IF(XIN1.GT.-1.E-10.AND.XIN1.LE.X.AND.CO1.GT.0.9) THEN                     
 285 :       X=XIN1                                                                    
 286 :       DL3=DL31                                                                  
 287 :       GOTO 119                                                                  
 288 :       ENDIF                                                                     
 289 :       IF(XIN2.GT.-1.E-10.AND.XIN2.LE.X.AND.CO2.GT.0.9) THEN                     
 290 :       X=XIN2                                                                    
 291 :       DL3=DL32                                                                  
 292 :       GOTO 119                                                                  
 293 :       ENDIF                                                                     
 294 :       IF(IIMPI.EQ.9) WRITE(IOIMP,30303)                                         
 295 : 30303 FORMAT(1X,'ERREUR DP TRACTION 1 AF',/)                                    
 296 :       DL3=DL31                                                                  
 297 :       X=XIN1                                                                    
 298 :   119 DO 120 ITYP=1,3                                                           
 299 :   120 SGG(ITYP)=A(ITYP)+DL3*B(ITYP)                                             
 300 :       IDAM(1)=1                                                                 
 301 :       IDAM(2)=0                                                                 
 302 :       IDAM(3)=1                                                                 
 303 :       GOTO 150                                                                  
 304 :       ENDIF                                                                     
 305 :       DL3=(-RT1+SFG(1))/SSI(1)                                                  
 306 :       RD=RDP-DL3*HDP                                                            
 307 :       IF(RDP.LT.SIREF) GOTO 19                                                  
 308 :       DO 130 ITYP=1,3                                                           
 309 :       A(ITYP)=SFG(ITYP)-DL3*SSI(ITYP)                                           
 310 :   130 B(ITYP)=DSFG(ITYP)                                                        
 310 :       CALL XDP(A,B,RD,ADP,X,ITEST)                                              
 311 :       DO 140 ITYP=1,3                                                           
 312 :   140 SGG(ITYP)=A(ITYP)+X*B(ITYP)                                               
 313 :       IDAM(1)=1                                                                 
 314 :       IDAM(2)=0                                                                 
 315 :       IDAM(3)=1                                                                 
 315 :   150 CALL CTRAF(SGG(2),RT2,VCTR2)                                              
 315 :       CALL CCOAF(SGG(2),XLAM2,VCCO2)                                            
 316 :       IF(VCTR2.GT.0.D0) GOTO 300                                                
 317 :       IF(VCCO2.GT.0.D0) GOTO 400                                                
 318 :       GOTO 500                                                                  
 319 : C                                                                               
 320 : C------------------------------------                                           
 321 : C     ON ENDOMMAGE LA COMPRESSION 1                                             
 322 : C------------------------------------                                           
 323 : C                                                                               
 324 :   200 ISOR=1                                                                    
 325 :       IF(DSFG(1).NE.0.D0) THEN                                                  
 326 :       E=SFG(1)/DSFG(1)                                                          
 327 :       F=SSI(1)/DSFG(1)                                                          
 328 :       DO 210 ITYP=1,3                                                           
 329 :       A(ITYP)=SFG(ITYP)-E*DSFG(ITYP)                                            
 330 :   210 B(ITYP)=-SSI(ITYP)+F*DSFG(ITYP)                                           
 330 :       CALL DLAMD(A,B,DL31,DL32,RDP,ADP,HDP,ITEST)                               
 331 :       DO 211 ITYP=1,3                                                           
 332 :       SGG(ITYP)=A(ITYP)+DL31*B(ITYP)                                            
 333 :   211 DSGG(ITYP)=A(ITYP)+DL32*B(ITYP)                                           
 333 :       CALL SIJ(SGG,SI,SIETOI)                                                   
 333 :       CALL EPSDP(SI,SIETOI,ADP,EPC1)                                            
 333 :       CALL SCAL(EPC,EPC1,VAL)                                                   
 333 :       CALL NORME(EPC,VA1)                                                       
 333 :       CALL NORME(EPC1,VA2)                                                      
 334 :       CO1=VAL/VA1/VA2                                                           
 334 :       CALL SIJ(DSGG,SI,SIETOI)                                                  
 334 :       CALL EPSDP(SI,SIETOI,ADP,EPC1)                                            
 334 :       CALL SCAL(EPC,EPC1,VAL)                                                   
 334 :       CALL NORME(EPC,VA1)                                                       
 334 :       CALL NORME(EPC1,VA2)                                                      
 335 :       CO2=VAL/VA1/VA2                                                           
 336 :       XIN1=-E+F*DL31                                                            
 337 :       XIN2=-E+F*DL32                                                            
 338 :       IF(XIN1.GT.-1.E-10.AND.XIN1.LE.X.AND.CO1.GT.0.9) THEN                     
 339 :       X=XIN1                                                                    
 340 :       DL3=DL31                                                                  
 341 :       GOTO 219                                                                  
 342 :       ENDIF                                                                     
 343 :       IF(XIN2.GT.-1.E-10.AND.XIN2.LE.X.AND.CO2.GT.0.9) THEN                     
 344 :       X=XIN2                                                                    
 345 :       DL3=DL32                                                                  
 346 :       GOTO 219                                                                  
 347 :       ENDIF                                                                     
 348 :       IF(IIMPI.EQ.9) WRITE(IOIMP,40404)                                         
 349 : 40404 FORMAT(1X,'ERREUR DP COMPRESSION 1',/)                                    
 350 :       DL3=DL31                                                                  
 351 :       X=XIN1                                                                    
 352 :   219 DO 220 ITYP=1,3                                                           
 353 :   220 SGG(ITYP)=A(ITYP)+DL3*B(ITYP)                                             
 354 :       IDAM(1)=-1                                                                
 355 :       IDAM(2)=0                                                                 
 356 :       IDAM(3)=1                                                                 
 357 :       GOTO 250                                                                  
 358 :       ENDIF                                                                     
 359 :       DL3=SFG(1)/SSI(1)                                                         
 360 :       RD=RDP-DL3*HDP                                                            
 361 :       IF(RD.LT.SIREF) GOTO 19                                                   
 362 :       DO 230 ITYP=1,3                                                           
 363 :       A(ITYP)=SFG(ITYP)-DL3*SSI(ITYP)                                           
 364 :   230 B(ITYP)=DSFG(ITYP)                                                        
 364 :       CALL XDP(A,B,RD,ADP,X,ITEST)                                              
 365 :       DO 240 ITYP=1,3                                                           
 366 :   240 SGG(ITYP)=A(ITYP)+X*B(ITYP)                                               
 367 :       IDAM(1)=-1                                                                
 368 :       IDAM(2)=0                                                                 
 369 :       IDAM(3)=1                                                                 
 369 :   250 CALL CTRAF(SGG(2),RT2,VCTR2)                                              
 369 :       CALL CCOAF(SGG(2),XLAM2,VCCO2)                                            
 370 :       IF(VCTR2.GT.0.D0) GOTO 300                                                
 371 :       IF(VCCO2.GT.0.D0) GOTO 400                                                
 372 :       GOTO 500                                                                  
 373 : C                                                                               
 374 : C------------------------------------                                           
 375 : C     ON ENDOMMAGE LA TRACTION 2                                                
 376 : C------------------------------------                                           
 377 : C                                                                               
 378 :   300 ISOR=1                                                                    
 379 :       IF(DSFG(2).NE.0.D0) THEN                                                  
 380 :       E=(RT2-SFG(2))/DSFG(2)                                                    
 381 :       F=SSI(2)/DSFG(2)                                                          
 382 :       DO 310 ITYP=1,3                                                           
 383 :       A(ITYP)=SFG(ITYP)+E*DSFG(ITYP)                                            
 384 :   310 B(ITYP)=-SSI(ITYP)+F*DSFG(ITYP)                                           
 384 :       CALL DLAMD(A,B,DL31,DL32,RDP,ADP,HDP,ITEST)                               
 385 :       DO 311 ITYP=1,3                                                           
 386 :       SGG(ITYP)=A(ITYP)+DL31*B(ITYP)                                            
 387 :   311 DSGG(ITYP)=A(ITYP)+DL32*B(ITYP)                                           
 387 :       CALL SIJ(SGG,SI,SIETOI)                                                   
 387 :       CALL EPSDP(SI,SIETOI,ADP,EPC1)                                            
 387 :       CALL SCAL(EPC,EPC1,VAL)                                                   
 387 :       CALL NORME(EPC,VA1)                                                       
 387 :       CALL NORME(EPC1,VA2)                                                      
 388 :       CO1=VAL/VA1/VA2                                                           
 388 :       CALL SIJ(DSGG,SI,SIETOI)                                                  
 388 :       CALL EPSDP(SI,SIETOI,ADP,EPC1)                                            
 388 :       CALL SCAL(EPC,EPC1,VAL)                                                   
 388 :       CALL NORME(EPC,VA1)                                                       
 388 :       CALL NORME(EPC1,VA2)                                                      
 389 :       CO2=VAL/VA1/VA2                                                           
 390 :       XIN1=E+F*DL31                                                             
 391 :       XIN2=E+F*DL32                                                             
 392 :       IF(XIN1.GT.-1.E-10.AND.XIN1.LE.X.AND.CO1.GT.0.9) THEN                     
 393 :       X=XIN1                                                                    
 394 :       DL3=DL31                                                                  
 395 :       GOTO 319                                                                  
 396 :       ENDIF                                                                     
 397 :       IF(XIN2.GT.-1.E-10.AND.XIN2.LE.X.AND.CO2.GT.0.9) THEN                     
 398 :       X=XIN2                                                                    
 399 :       DL3=DL32                                                                  
 400 :       GOTO 319                                                                  
 401 :       ENDIF                                                                     
 402 :       IF(IIMPI.EQ.9) WRITE(IOIMP,50505)                                         
 403 : 50505 FORMAT(1X,'ERREUR DP TRACTION 2 AF',/)                                    
 404 :       DL3=DL31                                                                  
 405 :       X=XIN1                                                                    
 406 :   319 DO 320 ITYP=1,3                                                           
 407 :   320 SGG(ITYP)=A(ITYP)+DL3*B(ITYP)                                             
 408 :       IDAM(1)=0                                                                 
 409 :       IDAM(2)=1                                                                 
 410 :       IDAM(3)=1                                                                 
 411 :       GOTO 500                                                                  
 412 :       ENDIF                                                                     
 413 :       DL3=(-RT2+SFG(2))/SSI(2)                                                  
 414 :       RD=RDP-DL3*HDP                                                            
 415 :       IF(RD.LT.SIREF) GOTO 19                                                   
 416 :       DO 330 ITYP=1,3                                                           
 417 :       A(ITYP)=SFG(ITYP)-DL3*SSI(ITYP)                                           
 418 :   330 B(ITYP)=DSFG(ITYP)                                                        
 418 :       CALL XDP(A,B,RD,ADP,X,ITEST)                                              
 419 :       DO 340 ITYP=1,3                                                           
 420 :   340 SGG(ITYP)=A(ITYP)+X*B(ITYP)                                               
 421 :       IDAM(1)=0                                                                 
 422 :       IDAM(2)=1                                                                 
 423 :       IDAM(3)=1                                                                 
 424 :       GOTO 500                                                                  
 425 : C                                                                               
 426 : C------------------------------------                                           
 427 : C     ON ENDOMMAGE LA COMPRESSION 2                                             
 428 : C------------------------------------                                           
 429 : C                                                                               
 430 :   400 ISOR=1                                                                    
 431 :       IF(DSFG(2).NE.0.D0) THEN                                                  
 432 :       E=SFG(2)/DSFG(2)                                                          
 433 :       F=SSI(2)/DSFG(2)                                                          
 434 :       DO 410 ITYP=1,3                                                           
 435 :       A(ITYP)=SFG(ITYP)-E*DSFG(ITYP)                                            
 436 :   410 B(ITYP)=-SSI(ITYP)+F*DSFG(ITYP)                                           
 436 :       CALL DLAMD(A,B,DL31,DL32,RDP,ADP,HDP,ITEST)                               
 437 :       DO 411 ITYP=1,3                                                           
 438 :       SGG(ITYP)=A(ITYP)+DL31*B(ITYP)                                            
 439 :   411 DSGG(ITYP)=A(ITYP)+DL32*B(ITYP)                                           
 439 :       CALL SIJ(SGG,SI,SIETOI)                                                   
 439 :       CALL EPSDP(SI,SIETOI,ADP,EPC1)                                            
 439 :       CALL SCAL(EPC,EPC1,VAL)                                                   
 439 :       CALL NORME(EPC,VA1)                                                       
 439 :       CALL NORME(EPC1,VA2)                                                      
 440 :       CO1=VAL/VA1/VA2                                                           
 440 :       CALL SIJ(DSGG,SI,SIETOI)                                                  
 440 :       CALL EPSDP(SI,SIETOI,ADP,EPC1)                                            
 440 :       CALL SCAL(EPC,EPC1,VAL)                                                   
 440 :       CALL NORME(EPC,VA1)                                                       
 440 :       CALL NORME(EPC1,VA2)                                                      
 441 :       CO2=VAL/VA1/VA2                                                           
 442 :       XIN1=-E+F*DL31                                                            
 443 :       XIN2=-E+F*DL32                                                            
 444 :       IF(XIN1.GT.-1.E-10.AND.XIN1.LE.X.AND.CO1.GT.0.9) THEN                     
 445 :       X=XIN1                                                                    
 446 :       DL3=DL31                                                                  
 447 :       GOTO 419                                                                  
 448 :       ENDIF                                                                     
 449 :       IF(XIN2.GT.-1.E-10.AND.XIN2.LE.X.AND.CO2.GT.0.9) THEN                     
 450 :       X=XIN2                                                                    
 451 :       DL3=DL32                                                                  
 452 :       GOTO 419                                                                  
 453 :       ENDIF                                                                     
 454 :       IF(IIMPI.EQ.9) WRITE(IOIMP,60606)                                         
 455 : 60606 FORMAT(1X,'ERREUR DP COMPRESSION 2 ',/)                                   
 456 :       DL3=DL31                                                                  
 457 :       X=XIN1                                                                    
 458 :   419 DO 420 ITYP=1,3                                                           
 459 :   420 SGG(ITYP)=A(ITYP)+DL3*B(ITYP)                                             
 460 :       IDAM(1)=0                                                                 
 461 :       IDAM(2)=-1                                                                
 462 :       IDAM(3)=1                                                                 
 463 :       GOTO 500                                                                  
 464 :       ENDIF                                                                     
 465 :       DO 430 ITYP=1,3                                                           
 466 :       DL3=SFG(2)/SSI(2)                                                         
 467 :       RD=RDP-DL3*HDP                                                            
 468 :       IF(RD.LT.SIREF) GOTO 19                                                   
 469 :       A(ITYP)=SFG(ITYP)-DL3*SSI(ITYP)                                           
 470 :   430 B(ITYP)=DSFG(ITYP)                                                        
 470 :       CALL XDP(A,B,RD,ADP,X,ITEST)                                              
 471 :       DO 440 ITYP=1,3                                                           
 472 :   440 SGG(ITYP)=A(ITYP)+X*B(ITYP)                                               
 473 :       IDAM(1)=0                                                                 
 474 :       IDAM(2)=-1                                                                
 475 :       IDAM(3)=1                                                                 
 476 :   500 DO 510 ITYP=1,3                                                           
 477 :       EPDP(ITYP)=DL3*EPC(ITYP)+EPDP(ITYP)                                       
 478 :   510 SFG(ITYP)=SGG(ITYP)                                                       
 479 : C                                                                               
 480 : C-------------------------------------------------------                        
 481 : C     CAS OU LA LIMITE EN TRACTION N EST PAS DEPASSEE                           
 482 : C-------------------------------------------------------                        
 483 : C                                                                               
 484 :       RDP=RDP-DL3*HDP                                                           
 485 :       IF(RDP.LT.SIREF) GOTO 19                                                  
 486 :       XLAM3=XLAM3+DL3                                                           
 487 :       XT=X+XT                                                                   
 488 :       C=1.D0-1.D-10                                                             
 489 :       IF(XT.GT.C) THEN                                                          
 490 :       DO 520 ITYP=1,3                                                           
 491 :       IDAM(ITYP)=0                                                              
 492 :   520 DSIG(ITYP)=0.D0                                                           
 492 :       CALL CHREP(SFG,SIG,-ANG)                                                  
 492 :       CALL CHREP(EPDP,EPPLDP,-ANG)                                              
 493 :       IF(IIMPI.EQ.9) WRITE(IOIMP,9998) ITER                                     
 494 :       RETURN                                                                    
 495 :       ENDIF                                                                     
 496 :   525 IF(ISOR.EQ.1) THEN                                                        
 497 :       DO 530 ITYP=1,3                                                           
 498 :   530 DSFG(ITYP)=(1D0-XT)*DSFG(ITYP)                                            
 498 :       CALL CHREP(SFG,SIG,-ANG)                                                  
 498 :       CALL CHREP(DSFG,DSIG,-ANG)                                                
 498 :       CALL CHREP(EPDP,EPPLDP,-ANG)                                              
 499 :       IF(IIMPI.EQ.9) WRITE(IOIMP,9998) ITER                                     
 500 :       RETURN                                                                    
 501 :       ENDIF                                                                     
 502 :       X=2.D0*X                                                                  
 503 :       IF((XT+X).GT.1.D0) X=1.D0-XT                                              
 503 :       CALL SIJ(SFG,SI,SIETOI)                                                   
 503 :       CALL EPSDP(SI,SIETOI,ADP,EPC)                                             
 503 :       CALL CPHOMO(EPC,SSI,YOUN,ANU,BETA)                                        
 504 :       IF(DL3.LT.0.D0) THEN                                                      
 505 :       KERRE=461                                                                 
 506 :       RETURN                                                                    
 507 :       ENDIF                                                                     
 508 :       GOTO 31                                                                   
 509 :       END                                                                       
 510 :  

© Cast3M 2003 - All rights reserved.
Disclaimer