cmicri
C CMICRI SOURCE OF166741 25/11/04 21:15:28 12349 * * modele d'endommagement microplan isotrope couple a la plasticite * C. La Borderie + S. Fichant Oct. 95 * routines utilisees: * micro1: plasticite nadai * IDECAL=3 DANS LE CAS ISO IDECAL=8 DANS LE CAS ANISO * jacob3: diagonalisation: * attention jacob3 modifie la matrice a diagonaliser!! * prodt et prodt2 * attention prodt2 ne fonctionne qu'avec la matrice des V. P. !! * IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) INTEGER NVARI INTEGER ISTRS,I,J REAL*8 YOUNG,XNU,EPSD0,BT,LAMB,DEUXMU,ALFA,MP,BT1 REAL*8 DOM,SIGAN(6),TRSIG,TRSIG33,DEF33(3,3),EPSIPP(3),VECP(3,3) REAL*8 D1,DEFPT(6),DEFTOT(6),EPSITOP(3),EPSE1,EPSE REAL*8 SIGPP(3),SIGPM(3),SIG33(3,3),SIG33P(3,3),SIG33M(3,3) REAL*8 LAMBDAP,LAMBDAM INTEGER IDECAL -INC PPARAM -INC CCOPTIO -INC DECHE -INC TECOU SEGMENT WRKK1 ENDSEGMENT * * on recupere les variable materielles * YOUNG=XMAT(1) XNU=XMAT(2) EPSD0=XMAT(5) BT=XMAT(6) MP=XMAT(8) BT1=(1.D0-(YOUNG/(YOUNG+MP))) ALFA=XMAT(9) DEUXMU=YOUNG/(1.D0+XNU) LAMB=XNU*DEUXMU/(1.D0-2.D0*XNU) * * recuperation des variables internes d'endommagement * DOM=VAR0(3) * * on ecoule plastiquement sur la contrainte effective * IDECAL=3 NSTRS1 =iecou.nstrss * PRINT*,'ON ECOULE' & .FALSE.,DEFPT,EPSE1,EPSE) IF (KERRE .NE. 0) THEN print*,'on n''a pas converge dans micro1' & .FALSE.,DEFPT,EPSE1,EPSE) RETURN ENDIF * * on ecoule en endommagement sur les deformations elastiques SEGINI WRKK1 * * calcul des deformations elastiques * * print*,'-----sigf------' * print*,sigf(1),sigf(2),sigf(3) TRSIG = SIGF(1)+SIGF(2)+SIGF(3) DO ISTRS=1,3 END DO * print*,'-----defela------' * print*,defela(1),defela(2),defela(3) * print*,'-----defpt------' * print*,defpt(1),defpt(2),defpt(3) DO ISTRS=4,NSTRS1 END DO * * on met les deformations sous forme de matrice 3x3 * pour calculer les valeurs propres * * print*,'deformations elastiques dans rpg(3x3)' * print*,def33 * print*,'prodt defrdpe' * print*,'deformations principales' * print*,(epsipp(i),i=1,3) * * PAREIL POUR DEFTOTAL * * print*,'deformations TOTAL principales' * print*,(epsitop(i),i=1,3) * * on calcule l'endommagement resultant * * print*,'BT=',BT,'EPSD0=',EPSD0,'EPSIPP(1)',EPSIPP(1) IF ( (EPSIPP(1)) .GT. (EPSD0) ) THEN * IF ( EPSITOP(1) .GT. (EPSD0) ) THEN * PRINT*,'OUI On calcul l endommagement' * PRINT*,'EPSIPP(1)/BT1',EPSIPP(1)/BT1 * PRINT*,'EPSITOP(1)',EPSITOP(1) * PRINT*,'BT1',BT1 D1=1.D0-(((EPSD0)/EPSIPP(1))*EXP(BT*(EPSD0- EPSIPP(1)))) * D1=1.D0-EPSD0/EPSIPP(1)*EXP(BT*(EPSD0 - (EPSIPP(1)+EPSE1))) * D1=1.D0-EXP(-BT*(EPSE)) * D1=0.D0 ELSE D1=0.D0 END IF * PRINT*,'D1=',D1 * PRINT*,'EPSIPP(1)=',EPSIPP(1) * PRINT*,'EPSE1=',EPSE1 * PRINT*,'EPSE',EPSE * * et on en l'endommagement final * IF(d1.gt.dom)then dom=d1 endif * print*,'DOM=',DOM * * on separe les contraintes effectives en + et - dans rpsigma * * print*,'contraintes ppales' * print*,sigpp DO I=1,3 IF (SIGPP(I) .LT. 0.D0)THEN SIGPM(I)=SIGPP(I) SIGPP(I)=0.D0 ELSE SIGPM(I)=0.D0 END IF END DO * print*,'contraintes dans rpg' * print*,sig33p * print*,sig33m * LAMBDAP=1.D0-DOM LAMBDAM=1.D0-DOM**ALFA SIG33(1,1)=LAMBDAP*SIG33P(1,1)+LAMBDAM*SIG33M(1,1) SIG33(1,2)=LAMBDAP*SIG33P(1,2)+LAMBDAM*SIG33M(1,2) SIG33(1,3)=LAMBDAP*SIG33P(1,3)+LAMBDAM*SIG33M(1,3) SIG33(2,1)=SIG33(1,2) SIG33(2,2)=LAMBDAP*SIG33P(2,2)+LAMBDAM*SIG33M(2,2) SIG33(2,3)=LAMBDAP*SIG33P(2,3)+LAMBDAM*SIG33M(2,3) SIG33(3,1)=SIG33(1,3) SIG33(3,2)=SIG33(2,3) SIG33(3,3)=LAMBDAP*SIG33P(3,3)+LAMBDAM*SIG33M(3,3) * * Modif Mohammed calcul des def total TRSIG33=SIG33(1,1)+SIG33(2,2)+sig33(3,3) DEFTOT(1)=( (1.D0+XNU)*SIG33(1,1)-XNU*TRSIG33)/YOUNG * * on rend les contraintes et les variables internes finales * SIGAN(1)=SIGF(1)-SIG33(1,1) SIGF(1)=SIG33(1,1) VARF(3)=MAX(DOM,0.d0) * VARF(3)=DEFELA(1) SIGAN(2)=SIGF(2)-SIG33(2,2) SIGF(2)=SIG33(2,2) SIGAN(3)=SIGF(3)-SIG33(3,3) SIGF(3)=SIG33(3,3) SIGAN(4)=SIGF(4)-SIG33(1,2) SIGF(4)=SIG33(1,2) IF(IFOUR.GE.1.OR.IFOUR.LE.-3) THEN SIGAN(5)=SIGF(5)-SIG33(1,3) SIGF(5)=SIG33(1,3) SIGAN(6)=SIGF(6)-SIG33(2,3) SIGF(6)=SIG33(2,3) ELSE SIGAN(5)=0.D0 SIGAN(6)=0.D0 END IF DO ISTRS=1,6 VARF(ISTRS+3)=SIGAN(ISTRS) END DO SEGSUP WRKK1 RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales