Download jfdeco.eso

Back to the list

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

© Cast3M 2003 - All rights reserved.
Disclaimer