Numérotation des lignes :

C POULOC    SOURCE    CHAT      05/01/13    02:19:14     5004      SUBROUTINE POULOC(XEPOU,VECT,KERRE)C-----------------------------------------------------------------------C        CALCUL DU VECTEUR LOCAL DE LA POUTRE PAR DEFAUTCC  ENTREEC         XEPOU     COORDONNEES DES 2 NOEUDSC  SORTIEC         VECT   VECTEUR DEFINISSANT LE REPERE LOCAL DE LA POUTREC         KERRE  = 0 SI PAS DE PBC                = 1 SI POINTS CONFONDUSCC-----------------------------------------------------------------------      IMPLICIT INTEGER(I-N)      IMPLICIT REAL*8(A-H,O-Z)      DIMENSION XEPOU(3,*),P(3),VECT(*),A(3)C      KERRE=0      A(1)=XEPOU(1,2)-XEPOU(1,1)      A(2)=XEPOU(2,2)-XEPOU(2,1)      A(3)=XEPOU(3,2)-XEPOU(3,1)      XL=SQRT(A(1)**2+A(2)**2+A(3)**2)      IF(XL.EQ.0.D0) THEN      KERRE=1      RETURN      ENDIF      RL=1.D00/XLCC  DEFINITION DU VECTEUR LOCAL PAR DEFAUT   ( NON NORME )C      VECT(1)=-A(2)*RL      VECT(2)=A(1)*RL      VECT(3)=0.D00      DO 7 I=1,3   7  P(I)=A(I)*RL      RLP=0.D0      DO 1 I=1,3   1  RLP=RLP+VECT(I)**2      RLP= SQRT(RLP)CC  TEST DE COLINEARITEC      PROD=0.D00      DO 4 I=1,3   4  PROD=PROD+VECT(I)*P(I)      IF(ABS(PROD).LT.0.99D00*RLP) GO TO 5      VECT(1)= 0.D0      VECT(2)= -A(3)*RL      VECT(3)=  A(2)*RLCC  ORTHOGONALISATIONC  5   CONTINUE      RLP=0.D00      DO 6 I=1,3      VECT(I)=VECT(I)-PROD*P(I)  6   RLP=RLP+VECT(I)**2      RLP=1.D00/SQRT(RLP)      DO 2 I=1,3  2   VECT(I)=VECT(I)*RLP      RETURN      END

© Cast3M 2003 - Tous droits réservés.
Mentions légales