Télécharger gflex4.eso

Retour à la liste

Numérotation des lignes :

  1. C GFLEX4 SOURCE CB215821 17/11/30 21:16:20 9639
  2. C
  3. C GFLEX4 SOURCE VACE 30/11/88
  4. C
  5. SUBROUTINE GFLEX4(AB,DLL,RF,CTC,DELTAT,LANBN,FREQ1,FREQ2,BETA)
  6. IMPLICIT INTEGER(I-N)
  7. IMPLICIT REAL*8(A-H,O-Z)
  8. integer p
  9. C
  10. C
  11. C =====================================================================
  12. C MODELE DE TIMOSHENKO
  13. C --------------------
  14. C
  15. C
  16. C SOUS-PROGRAMME FORTRAN APPELE PAR GREEN1 POUR CALCULER EN FLEXION
  17. C LES FONCTIONS DE GREEN FILTREES DE TIMOSHENKO
  18. C
  19. C LA FONCTION DE GREEN EST DEFINI PAR :
  20. C ------------------------------------
  21. C G(O,T) = INTEGRALE SUR K ENTRE AK1 ET AK2 DE :
  22. C SIN(OM*T)/(1+(K/(1+R))**2)*OM
  23. C G(L,T) = INTEGRALE SUR K ENTRE AK1 ET AK2 DE :
  24. C SIN(OM*T)*COS(K*XI)/(1+(K/(1+R))**2)*OM
  25. C
  26. C OM = 2*XPI*FREQ*RF/C
  27. C OM = SQRT((B-D)/2) AVEC B = BETA + (1+BETA)*K**2
  28. C D = SQRT(B**2 - 4*BETA*K**4)
  29. C R = (K**2 -OM**2)/BETA
  30. C
  31. C DEFINITION DES ARGUMENTS :
  32. C --------------------------
  33. C AB : TABLEAU 10*LANBN DONNANT LES INTEGRALES DES FONCTIONS
  34. C DE GREEN ET DE LEURS DERIVEES A CHAQUE PAS DE TEMPS
  35. C DLL : LONGUEUR DE LA POUTRE
  36. C RF : DIMENSION TRANSVERSE DE LA POUTRE
  37. C CTC : TEMPS DE CALCUL
  38. C DELTAT : PAS DE TEMPS
  39. C LANBN : NOMBRE DE PAS DE TEMPS
  40. C FREQ1 : FREQUENCE BASSE DU FILTRE
  41. C FREQ2 : FREQUENCE HAUTE DU FILTRE
  42. C BETA : COEFFICIENT DE FORME
  43. C
  44. C CREATION : 30/11/88
  45. C PROGRAMMEUR : VACELET
  46. C =====================================================================
  47. C
  48. C DEFINITION DES VARIABLES :
  49. C GREEI : INTEGRALE DONNANT LA DERIVEE IEME DE GREEN EN 0
  50. C GREELI : INTEGRALE DONNANT LA DERIVEE IEME DE GREEN EN L
  51. C
  52.  
  53. -INC PPARAM
  54. -INC CCOPTIO
  55. -INC CCREEL
  56. DIMENSION AB(10,*)
  57. C
  58. C---- CALCUL DE QUELQUES CONSTANTES
  59. DT=CTC*DELTAT/RF
  60. DTPI=DT/XPI
  61. XI=DLL/RF
  62. DK2=XPI/(8.*XI)
  63. C
  64. C---- CALCUL DE AK1 ET AK2
  65. OM12=(2.*XPI*RF*FREQ1/CTC)**2
  66. OM22=(2.*XPI*RF*FREQ2/CTC)**2
  67. SQ1=SQRT( (1.-BETA)**2*OM12**2 + 4.*BETA**2*OM12)
  68. SQ2=SQRT( (1.-BETA)**2*OM22**2 + 4.*BETA**2*OM22)
  69. AK1=SQRT( ((1.+BETA)*OM12 + SQ1)/(2.*BETA) )
  70. AK2=SQRT( ((1.+BETA)*OM22 + SQ2)/(2.*BETA) )
  71. C
  72. C
  73. C============================================
  74. C BOUCLE SUR LES PAS DE TEMPS
  75. C=============================================
  76. C
  77. DO 40 L=1,LANBN
  78. T=L*DELTAT*CTC/RF
  79. C
  80. C 1- CALCUL DES FONCTIONS DE GREEN POUR X=0
  81. C ======================================
  82. C
  83. C------ CALCUL DU PAS D INTEGRATION DK0 ET DU NOMBRE DE PAS NP0
  84. DK0=XPI/(16.*T*AK2)
  85. NP0=INT((AK2-AK1)/DK0)
  86. C
  87. C------ INITIALISATION DES GREEI
  88. GREE0 = 0.D0
  89. GREE2 = 0.D0
  90. GREE4 = 0.D0
  91. C
  92. C------ INTEGRATION SUR K
  93. C
  94. DO 10 P=0,NP0
  95. AK=AK1+P*DK0
  96. U=AK**2
  97. BU=BETA+(1.+BETA)*U
  98. DU=SQRT(BU**2-4.*BETA*(U**2))
  99. WU=SQRT((BU-DU)/2.)
  100. RU=(U-WU**2)/BETA
  101. EXPU=SIN(WU*T)/(WU*(1.+U/(1.+RU)**2))
  102. GREE0 = GREE0 + DK0*EXPU
  103. GREE2 = GREE2 + DK0*EXPU*U
  104. GREE4 = GREE4 + DK0*EXPU*U*U
  105. 10 CONTINUE
  106. C
  107. GREE0 = GREE0
  108. GREE2 = GREE2
  109. GREE4 = GREE4
  110. C
  111. C 2- CALCUL DES FONCTIONS DE GREEN POUR X=L
  112. C ======================================
  113. C
  114. C------ CALCUL DU PAS D INTEGRATION DKL ET DU NOMBRE DE PAS NPL
  115. DKL=MIN(DK0,DK2)
  116. NPL=INT((AK2-AK1)/DKL)
  117. C
  118. C------ INITIALISATION DES GREELI
  119. GREEL0 = 0.D0
  120. GREEL1 = 0.D0
  121. GREEL2 = 0.D0
  122. GREEL3 = 0.D0
  123. GREEL4 = 0.D0
  124. C
  125. C------ INTEGRATION SUR K
  126. C
  127. DO 20 P=0,NPL
  128. AK=AK1+P*DKL
  129. U=AK*AK
  130. BU=BETA+(1.+BETA)*U
  131. DU=SQRT(BU**2-4.*BETA*(U**2))
  132. WU=SQRT((BU-DU)/2.)
  133. RU=(U-WU**2)/BETA
  134. EXPU1=SIN(WU*T)*COS(AK*XI)/(WU*(1.+U/(1+RU)**2))
  135. EXPU2=SIN(WU*T)*SIN(AK*XI)/(WU*(1.+U/(1+RU)**2))
  136. GREEL0 = GREEL0 + DKL*EXPU1
  137. GREEL1 = GREEL1 + DKL*EXPU2*AK
  138. GREEL2 = GREEL2 + DKL*EXPU1*U
  139. GREEL3 = GREEL3 + DKL*EXPU2*AK*U
  140. GREEL4 = GREEL4 + DKL*EXPU1*U*U
  141. 20 CONTINUE
  142. C
  143. GREEL0 = GREEL0
  144. GREEL1 = GREEL1
  145. GREEL2 = GREEL2
  146. GREEL3 = GREEL3
  147. GREEL4 = GREEL4
  148. C
  149. C 3- CALCUL DES AB
  150. C =============
  151. C
  152. AB(1,L) = DTPI*GREE0
  153. AB(2,L) = 0.D0
  154. AB(3,L) = -DTPI*GREE2
  155. AB(4,L) = 0.D0
  156. AB(5,L) = DTPI*GREE4
  157. AB(6,L) = DTPI*GREEL0
  158. AB(7,L) = -DTPI*GREEL1
  159. AB(8,L) = -DTPI*GREEL2
  160. AB(9,L) = DTPI*GREEL3
  161. AB(10,L) = DTPI*GREEL4
  162. C
  163. 40 CONTINUE
  164. C
  165. RETURN
  166. C
  167. END
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  

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