Download dechin.eso

Back to the list

   1 : C DECHIN    SOURCE    CHAT      05/01/12    22:39:09     5004           
   2 : C DECHIN     SOURCE    INSL       24/10/96    
   3 :       SUBROUTINE DECHIN(SIGRX,EPSRX,ETS,EDC,EPST,IFISU,JFISU,RTM,
   4 :      1 EPSC,DEFR,TANG,IPLA,EQSTR,EPSEQ,EX,RB,ALPHA,EPO1,EMAX,ICAL,
   5 :      2 IBB1,IGAU1,IDIR)
   6 : C
   7 :       IMPLICIT INTEGER(I-N)
   8 :       IMPLICIT REAL*8(A-H,O-Z)
   9 : C
  10 : C     CE SOUS-PROGRAMME CALCULE LA CONTRAINTE REELLE S1X ET INITIALISE
  11 : C     LES VARIABLES INTERNES LORSQU'IL Y A DECHARGE A PARTIR D'UN 
  12 : C     POINT INTEGRE. ON SE BRANCHE ALORS SUR LA COURBE 1-D CORRESPONDANT 
  13 : C     A ICU=3 (PARABOLE-SOFTENING LINEAIRE)
  14 : C                            
  15 : C     PF : POINT FOCAL
  16 : C     EPST : DEFORMATION EN COMPRESSION CORRESPONDANT A -RBT
  17 : C            APRES DECHARGE
  18 : C     EPSC : DEFORMATION EN COMPRESSION A L'INSTANT DE LA DECHARGE
  19 : C     RTMC : RESISTANCE EN TRACTION MODIFIEE si decharge en compression
  20 : C     RTM  : RESISTANCE EN TRACTION ACTUELLE
  21 : C     EDC  : PENTE DECHARGE EN COMPRESSION
  22 : C     DEFR : DEFORMATION RESIDUELLE APRES DECHARGE EN COMPRESSION
  23 : C     ETS  : PENTE EN TENSION-SOFTENING
  24 : C     TANG : PENTE ACTUELLE
  25 : C     IPLA : INDICATEUR DE PLASTICITE/ =0 comportement pre-pic en compression
  26 : C                                      =2 softening en compression
  27 : C                                      =4 rupture en compression (epsi>emax)
  28 : C
  29 : C------------------------------------------------------------------
  30 :       ZERO=0.D0
  31 :       UN=1.D0
  32 :       RBT=ALPHA*RB
  33 :       PF=RB/EX
  34 :       EPOC=-1.D0*EPO1
  35 :       IF(EPSRX.LT.(-1.D0*EMAX)) THEN
  36 : C        
  37 : C     ON SUPPOSE QUE LE POINT EST ROMPU EN COMPRESSION   
  38 : C        
  39 :         IPLA=4
  40 :         SIGRX =ZERO
  41 :         RTM =ZERO
  42 :         TANG=ZERO
  43 :         ETS =ZERO
  44 :         EQSTR=ZERO
  45 :         RETURN
  46 :       ENDIF     
  47 : C            
  48 :       IF(EPSRX .LE. EPOC) THEN
  49 : C**********************************************************************
  50 : C       POINT EN REGIME POST-PIC (COMPRESSION)
  51 : C**********************************************************************
  52 :        IPLA=2
  53 :        AA=-1.D0*RB/(EMAX-EPO1)
  54 :        BB=AA*EMAX
  55 :        DELTA=SIGRX-(AA*EPSRX+BB)
  56 :        IF(DELTA .GT. ZERO) THEN
  57 : C      
  58 : C       POINT EN DECHARGE A PARTIR DE LA COURBE DE COMPRESSION
  59 : C      
  59 :         CALL PARDEC(EPSRX,SIGRX,EPSC,EQSTR,EDC,IPLA,DEFR,RB,ALPHA,EPO1,
  60 :      &  EX,EMAX,ICAL)
  61 :         EPSEQ=DABS(EPSC)
  62 :         GOTO 100
  63 :        ELSE
  64 : C      
  65 : C       POINT EN CHARGE (SOFTENING)
  66 : C       COURBE DE COMPRESSION TRANSLATEE
  67 : C
  68 :         SEQ=DABS(SIGRX)
  69 :         IPLA=2  
  69 :         CALL EPSEQU(EPEQTR,SEQ,IPLA,ICAL,1,EX,RB,EPO1,EPO1,EMAX)
  70 :         SIGRX=-1.D0*SEQ
  71 :         EPSRX=-1.D0*EPEQTR      
  72 :         EQSTR=SEQ
  73 :         EPSEQ=EPEQTR
  74 :        ENDIF
  75 :       RETURN
  76 :       ENDIF
  77 : C**********************************************************************
  78 : C       POINT EN REGIME PRE-PIC (COMPRESSION)
  79 : C***********************************************************************
  80 :       DELTA=1.D0
  81 :       DEFRLI = EPSRX-SIGRX/EX
  82 :       IF(DABS(DEFRLI).LE.1.D-9) DEFRLI=0.D0
  83 :       IF(EPSRX.LE.ZERO) THEN
  84 :        EPEQ=DABS(EPSRX)
  84 :        CALL CDCY(EPEQ,SEQ2,IPL,TAN,EX,RB,EMAX,EPO1,ICAL)
  85 :        DELTA=-1.D0*SEQ2-SIGRX
  86 :       ENDIF
  87 :       IF(DELTA.LT.ZERO.OR.(DEFRLI.LT.ZERO.AND.EPSRX.GE.ZERO)) THEN
  88 : C      
  89 : C       POINT EN DECHARGE A PARTIR DE LA COURBE DE COMPRESSION
  90 : C      
  90 :         CALL PARDEC(EPSRX,SIGRX,EPSC,EQSTR,EDC,IPLA,DEFR,RB,ALPHA,EPO1,
  91 :      &  EX,EMAX,ICAL)
  92 :        EPSEQ=DABS(EPSC)
  93 :        GOTO 100
  94 :       ENDIF
  95 : C--------------------------------------------------------------
  96 : C       POINT CONSIDERE INITIALLEMENT TENDU
  97 : C--------------------------------------------------------------
  98 :       EPSF0=RTM/EX
  99 :       IF(EPSRX.GE.ZERO .AND. SIGRX.GE.ZERO) THEN
 100 :          IF(SIGRX.GE.RTM) THEN
 101 :            SIGRX=RTM
 102 :            IFISU=1
 103 :            JFISU=1
 104 :          ENDIF
 105 :          IF(EPSRX.GE.EPSF0) THEN
 106 :            EPSRX=EPSF0+(RTM-SIGRX)/ETS
 107 :            IFISU=1
 108 :            JFISU=1
 109 :          ELSE
 110 :            EPSRX=SIGRX/EX
 111 :          ENDIF
 112 :          RETURN
 113 :       ENDIF
 114 : C==============================================================
 115 : C       POINT INITIALLEMENT COMPRIME
 116 : C       COURBE DE COMPRESSION TRANSLATEE
 117 : C
 118 :       SEQ=DABS(SIGRX)
 119 :       IPLA=0  
 119 :       CALL EPSEQU(EPEQTR,SEQ,IPLA,ICAL,1,EX,RB,EPO1,EPO1,EMAX)
 120 :       SIGRX=-1.D0*SEQ
 121 :       EPSRX=-1.D0*EPEQTR      
 122 :       EQSTR=SEQ
 123 :       EPSEQ=EPEQTR
 124 :       RETURN
 125 : C==============================================================
 126 :   100 CONTINUE
 127 : C
 128 : C       RESISTANCE EN TRACTION MODIFIEE
 129 : C
 130 :       EPOC=-1.D0*EPO1
 131 :       IF(DABS(DEFR).LT.1.D-10) DEFR=0.D0
 132 :       IF(DEFR.LT.EPOC) THEN
 133 :         RTMC=0.D0
 134 :       ELSE
 135 :         AS2  = RBT/(EPO1+RBT/EX)
 136 :         IF(DABS(EDC-AS2).GT.1.D-5) THEN
 137 :           EPS1 = (EDC*DEFR-AS2*EPOC)/(EDC-AS2)
 138 :           RTMC = EDC*(EPS1-DEFR)
 139 :         ELSE
 140 :           RTMC = 0.D0
 141 :         ENDIF
 142 : C
 143 :         IF(RTMC.GT.RBT.AND.RTMC.LT.(1.00001D0*RBT)) RTMC = RBT
 144 :         IF(RTMC.GT.RBT.OR.RTMC.LT.0.D0) THEN
 145 :           WRITE(*,94) IBB1,IGAU1,IDIR
 146 :           WRITE(*,*) 'RTMC = ',RTMC, 'RBT = ',RBT
 147 :           WRITE(*,*) 'DEFR = ',DEFR,'EPO1 = ',EPO1
 148 :           WRITE(*,*) 'EPSRX= ',EPSRX,' SIGRX= ',SIGRX
 149 :           WRITE(*,*) 'EDC = ',EDC,' AS2 = ',AS2,' EPS1 = ',EPS1
 150 :           WRITE(*,*) 'ARRET ---> RTMC ?? !!! (SUBR DECHINT2) '
 151 :           RTMC=RBT
 152 :           STOP
 153 :         ENDIF
 154 :       ENDIF
 155 :       IF(RTMC .LT. ZERO) RTMC=ZERO
 156 :       IF(RTMC.LT.RTM) RTM=RTMC
 157 : C
 158 : C       CALCUL DE LA DEFORMATION CORRESPONDANT A -RBT
 159 : C
 160 :       IF(DABS(EDC).LT.1.D-5) EDC=EX
 161 :       EPST=DEFR-RBT/EDC
 162 : C
 163 :       IF(EDC.LT.0.D0) THEN
 164 :           WRITE(*,94) IBB1,IGAU1,IDIR
 165 :           WRITE(*,*) 'RTMC = ',RTMC, 'RBT = ',RBT
 166 :           WRITE(*,*) 'DEFR = ',DEFR,'EPO1 = ',EPO1
 167 :           WRITE(*,*) 'EPSRX= ',EPSRX,' SIGRX= ',SIGRX
 168 :           WRITE(*,*) 'EDC = ',EDC,' AS2 = ',AS2,' EPS1 = ',EPS1
 169 :           WRITE(*,*) 'ARRET ---> EDC<0  ?? !!! (SUBR DECHINT2) '
 170 :           STOP
 171 :       ENDIF
 172 : C
 173 : C     Dans le cas ou la decharge s'effectue dans la branche descendante
 174 : C     en-dessous du niveau |RBT| on m‚morise EPSC
 175 : C
 176 :       IF(IPLA .EQ. 2 .AND. EQSTR .LE. RBT) EPST=EPSC
 177 : C       
 178 :  94   FORMAT(' ELEME=',I3,'POINT=',I2,' IDIR=',I2)
 179 :       RETURN
 180 :       END
 181 :  
 182 :  

© Cast3M 2003 - All rights reserved.
Disclaimer