Download clbeco.eso

Back to the list

   1 : C CLBECO    SOURCE    CHAT      05/01/12    22:04:27     5004           
   2 : C
   3 : C     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   4 : C     %                                                               %
   5 : C     %   subroutine integrant le comportement du beton               %
   6 : C     %                                                               %
   7 : C     %   - determine les nouvelles valeurs des variables             %
   8 : C     %     d'histoire YLIM1 YLIM2 D1 et D2                           %
   9 : C     %                                                               %
  10 : C     %                                                               %
  11 : C     %   en fonction du vecteur des deformations                     %
  12 : C     %                                                               %
  13 : C     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  14 : C
  15 : C
  16 : C
  17 :       SUBROUTINE CLBECO(WRK0,WRK1,WRKK2,WRK5,NSTRS,NVARI,NMATT,
  18 :      1                                       ISTEP,ICARA,KERRE)
  19 : C
  20 : C
  21 : C
  22 : C
  23 : C     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  24 : C     %                                                               %
  25 : C     %                                                               %
  26 : C     %          declaration des variables                            %
  27 : C     %                                                               %
  28 : C     %                                                               %
  29 : C     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  30 : C
  31 : C
  32 : C
  33 :       IMPLICIT INTEGER(I-N)
  34 :       IMPLICIT REAL*8(A-H,O-Z)
  35 : -INC CCOPTIO
  36 :       SEGMENT WRK0
  37 :         REAL*8 XMAT(NMATT)
  38 :       ENDSEGMENT
  39 : *
  40 :       SEGMENT WRK1
  41 :         REAL*8 DDHOOK(NSTRS,NSTRS),SIG0(NSTRS),DEPST(NSTRS)
  42 :         REAL*8 SIGF(NSTRS),VAR0(NVARI),VARF(NVARI)
  43 :         REAL*8 DEFP(NSTRS),XCAR(ICARA)
  44 :       ENDSEGMENT
  45 :       SEGMENT WRKK2
  46 :          REAL*8 EPSILI(NSTRS)
  47 :       END SEGMENT
  48 : 
  49 :       SEGMENT WRK3
  50 :         REAL*8 EPSILO(NSTRS)
  51 :       END SEGMENT
  52 : *
  53 :       SEGMENT WRK5
  54 :         REAL*8 EPIN0(NSTRS),EPINF(NSTRS),EPST0(NSTRS)
  55 :       ENDSEGMENT
  56 : *
  57 :       REAL*8 YLIM1,YLIM2,DOM1,DOM2,Y1,Y2,Z1,Z2
  58 : *
  59 :       REAL*8 EPS33(3,3),XROTA(3,3),EPSA(3),EPSN(3)
  60 :       REAL*8 SIGNN(3),SIGA(3),SIGMAN(3,3)
  61 :       INTEGER JSIGN(3)
  62 : *
  63 : *
  64 :       LOGICAL CONV
  65 :       REAL*8 UN,DEUX,ZERO
  66 :       PARAMETER (ZERO=0.D0)
  67 :       PARAMETER (UN=1.D0)
  68 :       PARAMETER (DEUX=2.D0)
  69 : *
  70 : *     -----> RECUPERATION DES VARIABLES INTERNES
  71 : *
  72 :       YLIMA1 = VAR0(1)
  73 :       YLIMA2 = VAR0(2)
  74 :       DOM1  = VAR0(3)
  75 :       DOM2  = VAR0(4)
  76 :       E     = XMAT(1)
  77 : *
  78 : *
  79 : *
  80 :       Z1=UN/(UN-DOM1)
  81 :       Z2=UN/(UN-DOM2)
  82 : *
  83 : *     -----> ON DIAGONALISE LES ANCIENNES DEFORMATIONS
  84 : *
  84 :       CALL ENDOCA(EPSILI,EPS33,2)
  84 :       CALL JACOB3(EPS33,2,EPSA,XROTA)
  85 : *      PRINT*,'ANCIENNES DEFORMATIONS PPALES',EPSA(1),EPSA(2),EPSA(3)
  86 : *
  87 : *     -----> ON DIAGONALISE LES ANCIENNES CONTRAINTES
  88 : *
  88 :       CALL ENDOCA(SIG0,EPS33,1)
  88 :       CALL JACOB3(EPS33,2,SIGA,XROTA)
  89 : *
  90 : *     -----> ON CALCULE LES DEFORMATIONS TOTALES
  91 : *
  92 :       SEGINI WRK3
  93 :       DO ISTRS=1,NSTRS
  94 :          EPSILO(ISTRS)=EPSILI(ISTRS)+DEPST(ISTRS)
  95 : *         print*,'ISTRS',ISTRS,'EPSILO',EPSILO(ISTRS)
  96 :       END DO
  97 : *
  98 : *     -----> ON LES DIAGONALISE
  99 : *
  99 :       CALL ENDOCA(EPSILO,EPS33,2)
  99 :       CALL JACOB3(EPS33,2,EPSN,XROTA)
 100 : *      PRINT*,'DEFORMATIONS PPALES',EPSN(1),EPSN(2),EPSN(3)
 101 : *
 102 : *     -----> ON INITIALISE Y1 ET Y2
 103 : *
 104 :       IF (SIGA(1) .GE. ZERO) THEN
 105 :          JSIGN(1)=1
 106 :       ELSE
 107 :          JSIGN(1)=0
 108 :       END IF
 109 :       IF (SIGA(2) .GE. ZERO) THEN
 110 :          JSIGN(2)=1
 111 :       ELSE
 112 :          JSIGN(2)=0
 113 :       END IF
 114 :       TRSIG=SIGA(1)+SIGA(2)
 115 :       IF (TRSIG .GE. ZERO) THEN
 116 :          FSIG=TRSIG
 117 :       ELSE IF (TRSIG.GE.-SIGF) THEN
 118 :          FSIG=TRSIG*(UN+TRSIG/(DEUX*SIGF))
 119 :       ELSE
 120 :          FSIG=-SIGF*TRSIG/DEUX
 121 :       END IF
 122 :       YA1=( JSIGN(1)*SIGA(1)*SIGA(1)+JSIGN(2)*SIGA(2)*SIGA(2) )
 123 :      &                                      *Z1*Z1/(DEUX*E)
 124 :       YA2=( (1-JSIGN(1))*SIGA(1)*SIGA(1)+
 125 :      &                         (1-JSIGN(2))*SIGA(2)*SIGA(2) )
 126 :      &                                      *Z2*Z2/(DEUX*E)
 127 : C
 128 : C
 129 : C     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 130 : C     %                                                               %
 131 : C     %  DECOUPAGE DE L'INCREMENT DE DEFORMATION                      %
 132 : C     %                                                               %
 133 : C     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 134 : c
 135 :       NEPS=1
 136 :       CONV=.FALSE.
 137 :       DO WHILE ((.NOT. CONV).AND.(NEPS.LE.1000))
 138 :          SIG1 = SIGA(1)
 139 :          SIG2 = SIGA(2)
 140 :          YLIM1=YLIMA1
 141 :          YLIM2=YLIMA2
 142 :          IF (SIG1.GE.0.D0)THEN
 143 :            JSIGN(1)=1
 144 :          ELSE
 145 :            JSIGN(1)=0
 146 :          END IF
 147 :          IF (SIG2.GE.0.D0)THEN
 148 :           JSIGN(2)=1
 149 :          ELSE
 150 :           JSIGN(2)=0
 151 :          END IF
 152 :          Z1=1.D0/(1.D0-DOM1)
 153 :          Z2=1.D0/(1.D0-DOM2)
 154 :          Y1 = YA1
 155 :          Y2 = YA2
 156 :          DEPS1=(EPSN(1)-EPSA(1))/NEPS
 157 :          DEPS2=(EPSN(2)-EPSA(2))/NEPS
 158 :          IEPS=0
 159 :          CONV=.TRUE.
 160 :          DO WHILE (CONV .AND. (IEPS.LT.NEPS))
 161 :            IEPS=IEPS+1
 162 :            EPSP1=EPSA(1)+IEPS*DEPS1
 163 :            EPSP2=EPSA(2)+IEPS*DEPS2
 164 : c
 165 : C     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 166 : C     %                                                               %
 167 : C     %  CALCUL DES VALEURS  DES VARIABLES INTERNES                   %
 168 : C     %                                                               %
 169 : C     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 170 : C
 171 : C
 172 : c
 172 :             CALL MODCLB(WRK0,NMATT,EPSP1,EPSP2,YLIM1,YLIM2,Z1,Z2,Y1,Y2,
 173 :      1                 JSIGN,SIG1,SIG2,CONV)
 174 : C
 175 : C     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 176 : C     %                                                               %
 177 : C     %  REACTUALISATION DES SEUILS                                   %
 178 : C     %                                                               %
 179 : C     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 180 : c
 181 :             IF (CONV) THEN
 182 :                IF (Y1 .GT.YLIM1)THEN
 183 :                   VARF(1)=Y1
 184 :                   VARF(3)=1.D0-1.D0/Z1
 185 :                ELSE
 186 :                   VARF(1)=VAR0(1)
 187 :                   VARF(3)=VAR0(3)
 188 :                END IF
 189 :                IF (Y2 .GT. YLIM2)THEN
 190 :                  VARF(2)=Y2
 191 :                  VARF(4)=1.D0-1.D0/Z2
 192 :                ELSE
 193 :                   VARF(2)=VAR0(2)
 194 :                   VARF(4)=VAR0(4)
 195 :                END IF
 196 :             END IF
 197 :          END DO
 198 :          NEPS=NEPS*10
 199 :       END DO
 200 :       IF (.NOT. CONV)THEN
 201 :             print*,'valeur de neps et ieps',neps,ieps
 202 :             print*, 'NON CONVERGE DANS EULER'
 202 :             CALL MODCLB(WRK0,NMATT,EPSP1,EPSP2,YLIM1,YLIM2,Z1,Z2,Y1,Y2,
 203 :      1                 JSIGN,SIG1,SIG2,CONV)
 204 :             SEGSUP WRK3
 205 :             KERRE=56
 206 :             return
 207 :       END IF
 208 : C
 209 : C     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 210 : C     %                                                               %
 211 : C     %  CALCUL DES CONTRAINTES DANS LE REPERE DE L'ELEMENT           %
 212 : C     %                                                               %
 213 : C     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 214 : C
 215 :       SIGNN(1)=SIG1
 216 :       SIGNN(2)=SIG2
 217 :       SIGNN(3)=0.D0
 217 :       CALL PRODT2 (SIGMAN,SIGNN,XROTA,3)
 218 :       SIGF(1)=SIGMAN(1,1)
 219 :       SIGF(2)=SIGMAN(2,2)
 220 :       SIGF(3)=SIGMAN(3,3)
 221 :       SIGF(4)=SIGMAN(1,2)
 222 : C
 223 : C
 224 : C     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 225 : C     %                                                               %
 226 : C     %  CALCUL DES DEFORMATIONS ANELASTIQUES                         %
 227 : C     %                                                               %
 228 : C     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 229 : C
 229 :       CALL MATVE1 (DDHOOK,SIGF,NSTRS,NSTRS,EPSILI,1)
 230 :       DO ISTRS=1,NSTRS
 231 :           EPINF(ISTRS)=EPSILO(ISTRS)-EPSILI(ISTRS)
 232 :       END DO
 233 :       SEGSUP WRK3
 234 :       RETURN
 235 :       END
 236 : 
 237 : 
 238 : 
 239 :  
 240 :  
 241 :  

© Cast3M 2003 - All rights reserved.
Disclaimer