Télécharger inosc1.eso

Retour à la liste

Numérotation des lignes :

  1. C INOSC1 SOURCE CHAT 05/01/13 00:38:32 5004
  2. CAP +AMAX en argument
  3. SUBROUTINE INOSC1(IPT,IPG,DFREQ,XSI,RMAX,TMAX,AMAX)
  4. CAP
  5. IMPLICIT INTEGER(I-N)
  6. IMPLICIT REAL*8(A-H,O-Z)
  7. C
  8. C =====================================================
  9. C =
  10. C CALCUL DU MAXIMUM DE LA REPONSE A UN SIGNAL D'UN =
  11. C OSCILLATEUR AVEC CONDITIONS INITIALES EN VITESSE =
  12. C ET EN DEPLACEMENT NULLES. =
  13. C =
  14. C CREATION : 03/06/87 =
  15. C PROGRAMMEUR : MALAVAL =
  16. C =
  17. C =====================================================
  18. C
  19. -INC CCOPTIO
  20. -INC SMLREEL
  21. -INC CCREEL
  22. LOGICAL PASCON
  23. MLREE1=IPT
  24. SEGACT MLREE1
  25. MLREE2=IPG
  26. SEGACT MLREE2
  27. NN=MLREE1.PROG(/1)
  28. C
  29. C LE SIGNAL EST-IL A PAS CONSTANT ?
  30. C
  31. PASCON=.TRUE.
  32. H=MLREE1.PROG(2)-MLREE1.PROG(1)
  33. DO 10 J=1,NN-2
  34. H1=MLREE1.PROG(J+2)-MLREE1.PROG(J+1)
  35. TEST=H1-H
  36. IF (TEST.GT.(1.E-6*H)) THEN
  37. PASCON=.FALSE.
  38. GOTO 11
  39. ENDIF
  40. 10 CONTINUE
  41. C
  42. C CALCUL DE CONSTANTES UTILES
  43. C
  44. 11 W=2*XPI*DFREQ
  45. W2=W*W
  46. A=W*SQRT(1-XSI*XSI)
  47. B=2*XSI/W
  48. C=(2*XSI*XSI-1)/A
  49. D=XSI*W
  50. E=W2/A
  51. F=D/A
  52. VITEP=0.D0
  53. DEPP=0.D0
  54. RMAX=0.D0
  55. CAP
  56. ACCP=0.D0
  57. AMAX=0.D0
  58. CAP
  59. C TMAX=0.D0
  60. C CREATION DE LA BOUCLE
  61. C
  62. S=MLREE2.PROG(1)
  63. H1=MLREE1.PROG(1)
  64. DO 100 I=1,NN-1
  65. C
  66. C DIFFERENCE ENTRE 2 ACCELERATIONS SUCCESSIVES : G
  67. C
  68. T=MLREE2.PROG(I+1)
  69. G=T-S
  70. IF (PASCON.AND.I.NE.1) GOTO 12
  71. C
  72. C DIFFERENCE ENTRE 2 TEMPS SUCCESSIFS : H
  73. C
  74. H2=MLREE1.PROG(I+1)
  75. H=H2-H1
  76. P=EXP(-D*H)
  77. WH=A*H
  78. Q=COS(WH)
  79. R=SIN(WH)
  80. C
  81. C CALCUL EXPLICITE DU DEPLACEMENT
  82. C
  83. PSA=P/A
  84. UNSW2=1/W2
  85. QPFR=Q+F*R
  86. *
  87. 12 O=G/H
  88. DEP=PSA*((A*Q+D*R)*DEPP+R*VITEP)
  89. |+UNSW2*(P*(O*(B*Q+C*R)-S*QPFR)+T-B*O)
  90. VITEP=PSA*((-W2)*R*DEPP+((-D)*R+A*Q)*
  91. |VITEP)+UNSW2*(P*((-O)*QPFR+S*E*R)+O)
  92.  
  93. DEPP=DEP
  94. CAP
  95. ACCP=-W2*DEP-2*D*VITEP
  96. ABSO1=ABS(ACCP)
  97. IF (ABSO1.GT.AMAX) AMAX=ABSO1
  98. CAP
  99. ABSO=ABS(DEPP)
  100. IF (ABSO.GT.RMAX) THEN
  101. RMAX=ABSO
  102. TMAX=MLREE1.PROG(I)
  103. ENDIF
  104. S=T
  105. H1=H2
  106. C
  107. 100 CONTINUE
  108. SEGDES MLREE1
  109. SEGDES MLREE2
  110. RETURN
  111. END
  112.  
  113.  
  114.  
  115.  
  116.  

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