C MASHEJ SOURCE FANDEUR 12/07/18 21:15:50 7435 SUBROUTINE MASHEJ(wrk52,wrk53,WRK2, > NCURFP,NCURKP,NCURLP,NCURFM,NCURKM,NCURLM, > IPOSFP,IPOSKP,IPOSLP,IPOSFM,IPOSKM,IPOSLM) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) C C====================================================================== C MUR_SHEAR, Alessandra, Armelle et Pierre, ELSA/ISPRA C 05/2004 C====================================================================== C C MODELE GLOBAL DE MUR EN CISAILLEMENT + C COMPORTEMENT DE FLEXION EN TETE ET PIED C (Sur des elements macro CIFL ) C (pour appel de coml8) C C======================================================================= C CETTE ROUTINE EST APPELE DANS coml8 C C WRK52 = Segment materiaux/contrainte/.... C WRK53 = Segment pratique (not used now) C WRK2 = Segment courbe C NCURFP = longueur courbe de charge + (x>0,y>0) C NCURKP = longueur courbe de raideur + (x>0,y>0) C NCURLP = longueur courbe de domaine elastique + (x>0,y>0) C NCURFM = longueur courbe de charge - (x<0,y<0) C NCURKM = longueur courbe de raideur - (x<0,y>0) C NCURLM = longueur courbe de domaine elastique - (x<0,y>0) C IPOS.... = pointeurs sur les courbes dans TRAC C C====================================================================== C XCARB = Caracteristique de la section C DEPST = Increment de deformation axiale C SIG0 = Contrainte initiale C VAR0 = Variables internes initiales C SIGF = Contrainte finale C VARF = Variables internes finales C DEFP = Deformation plastique C C======================================================================= C REAL*8 INRZ,MOMT PARAMETER (XZER=0.D0,UN=1.D0,EPSILO=1.D-16) C C======================================================================= C VARIABLES ET SEGMENTS NECESSAIRES C========================================================================= -INC CCOPTIO -INC DECHE C C Segment de la courbe SEGMENT WRK2 REAL*8 TRAC(LTRAC) ENDSEGMENT C NVARI=VAR0(/1) C C Lecture materiau C YOUN = XMAT(1) XNU = XMAT(2) DTRANP = XMAT(11) DTRANM = XMAT(12) BETA = XMAT(13) NPELA = INT(XMAT(14)+EPSILO) TRFA = XMAT(15) DOCP = XMAT(16) DOCM = XMAT(17) EXPN = XMAT(18) FNRF = XMAT(19) FTDI = XMAT(20) C SECT = XCARB(1) INRZ = XCARB(2) BB = 2*SQRT(3*INRZ/SECT) SS = SECT/BB C C PARTIE INFERIEURE DU MUR C EPT = epstf(1) COT = epstf(2) IF(EPT*EPT.GE.(COT*BB/2)**2)THEN FNOT=0.5D0*YOUN*SECT*(EPT-ABS(EPT)) MOMT=0.5D0*YOUN*INRZ*(UN-SIGN(UN,EPT))*COT * write(6,*)'1:',FNOT,MOMT ELSE FNOT=YOUN*SS/2*((BB*EPT)-(EPT*EPT/ABS(COT))-(ABS(COT)*BB*BB/4)) MOMT=YOUN*SS/24* > (((BB**3)*COT)+ > (SIGN(UN,COT)*((4*(EPT**3)/(COT**2))-(3*BB*BB*EPT)))) * write(6,*)'2:',FNOT,MOMT ENDIF SIGF(1) = FNOT SIGF(2) = MOMT C C PARTIE SUPERIEURE DU MUR C EPT = epstf(4) COT = epstf(5) IF(EPT*EPT.GE.(COT*BB/2)**2)THEN FNOT=YOUN*SECT/2*(EPT-ABS(EPT)) MOMT=YOUN*INRZ/2*(UN-SIGN(UN,EPT))*COT ELSE FNOT=YOUN*SS/2*((BB*EPT)-(EPT*EPT/ABS(COT))-(ABS(COT)*BB*BB/4)) MOMT=YOUN*SS/24* > (((BB**3)*COT)+ > (SIGN(UN,COT)*((4*EPT**3/COT**2)-(3*BB*BB*EPT)))) ENDIF SIGF(4) = FNOT SIGF(5) = MOMT C C PARTIE MEDIANE DU MUR C XDDEP = DEPST(3) XFOR0 = SIG0(3) C C Appel de la loi de shear C CALL MSHEAR(XDDEP,XFOR0,XFORF,VAR0,VARF,NVARI,DDINL, & DTRANP,DTRANM,BETA,NPELA,TRFA,DOCP,DOCM,EXPN, & TRAC(IPOSFP),NCURFP,TRAC(IPOSKP),NCURKP,TRAC(IPOSLP),NCURLP, & TRAC(IPOSFM),NCURFM,TRAC(IPOSKM),NCURKM,TRAC(IPOSLM),NCURLM, & KERRE) C C RENORMALISATION C SIGF(3) = XFORF*SQRT((SECT*FTDI+(ABS(SIGF(1)+SIGF(4))/2))/ > (SECT*FTDI+ FNRF ) ) C write(6,*)SIGF(3)/XFORF,FNRF,ABS(SIGF(1)+SIGF(4))/2 C C================================================================== C C On remplit les tableaux avant de sortir C C================================================================== NSTRS=DEFP(/1) DEFP(1)=DEPST(1)-((SIGF(1)-SIG0(1))/(YOUN*SECT)) DEFP(2)=DEPST(2)-((SIGF(2)-SIG0(2))/(YOUN*INRZ)) DEFP(3)=DDINL DEFP(4)=DEPST(4)-((SIGF(4)-SIG0(4))/(YOUN*SECT)) DEFP(5)=DEPST(5)-((SIGF(5)-SIG0(5))/(YOUN*INRZ)) C C===================================================== C FIN DE LA ROUTINE DU MODELE C====================================================== RETURN END