C DYCHFR SOURCE CHAT 05/01/12 23:05:52 5004 SUBROUTINE DYCHFR(IDIM,IGP,XPALB,NLIAB,I,I0,I1,I2,I3,I4, & XGLIS,XADHE,XRAIT,XAMOT,XFN,XFT,XPUS) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) *--------------------------------------------------------------------* * * * Op{rateur DYNE : algorithme de Fu - de Vogelaere * * ________________________________________________ * * * * Gestion des phases glissement et adh{rence du frottement de * * COULOMB * * * * Param}tres: * * * * e IGP Indice de glissement au pas pr{c{dent * * es XPALB Tableau contenant les param}tres de la liaison * * e NLIAB Nombre de liaisons sur la base B * * e I Num{ro de la liaison * * e I0 Pointeur de la vitesse tangentielle dans XPALB * * e I1 Pointeur de la variation de d{placement par rapport a * * la position origine d'adh{rence, projet{e sur le plan * * tangent, dans XPALB * * e I2 Pointeur de la force tangentielle dans XPALB * * e I3 Pointeur de la vitesse tangentielle au pas pr{c{dent * * dans XPALB * * e I4 Pointeur de la force tangentielle @ la fin du glis- * * -sement dans XPALB * * e XFN Valeur de la force de choc suivant la normale. * * e XGLIS Valeur du coefficient de glissement * * e XADHE Valeur du coefficient d'adh{rence * * e XRAIT Valeur de la raideur tangentielle * * e XAMOT Valeur de l'amortissement tangentiel * * s XFT Module de la force de choc projet{e sur le plan tangent* * s XPUS Valeur de la puissance d'usure instantan{e * * * * * * Auteur, date de cr{ation: * * * * Bertrand BEAUFILS, le 31 mai 1990. * * I. POLITOPOULOS (bricolage pour le model d' Oden) ,juin 1993 * *--------------------------------------------------------------------* DIMENSION XPALB(NLIAB,*) XFT = 0.D0 XPUS = 0.D0 * modele d' Antunez IF (XRAIT.GT.0.D0) THEN IF (IGP.EQ.1) THEN * * Il y avait glissement au pas pr{cedent ; calcul du produit scalaire * de la vitesse et de la vitesse au pas pr{c{dent ; calcul du module * de la vitesse * PS = 0.D0 DO 10 ID = 1,IDIM PS = PS + XPALB(I,I0+ID) * XPALB(I,I3+ID) 10 CONTINUE * end do IF (PS.GT.0.D0) THEN * Il y a glissement CALL DYCHGL(IDIM,IGP,XPALB,NLIAB,I,I0,I2,XGLIS,XFN,XFT,XPUS) ELSE * Il y a possibilit{ d'adh{rence CALL DYCHAD(IDIM,IGP,XPALB,NLIAB,I,I0,I1,I2,I4,XADHE,XRAIT, & XAMOT,XFN,XFT,XPUS) IF (IGP.EQ.1) THEN * En fait, il y a glissement. CALL DYCHGL(IDIM,IGP,XPALB,NLIAB,I,I0,I2,XGLIS,XFN,XFT, & XPUS) ELSE * Ca adh}re CONTINUE ENDIF ENDIF ELSE * * Il y avait adh{rence au pas pr{c{dent ; \a peut continuer * CALL DYCHAD(IDIM,IGP,XPALB,NLIAB,I,I0,I1,I2,I4,XADHE,XRAIT, & XAMOT,XFN,XFT,XPUS) IF (IGP.EQ.1) THEN * En fait, il y a glissement. CALL DYCHGL(IDIM,IGP,XPALB,NLIAB,I,I0,I2,XGLIS,XFN,XFT,XPUS) ELSE * Ca adh}re CONTINUE ENDIF ENDIF ELSE * modele d'Oden * IGP = 1 EPSI = XAMOT * calcul du module de la vitesse * PSV = 0.D0 DO 20 ID = 1,IDIM PSV = PSV + XPALB(I,I0+ID) * XPALB(I,I0+ID) 20 CONTINUE * end do VITT = SQRT(PSV) IF (VITT.GT.EPSI) THEN * Il y a glissement classique CALL DYCHGL(IDIM,IGP,XPALB,NLIAB,I,I0,I2,XGLIS,XFN,XFT,XPUS) ELSE * on est dans le domaine regularise CALL DYCGLR(IDIM,EPSI,XPALB,NLIAB,I,I0,I2,XGLIS,XFN,XFT,XPUS) ENDIF ENDIF RETURN END