1 : C DYNE41 SOURCE CHAT 05/01/12 23:17:46 5004 2 : SUBROUTINE DYNE41(XAXROT,MERR,IDIM) 3 : IMPLICIT INTEGER(I-N) 4 : IMPLICIT REAL*8(A-H,O-Z) 5 : *---------------------------------------------------------------* 6 : * * 7 : * Opérateur DYNE : algorithme de Fu - de Vogelaere * 8 : * ________________________________________________ * 9 : * * 10 : * Pour les corps rigides, normalisation de l axe de * 11 : * rotation, seulement en tridimensionnel. * 12 : * Vérification que l'axe n'est pas nul * 13 : * * 14 : * Paramètres * 15 : * * 16 : * es XAXROT Tableau contenant l'axe de rotation * 17 : * es MERR Indique si le calcul s'effectue correctement * 18 : * * 19 : * * 20 : * Auteur, date de création: * 21 : * * 22 : * Samuel DURAND : le 10 Octobre 1996 : Création * 23 : * * 24 : * * 25 : * * 26 : *---------------------------------------------------------------* 27 : * 28 : * 29 : * 30 : REAL*8 XAXROT(*) 31 : * 32 : MERR=0 33 : XNORM=0.D0 34 : XEPSI = 0.000000000000000001 35 : * Normalisation de la normale au plan de rotation Z 36 : IF (IDIM.EQ.3) THEN 37 : DO 10 ID=1,IDIM 38 : XNORM =XNORM + XAXROT(ID)*XAXROT(ID) 39 : 10 CONTINUE 40 : XNORM = SQRT(XNORM) 41 : IF (XNORM.GT.XEPSI) THEN 42 : DO 12 ID=1,IDIM 43 : XAXROT(ID) = XAXROT(ID)/XNORM 44 : 12 CONTINUE 45 : MERR=1 46 : ELSE 47 : * RIEN 48 : ENDIF 49 : ELSE 50 : IF (ABS(XAXROT(1)).GT.XEPSI) THEN 51 : MERR=1 52 : ENDIF 53 : ENDIF 54 : END 55 : * 56 :
© Cast3M 2003 - All rights reserved.
Disclaimer