C C-----------------------------------------------------------INCR_APRIETE--- C C SUBRUTINA INCR_APRIETE C C CALCULO DE LOS ELEMENTOS DE GIJ CORRESPONDIENTES C A LA CDC DE MUELLE C SUBROUTINE INCR_APRIETE(N,VBC,SOLU,BC,LAMBDA) C IMPLICIT NONE INCLUDE '_param.for' C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C NOD.VARIABLES EXTERNAS CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C N() : Normal al elemento REAL*8 N(2) C VBC() : Datos de la cdc REAL*8 VBC(4) C SOLU(): Solución del incremento actual (U1,U2,Sa,Ta,Sd,Td) REAL*8 SOLU(6) C BC: Codigo de la condicion de contorno (15,55,51) INTEGER BC C LAMBDA : Coef. de ponderacion de la solucion del incremento REAL*8 LAMBDA C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C NOD.VARIABLES INTERNAS CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C D() : Direccion del muelle REAL*8 D(2) C K: Constante del muelle REAL*8 K C Uo: Alargamiento inicial REAL*8 Uo C Dn,Dt,Ud: Variables auxiliares REAL*8 Dn,Dt,Ud C U1,U2,Sa,Ta,Sd,Td: Solucion de los pasos anteriores REAL*8 U1,U2,Sa,Ta,Sd,Td C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C VALORES INICIALES CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C Uo=VBC(1) K=VBC(2) D(1)=VBC(3) D(2)=VBC(4) C U1=LAMBDA*SOLU(1) U2=LAMBDA*SOLU(2) Sa=LAMBDA*SOLU(3) Ta=LAMBDA*SOLU(4) Sd=LAMBDA*SOLU(5) Td=LAMBDA*SOLU(6) C Dn=N(1)*D(1)+N(2)*D(2) Dt=-N(2)*D(1)+N(1)*D(2) Ud=U1*D(1)+U2*D(2) C CCCCCCCCCCCCCCCCCCCCCCCCCCCCC C APLICACION DE LA CDC CCCCCCCCCCCCCCCCCCCCCCCCCCCCC C SELECT CASE(BC) CASE(15,55) C IF(DABS(Dn).GT.DABS(Dt))THEN Uo=-Sd/Dn/K-(Ud-Uo) ELSE Uo=-Td/Dt/K-(Ud-Uo) END IF C CASE(51) C IF(DABS(Dn).GT.DABS(Dt))THEN Uo=-Sa/Dn/K-(Ud-Uo) ELSE Uo=-Ta/Dt/K-(Ud-Uo) END IF C CASE DEFAULT WRITE(F_W,13610) 5 WRITE (*,13610) 5 STOP END SELECT C VBC(1)=Uo C C FIN DE LA RUTINA C RETURN C C FORMATOS DE ESCRITURA C 13610 FORMAT(/,2x,'ERROR 01361 - INCR_APRIETE - Error Programa (#', @ i1,'#)') C END C