tufibs
C TUFIBS SOURCE CHAT 05/01/13 03:55:14 5004 C---------------------------------------------------------------------- C B*SIGMA POUR L ELEMENT TUYAU FISSURE C C ENTREES C CONT(8) = LES CONTRAINTES C CAR(9) = LES CARACTERISTIQUES C CAR(1) = RAYON EXTERIEUR DU TUYAU C CAR(2) = EPAISSEUR DU TUYAU C CAR(3),CAR(4),CAR(5) AXE DU TUYAU C CAR(6),CAR(7),CAR(8) DIRECTION DE LA FISSU C CAR(9) = ANGLE DE LA FISSURE C TABLEAU DE TRAVAIL C WORK(21) = TABLEAU DE TRAVAIL C SORTIES C FORCE(12) = LES FORCES AUX DEUX NOEUDS C C KERRE = CODE D'ERREUR C 0 SI PAS DE PROBLEME, SINON : C 1 SI V2 EST NUL OU SI V1 ET V2 SONT COLINEAIRES C 2 SI V1 EST NUL C 3 SI TUYAU TROP EPAIS C---------------------------------------------------------------------- IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) C Include contenant quelques constantes dont XPI : -INC CCREEL PARAMETER(UN=1.D0,XEPS=1.D-10) DIMENSION V1(3),V2(3),BV1(3),BV2(3),BPSS(3,3) KERRE=0 C C ON REMPLIT LES FORCES NODALES DANS LE REPERE LOCAL C DO 1 I=1,6 1 CONTINUE C C ON PASSE (AVEC DIFFICULTE) DANS LE REPERE GLOBAL C V1(1)=CAR(3) V1(2)=CAR(4) V1(3)=CAR(5) V2(1)=CAR(6) V2(2)=CAR(7) V2(3)=CAR(8) C C NORMALISATION DES VECTEURS V1 ET V2. C XNV1 = XZERO XNV2 = XZERO DO 5 I=1,3 XNV1 = XNV1 + (V1(I)*V1(I)) XNV2 = XNV2 + (V2(I)*V2(I)) 5 CONTINUE IF (XNV1.LT.XEPS) THEN KERRE = 2 GOTO 666 ENDIF IF (XNV2.LT.XEPS) THEN KERRE = 1 GOTO 666 ENDIF XNV1 = UN/SQRT(XNV1) XNV2 = UN/SQRT(XNV2) DO 10 I=1,3 BV1(I) = V1(I)*XNV1 BV2(I) = V2(I)*XNV2 10 CONTINUE C C ORTHOGONALISATION ET RENORMALISATION DE V2. C PS = (BV1(1)*BV2(1))+(BV1(2)*BV2(2))+(BV1(3)*BV2(3)) C C TEST SUR LA COLINEARITE DE V1 ET V2. C IF(ABS(PS).GE.(.99D0)) THEN KERRE = 1 GOTO 666 ELSE XNV2 = UN/SQRT(UN-(PS**2)) DO 15 I=1,3 BV2(I) = XNV2*(BV2(I)-(PS*BV1(I))) 15 CONTINUE ENDIF C C CALCUL DE LA MATRICE DE PASSAGE C GLOBAL = BPSS * LOCAL C V1 REPRESENTE L'AXE LOCAL DES Z C V2 REPRESENTE L'AXE LOCAL DES Y C DO 20 I=1,3 BPSS(I,1) =BV1(I) BPSS(I,2) =BV2(I) 20 CONTINUE BPSS(1,3) = (BPSS(2,1)*BPSS(3,2))-(BPSS(3,1)*BPSS(2,2)) BPSS(2,3) = (BPSS(3,1)*BPSS(1,2))-(BPSS(1,1)*BPSS(3,2)) BPSS(3,3) = (BPSS(1,1)*BPSS(2,2))-(BPSS(2,1)*BPSS(1,2)) C C TRANSFORMATION DES FORCES LOCALES EN GLOBALES C C 666 CONTINUE RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales