1 : C LADEP1 SOURCE CHAT 05/01/13 01:11:59 5004 2 : C LADEP1 SOURCE GEOR 95/11/29 3 : SUBROUTINE LADEP1(S1,DEP,PAECT,PAEC,NSTRS,IFOU, 4 : & DFSIG1,DFSIG2,D2FSI1,D2FSI2,DLAM,BETJEF) 5 : C 6 : IMPLICIT INTEGER(I-N) 7 : IMPLICIT REAL*8 (A-H,O-Z) 8 : DIMENSION S1(4),DEP(4,4),DP(4,4),IS(4) 9 : DIMENSION D(4,4),D2FSI1(4,4),DFSIG1(4) 10 : DIMENSION AI(4,4), AJ(4,4),AK(4,4), AKI(4,4),AH(4,4) 11 : DIMENSION D2FSI2(4,4),DFSIG2(4),DLAM(2),AU(4,2),AV(2,4) 12 : DIMENSION AB(4,2),AC(2,4),AD(2,2),ADI(2,2),AE(2,2) 13 : DIMENSION ABC(2,4),ACD(4,4),AF(4,4) 14 : * 15 : SEGMENT BETJEF 16 : REAL*8 AA,BETA,RB,ALPHA,YOUN,XNU,GFC,GFT,CAR,ETA,TDEF, 17 : & TCON,DPSTF1,DPSTF2,TETA,PDT 18 : INTEGER ICT,ICC,IMOD,IVISS,ITER, 19 : & ISIM,IBB1,IGAU1,IZON 20 : ENDSEGMENT 21 : * 22 : * COMMON /DBETJEF/AA,BETA,RB,ALPHA,YOUN,XNU,GFC,GFT,CAR,ETA,TDEF, 23 : * & TCON,DPSTF1,DPSTF2,TETA,PDT,ICT,ICC,IMOD,IVISS,ITER, 24 : * & ISIM,IBB1,IGAU1,IZON 25 : C 26 : C ************************************************* 27 : C ** CALCUL DE LA MATRICE ELASTOPLASTIQUE [Dep] ** 28 : C ************************************************* 29 : C------------------------------------------------------------------- 29 : CALL ZERO(DEP,NSTRS,NSTRS) 29 : CALL ZERO(DP,NSTRS,NSTRS) 29 : CALL ZERO(AK,4,4) 29 : CALL ZERO(AKI,4,4) 29 : CALL ZERO(AU,4,2) 29 : CALL ZERO(AV,2,4) 29 : CALL ZERO(AB,4,2) 29 : CALL ZERO(AC,2,4) 29 : CALL ZERO(AD,2,2) 29 : CALL ZERO(ADI,2,2) 29 : CALL ZERO(ABC,2,4) 29 : CALL ZERO(ACD,4,2) 30 : C------------------------------------------------------------------- 31 : IF (IMOD.EQ.1.OR.IMOD.EQ.3) THEN 32 : ADD=YOUN/(1.D0-XNU*XNU) 33 : D(1,1)=ADD 34 : D(2,2)=D(1,1) 35 : D(3,3)=ADD*(1.D0-XNU)/2.D0 36 : D(1,2)=ADD*XNU 37 : D(2,1)=D(1,2) 38 : D(1,3)=0.D0 39 : D(2,3)=0.D0 40 : D(3,1)=0.D0 41 : D(3,2)=0.D0 42 : ENDIF 43 : IF (IMOD.EQ.2.OR.IMOD.EQ.4) THEN 44 : ADD=YOUN/((1.D0+XNU)*(1.D0-2.D0*XNU)) 45 : D(1,1)=ADD*(1.D0-XNU) 46 : D(2,2)=D(1,1) 47 : D(3,3)=D(1,1) 48 : D(1,2)=ADD*XNU 49 : D(2,1)=D(1,2) 50 : D(1,3)=D(1,2) 51 : D(2,3)=D(1,2) 52 : D(3,1)=D(1,2) 53 : D(3,2)=D(1,2) 54 : D(1,4)=0.D0 55 : D(2,4)=0.D0 56 : D(3,4)=0.D0 57 : D(4,1)=0.D0 58 : D(4,2)=0.D0 59 : D(4,3)=0.D0 60 : D(4,4)=0.5*ADD*(1.D0-2.D0*XNU) 61 : ENDIF 62 : C------------------------------------------------------------------- 63 : DO 1 I=1,NSTRS 64 : DO 1 J=1,NSTRS 65 : IF (I.EQ.J) THEN 66 : AI(I,J)=1.D0 67 : ELSE 68 : AI(I,J)=0.D0 69 : ENDIF 70 : 1 CONTINUE 71 : C 72 : DO 2 I=1,NSTRS 73 : DO 2 J=1,NSTRS 74 : AJ(I,J)=D(I,J) 75 : 2 CONTINUE 76 : C------------------------------------------------------------------- 76 : CALL INVMA2(AJ,NSTRS,ISING) 77 : IF (ISING.EQ.1) THEN 78 : C WRITE(*,*)'MATRICE AJ singuliere ds eladep ' 79 : ENDIF 80 : C------------------------------------------------------------------- 81 : DO 4 I=1,NSTRS 82 : DO 4 J=1,NSTRS 83 : AK(I,J)=AJ(I,J)+DLAM(1)*D2FSI1(I,J)+DLAM(2)*D2FSI2(I,J) 84 : 4 CONTINUE 85 : DO 5 I=1,NSTRS 86 : DO 5 J=1,NSTRS 87 : AH(I,J)=AK(I,J) 88 : 5 CONTINUE 89 : C------------------------------------------------------------------- 89 : CALL INVMA2(AH,NSTRS,ISING) 90 : IF (ISING.EQ.1) THEN 91 : C WRITE(*,*)'MATRICE AH singuliere dans ladep1 ' 92 : ENDIF 93 : C------------------------------------------------------------------- 94 : 95 : DO 7 I=1,NSTRS 96 : AU(I,1)=DFSIG1(I) 97 : 7 CONTINUE 98 : C 99 : DO 8 I=1,NSTRS 100 : AU(I,2)=DFSIG2(I) 101 : 8 CONTINUE 102 : C 103 : DO 19 J=1,NSTRS 104 : AV(1,J)=DFSIG1(J) 105 : 19 CONTINUE 106 : C 107 : DO 20 J=1,NSTRS 108 : AV(2,J)=DFSIG2(J) 109 : 20 CONTINUE 110 : C 111 : AE(1,1)=PAECT 112 : AE(2,2)=PAEC 113 : AE(1,2)=0.D0 114 : AE(2,1)=0.D0 115 : C------------------------------------------------------------------- 116 : C 117 : DO 9 I=1,NSTRS 118 : DO 9 J=1,2 119 : AB(I,J)=AB(I,J)+AH(I,J)*AU(I,J) 120 : 9 CONTINUE 121 : C 122 : DO 10 I=1,2 123 : DO 10 J=1,NSTRS 124 : AC(I,J)=AC(I,J)+AV(I,J)*AB(I,J) 125 : 10 CONTINUE 126 : C 127 : DO 11 I=1,2 128 : DO 11 J=1,2 129 : AD(I,J)=AE(I,J)+AC(I,J) 130 : 11 CONTINUE 131 : C 132 : DO 12 I=1,2 133 : DO 12 J=1,2 134 : ADI(I,J)=AD(I,J) 135 : 12 CONTINUE 136 : C------------------------------------------------------------------- 136 : CALL INVER(ADI,2,ISING,AK,IS,1.D-5) 137 : C------------------------------------------------------------------- 138 : C 139 : DO 13 I=1,2 140 : DO 13 J=1,NSTRS 141 : ABC(I,J)=ABC(I,J)+ADI(I,J)*AV(I,J) 142 : 13 CONTINUE 143 : C 144 : DO 14 I=1,NSTRS 145 : DO 14 J=1,NSTRS 146 : DO 14 K=1,2 147 : ACD(I,J)=ACD(I,J)+AU(I,K)*ABC(K,J) 148 : 14 CONTINUE 149 : C 150 : DO 15 I=1,NSTRS 151 : DO 15 J=1,NSTRS 152 : AF(I,J)=0.D0 153 : DO 15 K=1,NSTRS 154 : AF(I,J)=AF(I,J)+ACD(I,K)*AH(K,J) 155 : 15 CONTINUE 156 : C 157 : DO 16 I=1,NSTRS 158 : DO 16 J=1,NSTRS 159 : DP(I,J)=0.D0 160 : DO 16 K=1,NSTRS 161 : DP(I,J)=DP(I,J)+AH(I,K)*AF(K,J) 162 : 16 CONTINUE 163 : C 164 : DO 17 I=1,NSTRS 165 : DO 17 J=1,NSTRS 166 : DEP(I,J)=AH(I,J)-DP(I,J) 167 : 17 CONTINUE 168 : C 169 : DO 18 I=1,NSTRS 170 : DO 18 J=1,NSTRS 171 : IF (DABS(DEP(I,J)).LT.1.D-5) THEN 172 : DEP(I,J)=0.D0 173 : ENDIF 174 : 18 CONTINUE 175 : C------------------------------------------------------------------- 176 : RETURN 177 : END 178 : 179 : 180 : 181 :
© Cast3M 2003 - All rights reserved.
Disclaimer