Download cjfdec.eso

Back to the list

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

© Cast3M 2003 - All rights reserved.
Disclaimer