Download colbec.eso

Back to the list

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

© Cast3M 2003 - All rights reserved.
Disclaimer