1 : C TUYCAR SOURCE AM 13/12/16 21:16:11 7825 2 : SUBROUTINE TUYCAR(CARAC,CISA,VX,VY,VZ,KERRE,ICAS) 3 : C----------------------------------------------------------------------- 4 : C ROUTINE DE CALCUL DES CARACTERISTIQUES GEOMETRIQUES DE L ELEMENT DE 5 : C TUYAU DROIT OU COUDE 6 : C 7 : C ENTREE 8 : C CARAC TABLEAU DE CARACTERISTIQUES GEOMETRIQUES 9 : C DONNEES PAR L UTILISATEUR 10 : C AM 11/12/13 ON PASSE AUSSI LE COEFF DE CISAILLEMENT 11 : C ET LES COMPOSANTES DU VECTEUR 12 : C POUR POUVOIR UTILISER TUYCAR DANS DIFFERENTES 13 : C SITUATIONS 14 : C ICAS ON CALCULE PLUS OU MOINS DE CARACTERISTIQUES 15 : C SELON LES CAS : 16 : C 0 = VECTEUR LOCAL 17 : C 1 = 0 + SECTION + INERTIES NON MODIFIEES 18 : C 2 = 0 + SECTION + INERTIES MODIFIEES 19 : C 20 : C SORTIE 21 : C CARAC CARACTERISTIQUES DE LA POUTRE EQUIVALENTE AU TUYAU 22 : C KERRE CODE D ERREUR O SI PAS DE PB 23 : C 24 : C JUIN 85 MILLARD 25 : C----------------------------------------------------------------------- 26 : IMPLICIT INTEGER(I-N) 27 : IMPLICIT REAL*8(A-H,O-Z) 28 : -INC CCREEL 29 : -INC CCOPTIO 30 : * 31 : DIMENSION CARAC(*) 32 : KERRE=0 33 : C 34 : C SI 'RACO' EST PRESENT, IL FAUT UN VECTEUR 35 : C 36 : IF(CARAC(3).GT.1.D-9.AND.ABS(VX).LT.1.D-9.AND. 37 : 1 ABS(VY).LT.1.D-9.AND.ABS(VZ).LT.1.D-9) THEN 38 : MOTERR(1:4)='VECT' 39 : MOTERR(5:8)='CARA' 40 : KERRE=77 41 : RETURN 42 : ENDIF 43 : C 44 : C VECTEUR LOCAL 45 : C 46 : CARAC(7)=VX 47 : CARAC(8)=VY 48 : CARAC(9)=VZ 49 : IF(ICAS.EQ.0) RETURN 50 : C 51 : C CALCUL DES SECTION ET INERTIES 52 : C 53 : C AM 11/12/13 ON INTRODUIT LE COEFFICIENT CISA COMME DANS TUYKAR 54 : C 55 : EPAIS=CARAC(1) 56 : REXT=CARAC(2) 57 : RINT=REXT-EPAIS 58 : RACO=CARAC(3) 59 : XIN=XPI*(REXT**4-RINT**4)*0.25D00 60 : CARAC(4)=XPI*(REXT**2-RINT**2) 61 : CARAC(5)=CARAC(4)*0.5D0*CISA 62 : CARAC(6)=CARAC(5) 63 : CARAC(1)=2.D00*XIN 64 : IF(ICAS.EQ.2) GO TO 20 65 : CARAC(2)=XIN 66 : CARAC(3)=XIN 67 : RETURN 68 : 20 CONTINUE 69 : XK=1.D00 70 : IF(RACO.EQ.0.D00) GO TO 10 71 : XLAM=EPAIS*RACO*4.D00/(REXT+RINT)**2 72 : IF(XLAM.EQ.0.D00) GO TO 999 73 : XK=1.65D00/XLAM 74 : IF(XK.LT.1.D00) XK=1.D00 75 : 10 CONTINUE 76 : CARAC(2)=XIN/XK 77 : CARAC(3)=CARAC(2) 78 : RETURN 79 : 999 KERRE=1 80 : RETURN 81 : END 82 : 83 : 84 : 85 : 86 : 87 :
© Cast3M 2003 - All rights reserved.
Disclaimer