Download clmodu.eso

Back to the list

   1 : C CLMODU    SOURCE    CHAT      05/01/12    22:08:39     5004           
   2 :       SUBROUTINE CLMODU (YUNG,CONTRI,OUVERI,DCONTI,DEPSTI,RTI,
   3 :      .                   XLTRI,XLTTI,EPTTI,EPTRI,EPRSI,                         
   4 :      .                   ETI,EPPRFI,EPSPRI,JECROI,KOMPRI,JECHAI,
   5 :      .                   KERRE)                                                 
   6 :       IMPLICIT INTEGER(I-N)
   7 :       IMPLICIT REAL*8(A-H,O-Z)                                                  
   8 : -INC CCOPTIO                                                                    
   9 : C                                                                               
  10 : C***********************************************************************        
  11 : C**************************** INITIALISATION ***************************        
  12 : C***********************************************************************        
  13 : C                                                                               
  14 :       RFE=1.D-8
  15 :       RFS=YUNG*RFE
  16 :       EPPTI=EPTTI-XLTTI/YUNG                                                    
  17 :       EPSPRI=EPRSI
  18 :       IF(XLTRI.GT.0.D0.AND.RTI.LE.RFS) EPSPRI=EPTRI
  19 :       JECROI=0                                                                  
  20 :       KOMPRI=0                                                                  
  21 : C                                                                               
  22 :       IF(IIMPI.EQ.9) THEN                                                       
  23 :          WRITE(IOIMP,1001) YUNG,RTI                                             
  24 :          WRITE(IOIMP,1002) CONTRI,OUVERI,DCONTI,DEPSTI
  25 :          WRITE(IOIMP,1003) XLTRI,XLTTI,EPTTI                                    
  26 :          WRITE(IOIMP,1004) EPTRI,EPRSI,EPPTI                                    
  27 :  1001    FORMAT(2X,'YUNG  =',1PE12.5,2X,'RTI   =',1PE12.5)                      
  28 :  1002    FORMAT(2X,'CONTRI=',1PE12.5,2X,'OUVERI=',1PE12.5,/,
  29 :      .          2X,'DCONTI=',1PE12.5,2X,'DEPSTI=',1PE12.5)
  30 :  1003    FORMAT(2X,'XLTRI =',1PE12.5,2X,'XLTTI =',1PE12.5,                      
  31 :      .          2X,'EPTTI =',1PE12.5)                                           
  32 :  1004    FORMAT(2X,'EPTRI =',1PE12.5,2X,'EPRSI =',1PE12.5,                      
  33 :      .          2X,'EPPTI =',1PE12.5)                                           
  34 :       ENDIF                                                                     
  35 : C                                                                               
  36 : C***********************************************************************        
  37 : C*********************** DIFFERENTS CAS PREVUS *************************        
  38 : C***********************************************************************        
  39 : C                                                                               
  40 :       IF(XLTRI.GT.0.D0.AND.RTI.GT.RFS) THEN
  41 : C                                                                               
  42 :         IF(XLTTI.GT.0.D0) THEN                                                  
  43 :           IF(RTI.GE.XLTTI) THEN                                                 
  44 :             EPSPRI=((XLTRI-RTI)/(XLTRI-XLTTI))*EPPTI                            
  45 :           ELSE                                                                  
  46 :             EPSPRI=EPPTI+((1.D0-RTI/XLTTI)*(EPTRI-EPPTI))                       
  47 :           ENDIF                                                                 
  48 :         ELSE                                                                    
  49 :           EPSPRI=(1.D0-RTI/XLTRI)*EPTRI                                         
  50 :         ENDIF                                                                   
  51 : C                                                                               
  52 :         EPRMA=(1.D0-(SQRT(RTI/XLTRI)))*EPSPRI
  53 :         EPRMI=(1.D0-(SQRT(RTI/XLTRI)))*EPRSI
  54 :         EPRM=MIN(EPRMA,EPRMI)                                                   
  55 : C                                                                               
  56 :         IF(RTI.LT.XLTRI) THEN                                                   
  57 : C                                                                               
  58 :           IF(ABS(CONTRI-RTI).LT.RFS) THEN
  59 :             IF((DCONTI.GE.0.D0.AND.JECHAI.EQ.0).OR.
  60 :      .          JECHAI.EQ.1) GO TO 200
  61 :             GO TO 300                                                           
  62 :           ELSE                                                                  
  63 : C                                                                               
  64 :             IF(CONTRI.GT.RFS) THEN
  65 :               IF((DCONTI.GE.0.D0.AND.JECHAI.EQ.0).OR.
  66 :      .            JECHAI.EQ.1) GO TO 500
  67 :               GO TO 300                                                         
  68 :             ELSE                                                                
  69 : C                                                                               
  70 :               IF(ABS(CONTRI).LE.RFS) THEN
  71 :                 IF(OUVERI.GT.EPRM.AND.(ABS(OUVERI-EPRM)).GT.RFE) THEN
  72 :                   IF((DCONTI.GE.0.D0.AND.JECHAI.EQ.0).OR.
  73 :      .                JECHAI.EQ.1) GO TO 500
  74 :                   GO TO 400                                                     
  75 :                 ELSE                                                            
  76 :                   IF((DCONTI.GE.0.D0.AND.JECHAI.EQ.0).OR.
  77 :      .                JECHAI.EQ.1) GO TO 500
  78 :                   GO TO 100                                                     
  79 :                 ENDIF                                                           
  80 :               ELSE                                                              
  81 : C                                                                               
  82 :                 IF((DCONTI.GE.0.D0.AND.JECHAI.EQ.0).OR.
  83 :      .              JECHAI.EQ.1) GO TO 102
  84 :                 GO TO 100                                                       
  85 :               ENDIF                                                             
  86 :             ENDIF                                                               
  87 :           ENDIF                                                                 
  88 : C                                                                               
  89 :         ELSE                                                                    
  90 :           IF(ABS(CONTRI-RTI).LT.RFS) THEN
  91 :             IF((DCONTI.GE.0.D0.AND.JECHAI.EQ.0).OR.
  92 :      .          JECHAI.EQ.1) GO TO 200
  93 :             GO TO 100                                                           
  94 :           ELSE                                                                  
  95 : C                                                                               
  96 :             IF((DCONTI.GE.0.D0.AND.JECHAI.EQ.0).OR.
  97 :      .          JECHAI.EQ.1 ) GO TO 101
  98 :             GO TO 100                                                           
  99 :           ENDIF                                                                 
 100 :         ENDIF                                                                   
 101 :       ENDIF                                                                     
 102 : C                                                                               
 103 :       IF(XLTRI.EQ.0.D0.OR.RTI.LE.RFS) THEN
 104 :         EPRM=EPRSI                                                              
 105 :         IF(ABS(CONTRI).LE.RFS) THEN
 106 :           IF(OUVERI.GT.EPRM.AND.(ABS(OUVERI-EPRM)).GT.RFE) THEN
 107 :             IF((DCONTI.GE.0.D0.AND.JECHAI.EQ.0).OR.
 108 :      .          JECHAI.EQ.1) GO TO 401
 109 :             GO TO 400                                                           
 110 :           ELSE                                                                  
 111 : C
 112 :             IF((DCONTI.GE.0.D0.AND.JECHAI.EQ.0).OR.
 113 :      .          JECHAI.EQ.1) GO TO 401
 114 :             GO TO 100                                                           
 115 :           ENDIF                                                                 
 116 :         ELSE                                                                    
 117 : C                                                                               
 118 :           IF((DCONTI.GE.0.D0.AND.JECHAI.EQ.0).OR.
 119 :      .        JECHAI.EQ.1) GO TO 102
 120 :           GO TO 100                                                             
 121 :         ENDIF                                                                   
 122 :       ENDIF                                                                     
 123 : C                                                                               
 124 :   999 KERRE=469
 125 :       RETURN                                                                    
 126 : C                                                                               
 127 : C***********************************************************************        
 128 : C************************ MODULE ELASTIQUE YUNG ************************        
 129 : C***********************************************************************        
 130 : C****** DOMAINE DE LA COMPRESSION **************************************        
 131 : C***********************************************************************        
 132 : C                                                                               
 133 :   100 ETI=YUNG                                                                  
 134 :       EPPRFI=-1.D0                                                              
 135 :       JECHAI=2
 136 :       RETURN                                                                    
 137 : C                                                                               
 138 : C***********************************************************************        
 139 : C****** DOMAINE DE LA TRACTION *****************************************        
 140 : C***********************************************************************        
 141 : C                                                                               
 142 :   101 ETI=YUNG                                                                  
 143 :       EPPRFI=1.D0                                                               
 144 :       JECHAI=1
 145 :       RETURN                                                                    
 146 : C                                                                               
 147 : C***********************************************************************        
 148 : C****** DECHARGE DANS LE DOMAINE DE LA COMPRESSION *********************        
 149 : C***********************************************************************        
 150 : C                                                                               
 151 :   102 ETI=YUNG                                                                  
 152 :       EPPRFI=EPRM                                                               
 153 :       JECHAI=1
 154 :       KOMPRI=1                                                                  
 155 :       RETURN                                                                    
 156 : C                                                                               
 157 : C***********************************************************************        
 158 : C***************** CALCUL DE LA BRANCHE DESCENDANTE ET *****************        
 159 : C***********************************************************************        
 160 : C                                                                               
 161 :   200 IF(XLTTI.GT.0.D0) THEN                                                    
 162 :         IF(RTI.GT.XLTTI) THEN                                                   
 163 :           ETI=YUNG*(XLTTI-XLTRI)/((YUNG*EPPTI)+(XLTTI-XLTRI))                   
 164 :           EPPRFI=EPPTI                                                          
 165 :         ELSE                                                                    
 166 :           ETI=YUNG*XLTTI/((YUNG*(EPPTI-EPTRI))+XLTTI)                           
 167 :           EPPRFI=EPTRI                                                          
 168 :         ENDIF                                                                   
 169 :       ELSE                                                                      
 170 :         ETI=YUNG*XLTRI/((YUNG*(-EPTRI))+XLTRI)                                  
 171 :         EPPRFI=EPTRI                                                            
 172 :       ENDIF                                                                     
 173 :       JECHAI=1
 174 :       JECROI=1                                                                  
 175 :       RETURN                                                                    
 176 : C                                                                               
 177 : C***********************************************************************        
 178 : C***************** CALCUL DU MODULE DE DECHARGE ED *********************        
 179 : C***********************************************************************        
 180 : C                                                                               
 181 :   300 EPPRFI=OUVERI-(CONTRI*EPSPRI/(SQRT(XLTRI*RTI)))
 182 : C
 183 :       IF(ABS(CONTRI-RTI).LT.RFS) THEN
 184 :         ETI=(YUNG*(SQRT(XLTRI*RTI)))/((SQRT(XLTRI*RTI))+(YUNG*EPSPRI))
 185 :       ELSE
 186 : C
 187 :         OUVMAX=(1.D0-((RTI-CONTRI)/(SQRT(XLTRI*RTI))))*EPSPRI
 188 :         OUVMIN=EPRM+((EPSPRI-EPRM)*CONTRI/RTI)
 189 :         EPPMAX=(1.D0-(SQRT(RTI/XLTRI)))*EPSPRI
 190 :         EPPMIN=EPRM+((EPPMAX-EPRM)*CONTRI/RTI)
 191 : C                                                                               
 192 :         IF(IIMPI.EQ.9) THEN
 193 :           WRITE(IOIMP,1005) EPPRFI
 194 :           WRITE(IOIMP,1006) EPRM,EPSPRI
 195 :           WRITE(IOIMP,1007) OUVMAX,OUVMIN
 196 :           WRITE(IOIMP,1008) EPPMAX,EPPMIN
 197 :  1005     FORMAT(2X,'EPPRFI=',1PE12.5)
 198 :  1006     FORMAT(2X,'EPRM  =',1PE12.5,2X,'EPSPRI=',1PE12.5)
 199 :  1007     FORMAT(2X,'OUVMAX=',1PE12.5,2X,'OUVMIN=',1PE12.5)
 200 :  1008     FORMAT(2X,'EPPMAX=',1PE12.5,2X,'EPPMIN=',1PE12.5)
 201 :         ENDIF
 202 : C
 203 :         IF(OUVERI.LT.EPPMIN.OR.OUVERI.GT.EPSPRI) GO TO 999
 204 : C
 205 :         IF(OUVERI.LT.OUVMIN.OR.OUVERI.GT.OUVMAX) THEN
 206 :           IF(OUVERI.LT.OUVMIN.AND.OUVERI.GE.EPPMIN)
 207 :      .       ETI=(YUNG*CONTRI)/((YUNG*(OUVERI-EPPMIN))+CONTRI)
 208 :           IF(OUVERI.GT.OUVMAX.AND.OUVERI.LE.EPSPRI)
 209 :      .       ETI=(YUNG*CONTRI)/((YUNG*(OUVERI-EPPMAX))+CONTRI)
 210 :         ELSE
 211 :           ETI=(YUNG*(SQRT(XLTRI*RTI)))/((SQRT(XLTRI*RTI))+(YUNG*EPSPRI))
 212 :         ENDIF
 213 :       ENDIF
 214 :       JECHAI=2
 215 :       RETURN                                                                    
 216 : C                                                                               
 217 : C***********************************************************************        
 218 : C************************** MODULE E0 = ZERO ***************************
 219 : C***********************************************************************        
 220 : C****** CAS DE DECHARGE ************************************************
 221 : C***********************************************************************        
 222 : C                                                                               
 223 :   400 ETI=0.D0                                                                  
 224 :       EPPRFI=EPRM                                                               
 225 :       JECHAI=2
 226 :       RETURN                                                                    
 227 : C                                                                               
 228 : C***********************************************************************        
 229 : C****** CAS DE RECHARGE ************************************************
 230 : C***********************************************************************        
 231 : C
 232 :   401 ETI=0.D0
 233 :       EPPRFI=1.D0                                                               
 234 :       JECHAI=1
 235 :       RETURN                                                                    
 236 : C
 237 : C***********************************************************************        
 238 : C***************** CALCUL DU MODULE DE RECHARGE EC *********************        
 239 : C***********************************************************************        
 240 : C                                                                               
 241 :   500 ETI=(YUNG*(RTI-CONTRI))/((RTI-CONTRI)+YUNG*(EPSPRI-OUVERI))               
 242 :       EPPRFI=EPSPRI                                                             
 243 :       JECHAI=1
 244 :       IF(ETI.LT.0.D0.AND.(ABS(ETI)).GT.RFS) JECROI=1
 245 :       RETURN                                                                    
 246 : C                                                                               
 247 :       END                                                                       
 248 :  

© Cast3M 2003 - All rights reserved.
Disclaimer