C DYCHAM2 SOURCE CHAT 05/01/12 23:03:08 5004 C DYCHAM2 SOURCE LAVARENN 96/08/05 21:17:56 2237 SUBROUTINE DYCHAM2(XDEP,XVIT,XJEU,XAMO,XABSCI,XORDON,NIP, & NLIAB,I,XFL,IPERM,iannul) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) *--------------------------------------------------------------------* * * * Op{rateur DYNE * * ________________________________________________ * * * * Calcul de la force de choc pour un choc elementaire. * * Cas d'une loi elastique * * Param}tres: * * * * e XDEP Valeur du d{placement. * * e XVIT Valeur de la vitesse. * * e XJEU Valeur du jeu. * * e XAMO Valeur de l'amortissement. * * e IPERM =1 si liaison permanente * * e XABSCI Abscisses loi elastique * * e XORDON Ordonnees loi elastique * * * * s XFL Valeur de la force de choc. * * * * * * Auteur, date de cr{ation: * * * * Bruno FONTAINE, le 26/02/98 * * * *--------------------------------------------------------------------* REAL*8 XABSCI(NLIAB,*),XORDON(NLIAB,*) XFL = 0.D0 * if (iannul.eq.0) then IF (IPERM.EQ.1) THEN XVAL = abs(XDEP) CALL LIRANG(XVAL,XABSCI,XORDON,I,NLIAB,NRG,XPENTE,NIP) XFLA = (XORDON(I,NRG) + XPENTE*(XVAL-XABSCI(I,NRG))) if (xdep.lt.0d0) xfla = -xfla xfl = -xfla - XAMO * XVIT ELSE IF (XDEP.GE.XJEU) THEN XVAL = XDEP - XJEU CALL LIRANG(XVAL,XABSCI,XORDON,I,NLIAB,NRG,XPENTE,NIP) XFL = - (XORDON(I,NRG) + XPENTE*(XVAL-XABSCI(I,NRG))) & - XAMO * XVIT IF ( XFL.GT.0.D0) XFL = 0.D0 ENDIF ENDIF endif * * END