1 : C MVMMM SOURCE CHAT 05/01/13 01:56:05 5004 2 : C MAZZZ SOURCE AM 00/12/13 21:39:54 4045 3 : SUBROUTINE MVMMM(WRK0,WRK1,WRK5,NSTRS,NVARI,NMATT,ISTEP, 4 : 1 ICARA,KERRE,MFR) 5 : *====================================================================== 6 : * BCN 7 : * New source: one nonlocal damage material model added: 8 : * Modified Von Mises 9 : * This routine is very similar to MAZZZ.ESO 10 : *====================================================================== 11 : C 12 : C calcule la deformation initiale et l'increment de deformation 13 : C a partir de la contrainte initiale et l'increment de contrainte 14 : C elastique puis appelle la subroutine MAZARS 15 : C 16 : C 17 : C variables en entree 18 : C 19 : C WRK0,KRK1,WRK5 pointeurs sur des segments de travail 20 : C 21 : C NSTRS nombre de composantes dans les vecteurs des contraintes 22 : C et les vecteurs des deformations 23 : C 24 : C NVARI nombre de variables internes (doit etre egal a 2) 25 : C 26 : C NMATT nombre de constantes du materiau 27 : C 28 : C ISTEP flag utilise pour separer les etapes dans un calcul non local 29 : C ISTEP=0 -----> calcul local 30 : C ISTEP=1 -----> calcul non local etape 1 on calcule les seuils 31 : C ISTEP=2 -----> calcul non local etape 2 on continue le calcul 32 : C a partir des seuils moyennes 33 : C 34 : C 35 : C variables en sortie 36 : C 37 : C VARF variables internes finales dans WRK0 38 : C 39 : C SIGF contraintes finales dans WRK0 40 : C 41 : C Modif L.Bode - 09/10/92 - Traitement particulier des coques 42 : C Modif L.Bode - 14/10/92 - Modifications complementaires 43 : C 44 : IMPLICIT INTEGER(I-N) 45 : IMPLICIT REAL*8(A-H,O-Z) 46 : -INC CCOPTIO 47 : SEGMENT WRK0 48 : REAL*8 XMAT(NMATT) 49 : ENDSEGMENT 50 : * 51 : SEGMENT WRK1 52 : REAL*8 DDHOOK(LHOOK,LHOOK),SIG0(NSTRS),DEPST(NSTRS) 53 : REAL*8 SIGF(NSTRS),VAR0(NVARI),VARF(NVARI) 54 : REAL*8 DEFP(NSTRS),XCAR(ICARA) 55 : ENDSEGMENT 56 : SEGMENT WRKK2 57 : REAL*8 EPSILI(NSTRSV),DSIGT(NSTRSV) 58 : END SEGMENT 59 : * 60 : SEGMENT WRK5 61 : REAL*8 EPIN0(NSTRS),EPINF(NSTRS),EPST0(NSTRS) 62 : ENDSEGMENT 63 : SEGMENT WRK6 64 : REAL*8 SIG0S(NSTRS),DEPSTS(NSTRS) 65 : END SEGMENT 66 : * 67 : CHARACTER*8 CMATE 68 : INTEGER NSTRS,NVARI,NMATT 69 : INTEGER KCAS,IRTD,ISTRS,KERRE,MFR 70 : REAL*8 PREC,EPAI,FAC,AUX,AUX1,AUX2,YOUN,XNU 71 : REAL*8 UN 72 : PARAMETER (UN=1.D0) 73 : KERRE=0 74 : YOUN = XMAT(1) 75 : XNU = XMAT(2) 76 : C 77 : C ON CALCULE LES CONTRAINTES VRAIES DANS LE CAS DES COQUES 78 : C 79 : C print*,'dans mazzzz MFR=', mfr 80 : IF (MFR .EQ. 9) THEN 81 : EPAI=XCAR(1) 82 : SEGINI WRK6 83 : DO 101 ISTRS=1,NSTRS 84 : SIG0S(ISTRS)=SIG0(ISTRS) 85 : DEPSTS(ISTRS)=DEPST(ISTRS) 86 : 101 CONTINUE 87 : NSTRSV=4 88 : IFOUR2=-2 89 : C Modif L.Bode - 14/10/92 90 : C Dans le cas des coques, on force la dimension a 2 pour MAZARS 91 : C ie on travaille en contraintes planes 92 : JDIM =2 93 : C Fin modif L.Bode 94 : DO 102 ISTRS=1,2 95 : SIG0(ISTRS)=SIG0S(ISTRS)/EPAI 96 : 102 CONTINUE 97 : DEPST(3)=0.D0 98 : DEPST(4)=DEPSTS(3) 99 : SIG0(3)=0.D0 100 : SIG0(4)=SIG0S(3)/EPAI 101 : ELSE IF (MFR .EQ. 1) THEN 102 : NSTRSV=NSTRS 103 : IFOUR2=IFOUR 104 : C Modif L.Bode - 14/10/92 105 : C Pour les elts massifs, on utilise la vraie dimension 106 : JDIM = IDIM 107 : C Fin modif L.Bode 108 : ELSE 109 : PRINT*,'MFR=',MFR 110 : KERRE=57 111 : RETURN 112 : END IF 113 : SEGINI WRKK2 114 : 115 : 116 : C 117 : C calcul de la matrice elastique 118 : C 119 : CMATE = 'ISOTROPE' 120 : KCAS=1 121 : * print*,'increment de deformation elastique' 121 : CALL DOHMAS(XMAT,CMATE,IFOUR2,NSTRSV,KCAS,DDHOOK,IRTD) 122 : * DO ISTRS=1,NSTRS 123 : * print*,(DDHOOK(ISTRS,J),j=1,nstrs) 124 : * print*,DEPST(ISTRS) 125 : * END DO 126 : IF ( IRTD .EQ. 1) THEN 127 : C 128 : C calcul de l'increment de contrainte 129 : C 129 : CALL MATVE1 (DDHOOK,DEPST,NSTRSV,NSTRSV,DSIGT,1) 130 : C 131 : C 132 : C inversion de cette matrice 133 : C 134 : PREC=1.D-08 134 : CALL DOHMAS(XMAT,CMATE,IFOUR2,NSTRSV,2,DDHOOK,IRTD) 135 : * DO ISTRS=1,NSTRSV 136 : * print*,(DDHOOK(ISTRS,J),j=1,nstrsv) 137 : * END DO 138 : * print*,'appel a invalm' 138 : CALL INVALM(DDHOOK,NSTRSV,NSTRSV,IRTD,PREC) 139 : IF (IRTD.EQ.0)THEN 140 : C 141 : C calcul des deformations du materiau elastique lineaire 142 : C 143 : * print*,'appel a matve1' 143 : CALL MATVE1 (DDHOOK,SIG0,NSTRSV,NSTRSV,EPSILI,1) 144 : C 145 : C modification pour tenir compte de l'endommagement 146 : C 147 : DO 100 ISTRS=1,NSTRSV 148 : EPSILI(ISTRS)=EPSILI(ISTRS)+EPIN0(ISTRS) 149 : 100 CONTINUE 150 : 151 : C 152 : C appel a la routine MAZARS 153 : C 154 : C Modif L.Bode - 14/10/92 155 : C On envoie la dimension et le numero de la formulation 156 : C ( Elts Coques JDIM =2 , IFOUR2 = -2 => contraintes planes 157 : C Elts Massifs JDIM = IDIM ,IFOUR2 = IFOUR) 158 : * print*,'appel a mazars' 159 : * 160 : * BCN 160 : C CALL MAZARS (WRK0,WRK1,WRKK2,WRK5,NSTRSV,NVARI,NMATT, 161 : C 1 ISTEP,ICARA,JDIM,IFOUR2) 161 : CALL MODVONMISES (WRK0,WRK1,WRKK2,WRK5,NSTRSV,NVARI,NMATT, 162 : 1 ISTEP,ICARA,JDIM,IFOUR2) 163 : * BCN 164 : * 165 : C Fin modif L.Bode 166 : C 167 : C ON RECALCULE LES CONTRAINTES EFFECTIVES POUR LES COQUES 168 : C 169 : * print*,'apres mazars' 170 : IF (MFR .EQ. 9) THEN 171 : 172 : 173 : C 174 : C ON MET A JOUR DE FACON NON LINEAIRE LA PARTIE MEMBRANE 175 : C ET LES PARTIES FLEXION ET EFFORTS 176 : C TRANCHANTS LE CAS ECHEANT 177 : C 178 : FAC=(EPAI**3)/12.D0 179 : AUX =FAC*YOUN/(1.D0-XNU*XNU) 180 : AUX1=FAC*YOUN*.5D0/(1.D0+XNU) 181 : AUX2=EPAI*YOUN*.5D0/(1.d0+XNU)/1.2d0 182 : DO 103 ISTRS=1,NSTRS 183 : SIG0(ISTRS)=SIG0S(ISTRS) 184 : DEPST(ISTRS)=DEPSTS(ISTRS) 185 : 103 CONTINUE 186 : 187 : DO 104 ISTRS=1,2 188 : SIGF (ISTRS)=SIGF(ISTRS)*EPAI 189 : 104 CONTINUE 190 : SIGF(3)=SIGF(4)*EPAI 191 : SIGF(4)=SIG0(4)+AUX*(DEPST(4)+XNU*DEPST(5)) 192 : SIGF(5)=SIG0(5)+AUX*(DEPST(5)+XNU*DEPST(4)) 193 : SIGF(6)=SIG0(6)+AUX1*DEPST(6) 194 : SIGF(7)=SIG0(7)+AUX2*DEPST(7) 195 : SIGF(8)=SIG0(8)+AUX2*DEPST(8) 196 : SEGSUP WRK6 197 : END IF 198 : ELSE 199 : print*,'erreur dans invalm' 200 : KERRE=56 201 : END IF 202 : ELSE 203 : print*,'erreur dans dohmas' 204 : KERRE=56 205 : END IF 206 : SEGSUP WRKK2 207 : RETURN 208 : END 209 : 210 :
© Cast3M 2003 - All rights reserved.
Disclaimer