tufir1
C TUFIR1 SOURCE CHAT 05/01/13 03:56:11 5004 C======================================================================= C CALCUL DE LA MATRICE DE RIGIDITE DE L'ELEMENT DE TUYAU FISSURE C DANS LE REPERE GLOBAL C ENTREES: C WORK = TABLEAU CONTENANT LES CARACTERISTIQUES GEOMETRIQUES DE C L'ELEMENT C D(2,2)= MATRICE DE HOOKE C TRAVAIL C REL(12,12) = MATRICE DE RIGIDITE LOCALE C V1(3),V2(3) = VECTEURS ORIENTANT LE TUYAU FISSURE C BPSS(3,3) = MATRICE DE PASSAGE C SORTIE: C REG(12,12)= MATRICE DE RIGIDITE GLOBALE C KERRE = CODE D'ERREUR CORRESPONDANT A LA POSITION RELATIVE DES C DEUX VECTEURS V1 ET V2 DEFINISSANT L'ELEMENT TUFI: C 0 SI PAS DE PROBLEME, 1 SINON. C 1 SI V2 EST NUL OU SI V1 ET V2 SONT COLINEAIRES. C 2 SI V1 EST NUL. C 3 SI LE TUYAU FISSURE EST TRP EPAI R/T INF A 2 C======================================================================= IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) C Include contenant quelques constantes dont XPI : -INC CCREEL DIMENSION REL(12,*),V1(*),V2(*),D(2,*),BPSS(3,*) DIMENSION REG(12,*),BV1(3),BV2(3) C DATA EPS/1.D-10/ DATA UN,UNS2/1.D0,.5D0/ C C D6 = COEFFICIENT INTERVENANT POUR LES TERMES DE PENALISATION. C DATA DEUX,D6/2.D0,1.D06/ C KERRE = 0 TETA1 = ANDEG*UNS2 YOU = D(1,1) XNU = D(2,2) CISA = YOU /(DEUX *(UN + XNU)) C======================================================================= C LES CARACTERISTIQUES REPRESENTENT: C EPAI = EPAISSEUR DU TUYAU C RAYON = RAYON EXTERIEUR DU TUYAU C TETA1 = DEMI-ANGLE D'OUVERTURE DE LA FISSURE EN DEGRE C V1 = VECTEUR ORIENTANT LES NOEUDS 1 ET 2 (AXE DU TUYAU) C V2 = VECTEUR ORIENTANT L'AXE DE LA FISSURE C YOU = MODULE D'YOUNG C CISA = MODULE DE CISAILLEMENT C TABLEAU DE TRAVAIL: C BPSS = MATRICE DE PASSAGE C ON OBTIENT: C REG(12,12) = MATRICE DE RIGIDITE AXES GLOBAUX C C======================================================================= C C CONVERSION DE TETA1 EN RADIAN C C C ON MET DANS 'RAYON' LE RAYON MOYEN DU TUYAU. C RAYMO = RAYON - EPAI*UNS2 C C ON CALCULE A C RSURT= RAYMO / EPAI IF(RSURT.LE.10.0D0.AND.RSURT.GE.4.9D0) THEN AXX= (.125D0*RSURT - .25D0 ) **.25D0 ELSE IF(RSURT.GT.10.D0.AND.RSURT.LE.35.D0) THEN AXX= (.4D0*RSURT - 3.D0 ) **.25D0 ELSE KERRE=3 ENDIF IF(KERRE.EQ.3) GOTO 666 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 C C MISE A ZERO DE REG C IF (XNV1.LT.EPS) THEN KERRE = 2 GOTO 666 ENDIF IF (XNV2.LT.EPS) 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 LOCAL = BPSS * GLOBAL C BV1 REPRESENTE L'AXE LOCAL DES Z C BV2 REPRESENTE L'AXE LOCAL DES Y C DO 20 I=1,3 BPSS(3,I) =BV1(I) BPSS(2,I) =BV2(I) 20 CONTINUE BPSS(1,1) = (BPSS(2,2)*BPSS(3,3))-(BPSS(2,3)*BPSS(3,2)) BPSS(1,2) = (BPSS(2,3)*BPSS(3,1))-(BPSS(2,1)*BPSS(3,3)) BPSS(1,3) = (BPSS(2,1)*BPSS(3,2))-(BPSS(2,2)*BPSS(3,1)) C C CALCUL DES TERMES DE LA MATRICE DE RIGIDITE REPERE LOCAL C C C ON TESTE SUR L'IMPORTANCE DE L'ANGLE D'OUVERTURE DE LA FISSURE. SI C CE DERNIER EST INFERIEUR A UN DEGRE, ON ANNULE TOUS LES COEFFI- C CIENTS DE COUPLAGE ET ON PENALISE TOUS LES DEGRES DE LIBERTE. DANS C LE CAS CONTRAIRE, SEULS SONT PERMIS LA ROTATION AUTOUR DE L'AXE C LOCAL DES X ET L'ALLONGEMENT SUIVANT L'AXE LOCAL DES Z ,CES DEUX C DEGRES DE LIBERTE ETANT COUPLES. C IF (TETA1.LE.(0.5D0)) THEN REL(3,3) = DEUX * YOU * XPI * EPAI * RAYMO * D6 REL(4,4) = YOU * XPI * EPAI * (RAYMO**2) * D6 ELSE C DENOM = FP*FM - FMP*FMP REL(3,3) = COEF * DEUX * FM REL(3,4) = -COEF * RAYMO * FMP REL(4,3) = REL(3,4) REL(4,4) = COEF * (RAYMO**2) * FP * UNS2 ENDIF C C INITIALISATION DES TERMES DE PENALISATION C REL(1,1) = DEUX * CISA * XPI * EPAI * RAYMO * D6 REL(2,2) = REL(1,1) REL(5,5) = YOU * XPI * EPAI * (RAYMO**2) * D6 REL(6,6) = DEUX * CISA * XPI * EPAI * (RAYMO**2) * D6 C C CALCUL DE LA MATRICE (12,12) A PARTIR DE LA MATRICE (6,6) C DO 30 I=1,6 DO 301 J=1,6 REL(I+6,J+6) = REL(I,J) REL(I+6,J ) = -REL(I,J) REL(I ,J+6) = -REL(I,J) 301 CONTINUE 30 CONTINUE 666 CONTINUE RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales