Download tufist.eso

Back to the list

   1 : C TUFIST    SOURCE    CHAT      05/01/13    03:56:20     5004           
   2 :       SUBROUTINE TUFIST(VALMAT,XDDL,CAR,DD,BPSS,XDDLOC,XSTRS,KERRE)
   3 : C=================================================================
   4 : C     CALCULE LES CONTRAINTES DU TUYAU FISSURE
   5 : C  ENTREES
   6 : C     VALMAT   = TABLEAU DE MATERIAU
   7 : C     XDDL(12) = D.D.L. DU TUYAU FISSURE  GLOBAUX
   8 : C     CAR(9)   = CARACTERISTIQUES
   9 : C                      CAR(1) = RAYON  EXTERIEUR DU TUYAU
  10 : C                      CAR(2) = EPAISSEUR DU TUYAU
  11 : C                      CAR(3),CAR(4),CAR(5)  AXE DU TUYAU
  12 : C                      CAR(6),CAR(7),CAR(8)  DIRECTION DE LA FISSU
  13 : C                      CAR(9)  = ANGLE DE LA FISSURE
  14 : C     DD(6,6)  = MATRICE DE HOOKE
  15 : C  TRAVAIL
  16 : C     BPSS(3,3)=     ...
  17 : C     XDDLOC(12) = D.D.L. LOCAUX
  18 : C  SORTIES
  19 : C     XSTRS(7) = CONTRAINTES
  20 : C                    XSTRS(1),XSTRS(2),XSTRS(3)  FORCES
  21 : C                    XSTRS(4),XSTRS(5),XSTRS(6)  MOMENTS
  22 : C                    XSTRS(7)  FACTEUR D INTENSITE DES CONTRAINTES
  23 : C     KERRE = CODE D'ERREUR CORRESPONDANT A LA POSITION RELATIVE DES
  24 : C             DEUX VECTEURS V1 ET V2 DEFINISSANT L'ELEMENT TUFI:
  25 : C             0 SI PAS DE PROBLEME, 1 SINON.
  26 : C             1 SI V2 EST NUL OU SI V1 ET V2 SONT COLINEAIRES.
  27 : C             2 SI V1 EST NUL.
  28 : C             3 SI TUYAU TROP EPAI
  29 : C     CODE EBERSOLT SEPTEMBRE 85
  30 : C     
  31 : C=================================================================
  32 :       IMPLICIT INTEGER(I-N)
  33 :       IMPLICIT REAL*8(A-H,O-Z)
  34 : C    Include contenant quelques constantes dont XPI :
  35 : -INC CCREEL
  36 :       PARAMETER(UN=1.D0,UNS2=.5D0,DEUX=2.D0)
  37 :       PARAMETER(EPS=1.D-10)
  38 : C     
  39 :       DIMENSION XDDL(*),V1(3),V2(3),BPSS(3,*),XDDLOC(*)
  40 :       DIMENSION XSTRS(*),DD(6,*),BV1(3),BV2(3),CAR(*)
  41 :       DIMENSION VALMAT(*)
  42 : C     
  43 : C   D6 = COEFFICIENT INTERVENANT POUR LES TERMES DE PENALISATION.
  44 : C     
  45 :       KERRE=0
  46 :       YOU=VALMAT(1)
  47 :       RAYO=CAR(1)
  48 :       EPAI=CAR(2)
  49 :       V1(1)=CAR(3)
  50 :       V1(2)=CAR(4)
  51 :       V1(3)=CAR(5)
  52 :       V2(1)=CAR(6)
  53 :       V2(2)=CAR(7)
  54 :       V2(3)=CAR(8)
  55 :       ANGL=CAR(9)
  56 : *     
  57 :       RAYMO= RAYO - (EPAI/DEUX)
  58 :       TETA1= ANGL*UNS2
  59 : C     CONVERSION DE TETA1 EN RADIAN
  60 :       TETA= (TETA1*XPI)/180.D0
  61 :       TESPI = TETA/XPI
  62 : C     
  63 : C     NORMALISATION DES VECTEURS V1 ET V2.
  64 : C     
  65 :       XNV1 = XZERO
  66 :       XNV2 = XZERO
  67 :       DO 5 I=1,3
  68 :          XNV1 = XNV1 + (V1(I)*V1(I))
  69 :          XNV2 = XNV2 + (V2(I)*V2(I))
  70 :  5    CONTINUE
  71 :       IF (XNV1.LT.EPS) THEN
  72 :          KERRE = 2
  73 :          GOTO 666
  74 :       ENDIF
  75 :       IF (XNV2.LT.EPS) THEN
  76 :          KERRE = 1
  77 :          GOTO 666
  78 :       ENDIF
  79 :       XNV1 = UN/SQRT(XNV1)
  80 :       XNV2 = UN/SQRT(XNV2)
  81 :       DO 10 I=1,3
  82 :          BV1(I) = V1(I)*XNV1
  83 :          BV2(I) = V2(I)*XNV2
  84 :  10   CONTINUE
  85 : C     
  86 : C     ORTHOGONALISATION ET RENORMALISATION DE V2.
  87 : C     
  88 :       PS = (BV1(1)*BV2(1))+(BV1(2)*BV2(2))+(BV1(3)*BV2(3))
  89 : C     
  90 : C     TEST SUR LA COLINEARITE DE V1 ET V2.
  91 : C     
  92 :       IF(ABS(PS).GE.(.99D0)) THEN
  93 :          KERRE = 1
  94 :          GOTO 666
  95 :       ELSE
  96 :          XNV2 = UN/SQRT(UN-(PS**2))
  97 :          DO 15 I=1,3
  98 :             BV2(I) = XNV2*(BV2(I)-(PS*BV1(I)))
  99 :  15      CONTINUE
 100 :       ENDIF
 101 : C     
 102 : C     CALCUL DE LA MATRICE DE PASSAGE
 103 : C      LOCAL = BPSS * GLOBAL
 104 : C     V1 REPRESENTE L'AXE LOCAL DES Z
 105 : C     V2 REPRESENTE L'AXE LOCAL DES Y
 106 : C     
 107 :       DO 20 I=1,3
 108 :          BPSS(1,I) =BV1(I)
 109 :          BPSS(2,I) =BV2(I)
 110 :  20   CONTINUE
 111 :       BPSS(3,1) = (BPSS(1,2)*BPSS(2,3))-(BPSS(1,3)*BPSS(2,2))
 112 :       BPSS(3,2) = (BPSS(1,3)*BPSS(2,1))-(BPSS(1,1)*BPSS(2,3))
 113 :       BPSS(3,3) = (BPSS(1,1)*BPSS(2,2))-(BPSS(1,2)*BPSS(2,1))
 114 : C     
 115 : C     TRANSFORMATION DES DDL GLOBAUX EN DDL LOCAUX X AXE TUYAU
 116 : C                                                  Y POSITION FISSURE
 117 : C                                                  Z COMPLEMENT
 117 :       CALL MATVEC(XDDL,XDDLOC,BPSS,4)
 118 : C     
 119 : C     TRANCHANT AXE Y
 120 : C     
 121 :       XSTRS(2)= DD(2,2)*(XDDLOC(8 )-XDDLOC(2))
 122 : C     
 123 : C     TRANCHANT AVEC L AXE   Z
 124 : C     
 125 :       XSTRS(3)= DD(3,3)*(XDDLOC(9 )-XDDLOC(3))
 126 : C     
 127 : C     TORSION AXE X
 128 : C     
 129 :       XSTRS(4)= DD(4,4)*(XDDLOC(10)-XDDLOC(4))
 130 : C     
 131 : C     FLEXION AXE Y
 132 : C     
 133 :       XSTRS(5)= DD(5,5)*(XDDLOC(11)-XDDLOC(5))
 134 : C     
 135 :       XX1= XDDLOC(7 )-XDDLOC(1)
 136 :       XX2= XDDLOC(12)-XDDLOC(6)
 137 : C     
 138 : C     OUVERTURE TUFI ET ROTATION TUFI
 139 : C     
 140 :       XSTRS(1)= XX1*DD(1,1)+XX2*DD(1,6)
 141 :       XSTRS(6)= XX1*DD(6,1)+XX2*DD(6,6)
 142 : C     
 143 : C     CALCUL DE A   COEFFICIENT ZAHOR
 144 : C     
 145 :       RSURT=RAYMO / EPAI
 146 :       IF(RSURT.LE.10.D0.AND.RSURT.GE.4.9D0) THEN
 147 :          AXX = ( .125D0*RSURT - .25D0 ) **.25D0
 148 :       ELSE IF(RSURT.GT.10.D0.AND.RSURT.LE.35.D0) THEN
 149 :          AXX = ( .4D0*RSURT - 3.D0 ) **.25D0
 150 :       ELSE
 151 :          KERRE=3
 152 :       ENDIF
 152 :       CALL TUFIFP(TESPI,AXX,FP,FM,FMP,FOP,FOM)
 153 : C     
 154 : C     
 155 : C     FACTEUR D INTENSITE DES CONTRAINTES
 156 : C     
 157 :       IF(TETA1.LE.(0.5D0))THEN
 158 :          XSTRS(7)=XZERO
 159 :          GOTO 666
 160 :       ENDIF
 161 :       SQQ= XPI * RAYMO * TETA
 162 :       SQQ= SQRT(SQQ)
 163 :       XEX= SQQ * FOP/(DEUX * XPI * RAYMO *EPAI)
 164 :       XFL= SQQ * FOM/(XPI * RAYMO * RAYMO *EPAI)
 165 :       XSTRS(7)=XEX * XSTRS(1) - XFL * XSTRS(6)
 166 : C     
 167 : C     CALCUL DES AIRES DE BRECHE NOTE TECHNIQUE DRE/STRE/LMA 85/695
 168 : C     
 169 :       SIGM = XSTRS(1)/( DEUX * XPI * RAYMO * EPAI )
 170 :       SIGF = XSTRS(6)/( XPI * RAYMO * RAYMO * EPAI )
 171 :       XIM =  XPI * RAYMO * RAYMO * DEUX * TETA * TETA * FP /YOU
 172 :       XIF =  XIM * ( .75D0 +(.25D0 * COS ( TETA )))
 173 :       XSTRS(8)=XIM * SIGM  - XIF * SIGF
 174 : C     
 175 :  666  CONTINUE
 176 :       RETURN
 177 :       END
 178 : 
 179 : 
 180 :  
 181 :  
 182 :  

© Cast3M 2003 - All rights reserved.
Disclaimer