pourea
C POUREA SOURCE PV090527 24/04/04 21:15:24 11875
C-----------------------------------------------------------------------
C ROUTINE DE REACTUALISATION DU VECTEUR VECT
C-----------------------------------------------------------------------
C ENTREE
C XX,YY,ZZ LES COORDONNEES DES 2 NOEUDS
C XDDL LES DEPLACEMENTS EN AXES GLOBAUX
C WORK TABLEAU DE TRAVAIL
C P MATRICE DE PASSAGE
C
C SORTIE
C VECT NOUVEAU VECTEUR
C KERRE INDICE D'ERREUR ( 0 SI TOUT EST OK )
C
C-----------------------------------------------------------------------
IMPLICIT INTEGER(I-N)
IMPLICIT REAL*8(A-H,O-Z)
DIMENSION OMEG(3),PP(3,3),XX(*),YY(*),ZZ(*)
-INC CCREEL
C Initialisation à ZERO sinon SIGSEV parfois car utilisation de termes non initialises
C
C CALCUL DE VNP
C
VNP(1)=XX(2)+XDDL(7)-XX(1)-XDDL(1)
VNP(2)=YY(2)+XDDL(8)-YY(1)-XDDL(2)
VNP(3)=ZZ(2)+XDDL(9)-ZZ(1)-XDDL(3)
RLVNP=SQRT(VNP(1)*VNP(1)+VNP(2)*VNP(2)+VNP(3)*VNP(3))+XPETIT
IF(RLVNP.LT.2*XPETIT) THEN
KERRE=1
RETURN
ENDIF
DO 1 I=1,3
VNP(I)=VNP(I)/RLVNP
OMEG(I)=VNP(I)
1 continue
C
C CALCUL DE LA MATRICE DE PASSAGE
C
IOMEG=KERRE
KERRE=0
C
C PASSAGE DES DEPLACEMENTS EN AXES LOCAUX - ROTATION PSI
C
S2=PP(2,1)*VNP(1)+PP(2,2)*VNP(2)+PP(2,3)*VNP(3)
C3=COS(PSI)
S3=SIN(PSI)
C
C REACTUALISATION DU VECTEUR
C
IF(IOMEG.EQ.0) THEN
DO I=1,3
VN(I)=0.D0
DO J=1,3
enddo
enddo
OMEG(3)=S3*VN(2)+C3*VN(3)
DO I=1,3
DO J=1,3
enddo
enddo
ELSE
VN(1)=0.D0
VN(2)=C3
VN(3)=S3
DO I=1,3
DO J=1,3
enddo
enddo
ENDIF
END
					© Cast3M 2003 - Tous droits réservés.
					Mentions légales