Télécharger envsp1.eso

Retour à la liste

Numérotation des lignes :

envsp1
  1. C ENVSP1 SOURCE CHAT 05/01/12 23:40:54 5004
  2. SUBROUTINE ENVSP1 (MSPECT)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8(A-H,O-Z)
  5. ************************************************************************
  6. *
  7. * E N V S P 1
  8. * -----------
  9. *
  10. * FONCTION:
  11. * ---------
  12. *
  13. * CREER LE SPECTRE ENVELOPPE D'UNE SERIE DE SPECTRES D'OSCILLATEURS.
  14. *
  15. * CET OPERATEUR EST TRES ATTACHE A LA NOTION DE SPECTRE CAR IL
  16. * UTILISE L'INTERPOLATION LINEAIRE OU LOGARITHMIQUE DE FACON BIEN
  17. * SPECIFIQUE.
  18. *
  19. * MODULES UTILISES:
  20. * -----------------
  21. *
  22. -INC PPARAM
  23. -INC CCOPTIO
  24. -INC SMEVOLL
  25. -INC SMLREEL
  26. *
  27. * PARAMETRES: (E)=ENTREE (S)=SORTIE (+ = CONTENU DANS UN COMMUN)
  28. * -----------
  29. *
  30. * MSPECT (E) SPECTRES D'OSCILLATEURS EN POSITIONS 1 A "N".
  31. * (S) SPECTRE ENVELOPPE EN POSITION "N+1".
  32. *
  33. SEGMENT,MSPECT
  34. INTEGER IPEVOL(NBSPEC+1),IPAMOR(NBSPEC+1)
  35. ENDSEGMENT
  36. * IPEVOL = SPECTRES D'OSCILLATEUR (OBJETS "EVOLUTIO").
  37. * EN DERNIERE POSITION, ENVELOPPE.
  38. * IPAMOR = VALEURS DES AMORTISSEMENTS DE CHAQUE SPECTRE (OBJETS
  39. * "LISTREEL").
  40. *
  41. * VARIABLES:
  42. * ----------
  43. *
  44. PARAMETER (TOLER = 1.E-6)
  45. *
  46. * AUTEUR, DATE DE CREATION:
  47. * -------------------------
  48. *
  49. * PASCAL MANIGOT 13 SEPTEMBRE 1988
  50. *
  51. * LANGAGE:
  52. * --------
  53. *
  54. * ESOPE + FORTRAN77 + EXTENSION: DECLARATION "REAL*8".
  55. *
  56. ************************************************************************
  57. *
  58. SEGACT,MSPECT*MOD
  59. NBSPEC = IPEVOL(/1) - 1
  60. *
  61. IF (NBSPEC .LE. 0) RETURN
  62. *
  63. *
  64. * CREATION DE LA LISTE DES AMORTISSEMENTS DU SPECTRE ENVELOPPE:
  65. *
  66. IPAMO9 = IPAMOR(1)
  67. *
  68. DO 100 IB=2,NBSPEC
  69. IPAMO1 = IPAMO9
  70. IPAM0R = IPAMOR(IB)
  71. CALL FUSLRE (IPAMO1,IPAM0R, IPAMO9)
  72. IF (IB .GT. 2) THEN
  73. CALL DTLREE (IPAMO1)
  74. END IF
  75. 100 CONTINUE
  76. * END DO
  77. *
  78. IPAMOR(NBSPEC+1) = IPAMO9
  79. *
  80. CALL DIMEN1(IPAMO9,NBAMOR)
  81. *
  82. * CREATION DE L'EVOLUTION DE L'ENVELOPPE
  83. *
  84. N = NBAMOR
  85. SEGINI MEVOLL
  86. ITRUC = MEVOLL
  87. ITYEVO = 'REEL '
  88. *
  89. * RECHERCHE DES ENVELOPPES, POUR CHAQUE AMORTISSEMENT
  90. *
  91. DO 200 IB = 1,NBAMOR
  92. CALL EXTRA1(IPAMO9,IB,BETAI)
  93. *
  94. * CREATION OBJET EVOLUTION A BETA CONSTANT
  95. *
  96. N = NBSPEC
  97. SEGINI MEVOL1
  98. IEVOLB = MEVOL1
  99. *
  100. DO 300 IS = 1,NBSPEC
  101. NAMOR = IPAMOR(IS)
  102. NEVOL = IPEVOL(IS)
  103. MLREEL = NAMOR
  104. SEGACT MLREEL
  105. LDIM = PROG(/1)
  106. *
  107. * TEST POUR SAVOIR SI BETAI EST DANS NAMOR
  108. *
  109. CALL PLACE3(PROG,1,LDIM,BETAI,IR,AR)
  110. SEGDES MLREEL
  111. IF (AR.LT.TOLER) THEN
  112. * IL Y A UNE COURBE CORRESPONDANT A BETAI
  113. IF (IR.EQ.0) THEN
  114. IR = IR + 1
  115. ENDIF
  116. MEVOL2 = NEVOL
  117. SEGACT MEVOL2
  118. MEVOL1.IEVOLL(IS) = MEVOL2.IEVOLL(IR)
  119. SEGDES MEVOL2
  120. ELSE
  121. * INTERPOLATION
  122. IF (IR.EQ.0) THEN
  123. IR1 = 1
  124. IR2 = 2
  125. ELSE IF (IR.EQ.LDIM) THEN
  126. IR1 = LDIM - 1
  127. IR2 = LDIM
  128. ELSE
  129. IR1 = IR
  130. IR2 = IR + 1
  131. ENDIF
  132. CALL INTEVO(NEVOL,IR1,IR2,NAMOR,BETAI,NEVOL3)
  133. MEVOL2 = NEVOL3
  134. SEGACT MEVOL2
  135. MEVOL1.IEVOLL(IS) = MEVOL2.IEVOLL(1)
  136. SEGSUP MEVOL2
  137. ENDIF
  138. 300 CONTINUE
  139. * END DO
  140. *
  141. SEGDES MEVOL1
  142. IEVOL = MAXEVO(IEVOLB)
  143. SEGSUP MEVOL1
  144. *
  145. MEVOL2 = IEVOL
  146. SEGACT MEVOL2
  147. IEVOLL(IB) = MEVOL2.IEVOLL(1)
  148. SEGSUP MEVOL2
  149. *
  150. 200 CONTINUE
  151. * END DO
  152. *
  153. * ON RANGE L'EVOLUTION
  154. *
  155. IPEVOL(NBSPEC+1) = ITRUC
  156. *
  157. SEGDES MSPECT
  158. SEGDES MEVOLL
  159. *
  160. END
  161.  
  162.  
  163.  

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