cmvmmm
C CMVMMM SOURCE PV 17/12/08 21:16:14 9660 C MVMMM SOURCE PV 02/11/04 21:34:10 4472 C MAZZZ SOURCE AM 00/12/13 21:39:54 4045 c SUBROUTINE MVMMM(WRK0,WRK1,WRK5,NSTRS,NVARI,NMATT,ISTEP, c 1 ICARA,KERRE,MFR) *====================================================================== * BCN * New source: one nonlocal damage material model added: * Modified Von Mises * This routine is very similar to MAZZZ.ESO *====================================================================== C C calcule la deformation initiale et l'increment de deformation C a partir de la contrainte initiale et l'increment de contrainte C elastique puis appelle la subroutine MAZARS C C C variables en entree C C C NSTRS1 nombre de composantes dans les vecteurs des contraintes C et les vecteurs des deformations C C NVARI nombre de variables internes (doit etre egal a 2) C C NMATT nombre de constantes du materiau C C ISTEP flag utilise pour separer les etapes dans un calcul non local C ISTEP=0 -----> calcul local C ISTEP=1 -----> calcul non local etape 1 on calcule les seuils C ISTEP=2 -----> calcul non local etape 2 on continue le calcul C a partir des seuils moyennes C C C variables en sortie C C VARF variables internes finales dans WRK0 C C SIGF contraintes finales dans WRK0 C C Modif L.Bode - 09/10/92 - Traitement particulier des coques C Modif L.Bode - 14/10/92 - Modifications complementaires C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) -INC PPARAM -INC CCOPTIO -INC DECHE SEGMENT IECOU * COMMON/IECOU/NYOG,NYNU,NYALFA,NYSMAX,NYN,NYM,NYKK, INTEGER icow1,icow2,icow3,icow4,icow5,icow6,icow7, C INTEGER NYOG, NYNU, NYALFA,NYSMAX,NYN, NYM, NYKK, 1 icow8,icow9,icow10,icow11,icow12,icow13,icow14,icow15,icow16, C . NYALF1,NYBET1,NYR, NYA, NYRHO,NSIGY, NNKX, NYKX, IND, 2 icow17,icow18,icow19,icow20,icow21,icow22,icow23,icow24, C . NSOM, NINV, NINCMA,NCOMP, JELEM, LEGAUS,INAT, NCXMAT, 3 icow25,icow26,icow27,icow28,icow29,icow30,ICARA, C . LTRAC, MFR, IELE, NHRM, NBNN, NBELEM,ICARA, 4 icow32,icow33,NSTRS1,MFR1,icow36,icow37,icow38, C . LW2, NDEF, NSTRSS,MFR1, NBGMAT,NELMAT,MSOUPA, 5 icow39,icow40,icow41,icow42,icow43,icow44 C . NUMAT1,LENDO, NBBB, NNVARI,KERR1, MELEME INTEGER icow45,icow46,icow47,icow48,icow49,icow50, . icow51,icow52,icow53,icow54,icow55,icow56 . icow57,icow58 ENDSEGMENT SEGMENT NECOU * COMMON/NECOU/NCOURB,IPLAST,IT,IMAPLA,ISOTRO, INTEGER ncow(6), IFOURB,ncow1(14) ENDSEGMENT SEGMENT XECOU * COMMON/XECOU/DTOPTI,TSOM,TCAR,DTT,DT,TREFA,TEMP00 REAL*8 DTOPTI,TSOM,TCAR,DTT,DT,TREFA,TEMP00 ENDSEGMENT * SEGMENT WRKK2 REAL*8 EPSILI(NSTRSV) END SEGMENT * SEGMENT WRK6 REAL*8 SIG0S(NSTRS1),DEPSTS(NSTRS1) END SEGMENT * * INTEGER KCAS,IRTD * REAL*8 PREC,EPAI,FAC,AUX,AUX1,AUX2,YOUN,XNU * REAL*8 UN PARAMETER (UN=1.D0) KERRE=0 YOUN = XMAT(1) XNU = XMAT(2) C C ON CALCULE LES CONTRAINTES VRAIES DANS LE CAS DES COQUES C C print*,'dans mazzzz MFR=', mfr IF (MFR .EQ. 9) THEN EPAI=xcarb(1) SEGINI WRK6 DO 101 ISTRS=1,nstrs1 SIG0S(ISTRS)=SIG0(ISTRS) DEPSTS(ISTRS)=DEPST(ISTRS) 101 CONTINUE nstrsV=4 IFOUR2=-2 C Modif L.Bode - 14/10/92 C Dans le cas des coques, on force la dimension a 2 pour MAZARS C ie on travaille en contraintes planes JDIM =2 C Fin modif L.Bode DO 102 ISTRS=1,2 SIG0(ISTRS)=SIG0S(ISTRS)/EPAI 102 CONTINUE DEPST(3)=0.D0 DEPST(4)=DEPSTS(3) SIG0(3)=0.D0 SIG0(4)=SIG0S(3)/EPAI ELSE IF (MFR .EQ. 1) THEN nstrsV=nstrs1 IFOUR2=IFOUR C Modif L.Bode - 14/10/92 C Pour les elts massifs, on utilise la vraie dimension JDIM = IDIM C Fin modif L.Bode ELSE PRINT*,'MFR=',MFR KERRE=57 RETURN END IF SEGINI WRKK2 C C calcul de la matrice elastique C CMATE = 'ISOTROPE' KCAS=1 * print*,'increment de deformation elastique' * DO ISTRS=1,nstrs1 * print*,(DDHOOK(ISTRS,J),j=1,nstrs1) * print*,DEPST(ISTRS) * END DO IF ( IRTD .EQ. 1) THEN C C calcul de l'increment de contrainte C C C C inversion de cette matrice C PREC=1.D-08 * DO ISTRS=1,NSTRSV * print*,(DDHOOK(ISTRS,J),j=1,nstrsv) * END DO * print*,'appel a invalm' IF (IRTD.EQ.0)THEN C C calcul des deformations du materiau elastique lineaire C * print*,'appel a matve1' C C modification pour tenir compte de l'endommagement C DO 100 ISTRS=1,NSTRSV EPSILI(ISTRS)=EPSILI(ISTRS)+EPIN0(ISTRS) 100 CONTINUE C C appel a la routine MAZARS C C Modif L.Bode - 14/10/92 C On envoie la dimension et le numero de la formulation C ( Elts Coques JDIM =2 , IFOUR2 = -2 => contraintes planes C Elts Massifs JDIM = IDIM ,IFOUR2 = IFOUR) * print*,'appel a mazars' * * BCN C CALL MAZARS (WRK0,WRK1,WRKK2,WRK5,NSTRSV,NVARI,NMATT, C 1 ISTEP,ICARA,JDIM,IFOUR2) c CALL MODVONMISES (WRK0,WRK1,WRKK2,WRK5,NSTRSV,NVARI,NMATT, c 1 ISTEP,ICARA,JDIM,IFOUR2) icarbi=icara $ jdim,ifour2) * BCN * C Fin modif L.Bode C C ON RECALCULE LES CONTRAINTES EFFECTIVES POUR LES COQUES C * print*,'apres mazars' IF (MFR .EQ. 9) THEN C C ON MET A JOUR DE FACON NON LINEAIRE LA PARTIE MEMBRANE C ET LES PARTIES FLEXION ET EFFORTS C TRANCHANTS LE CAS ECHEANT C FAC=(EPAI**3)/12.D0 AUX =FAC*YOUN/(1.D0-XNU*XNU) AUX1=FAC*YOUN*.5D0/(1.D0+XNU) AUX2=EPAI*YOUN*.5D0/(1.d0+XNU)/1.2d0 DO 103 ISTRS=1,nstrs1 SIG0(ISTRS)=SIG0S(ISTRS) DEPST(ISTRS)=DEPSTS(ISTRS) 103 CONTINUE DO 104 ISTRS=1,2 SIGF (ISTRS)=SIGF(ISTRS)*EPAI 104 CONTINUE SIGF(3)=SIGF(4)*EPAI SIGF(4)=SIG0(4)+AUX*(DEPST(4)+XNU*DEPST(5)) SIGF(5)=SIG0(5)+AUX*(DEPST(5)+XNU*DEPST(4)) SIGF(6)=SIG0(6)+AUX1*DEPST(6) SIGF(7)=SIG0(7)+AUX2*DEPST(7) SIGF(8)=SIG0(8)+AUX2*DEPST(8) SEGSUP WRK6 END IF ELSE print*,'erreur dans invalm' KERRE=56 END IF ELSE print*,'erreur dans dohmas' KERRE=56 END IF SEGSUP WRKK2 RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales