C Rutina 103 C-----------------------------------------------------------COMPR_TAU--- C C SUBRUTINA COMPR_TAU C C COMPROBACION DEL LIMITE DE FRICCION C SUBROUTINE COMPR_TAU(SIGMA,TAU,D_SIGMA,D_TAU,MU,LAMBDA,BC) C IMPLICIT NONE C INCLUDE '_param.for' C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C VARIABLES EXTERNAS CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C SIGMA,TAU : Tensiones acumuladas REAL*8 SIGMA,TAU C D_SIGMA,D_TAU : Tensiones corresp. al incr. de carga REAL*8 D_SIGMA,D_TAU C MU : Coef. de rozamiento REAL*8 MU C LAMBDA : Coef. de pond. de la sol. del incr. de carga REAL*8 LAMBDA C BC : Condicion de contorno final INTEGER BC C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C VARIABLES INTERNAS CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C L1,L2 : Valores de LAMBDA para los cuales se supera el limite de friccion REAL*8 L1,L2 REAL*8 TOLER C CCCCCCCCCCCCCCCCCCCCCCCCCC C VALORES INICIALES CCCCCCCCCCCCCCCCCCCCCCCCCC C L1=1.d0 L2=1.d0 TOLER=1.d-12 C CCCCCCCCCCCCCCC C RUTINA CCCCCCCCCCCCCCC C IF((TAU.LE.(MU*SIGMA)).AND.(TAU.LT.(-MU*SIGMA)))THEN IF((MU*SIGMA-TAU).GT.TOLER)THEN WRITE(F_W,11130) 2 WRITE( *,11130) 2 STOP ELSE TAU=MU*SIGMA END IF L2=-(TAU+MU*SIGMA)/(D_TAU+MU*D_SIGMA) IF((TAU+D_TAU).LT.(MU*(SIGMA+D_SIGMA)))THEN L1=0.d0 END IF ELSE IF((TAU.GE.(-MU*SIGMA)).AND.(TAU.GT.(MU*SIGMA)))THEN IF((TAU+MU*SIGMA).GT.TOLER)THEN WRITE(F_W,11130) 3 WRITE( *,11130) 3 STOP ELSE TAU=-MU*SIGMA END IF L1=-(TAU-MU*SIGMA)/(D_TAU-MU*D_SIGMA) IF((TAU+D_TAU).GT.(-MU*(SIGMA+D_SIGMA)))THEN L2=0.d0 END IF ELSE IF((TAU.GT.(MU*SIGMA)).AND.(TAU.LT.(-MU*SIGMA)))THEN L1=-(TAU-MU*SIGMA)/(D_TAU-MU*D_SIGMA) L2=-(TAU+MU*SIGMA)/(D_TAU+MU*D_SIGMA) ELSE IF(SIGMA.EQ.0.d0)THEN IF(D_TAU.LT.(MU*D_SIGMA))THEN L1=0.d0 ELSE IF(D_TAU.GT.(-MU*D_SIGMA))THEN L2=0.d0 END IF ELSE WRITE(F_W,11130) 1 WRITE( *,11130) 1 STOP END IF C IF((L1.GE.0.d0).AND.(L1.LT.LAMBDA))THEN LAMBDA=L1 BC=3 END IF C IF((L2.GE.0.d0).AND.(L2.LT.LAMBDA))THEN LAMBDA=L2 BC=-3 END IF C x IF(LAMBDA.LT.1.d0)THEN x IF(TAU.EQ.0.d0)THEN x IF(DSIGN(1.d0,D_TAU).EQ.-1.d0)THEN x BC=3 x ELSE x BC=-3 x ENDIF x ELSE IF(DSIGN(1.d0,TAU+LAMBDA*D_TAU).EQ.-1.d0)THEN x BC=3 x ELSE x BC=-3 x ENDIF x END IF C C FIN DE LA RUTINA C RETURN C C FORMATOS DE ESCRITURA. C 11130 FORMAT(/,2x,'ERROR 11130 - COMPR_TAU - Error Programa', @ ' (#',i1,'#)') C END C e-REdING. Biblioteca de la Escuela Superior de Ingenieros de Sevilla.


ANÁLISIS DEL PROBLEMA TERMOELÁSTICO DE CONTACTO MEDIANTE EL MÉTODO DE LOS ELEMENTOS DE CONTORNO CON MALLAS CONFORMES Y NO CONFORMES

: MORALES SIERRA, DIÓGENES
: Ingeniería Industrial
Contenido del proyecto: