Télécharger bant1d.eso

Retour à la liste

Numérotation des lignes :

  1. C BANT1D SOURCE CHAT 05/01/12 21:31:58 5004
  2. SUBROUTINE BANT1D(DOMEGA,OMMAX,DELZET,ZETMIN,XLINE)
  3. C
  4. C-----------------------------------------------------------------------
  5. C
  6. C THIS SUBROUTINE GENERATES A CORRELATED RANDOM LINE PROCESS
  7. C USING THE METHODS OF RICE (1954); SHINOZUKA AND JAN (1972)
  8. C 1D CASE 1D CASE 1D CASE 1D CASE 1D CASE 1D CASE 1D CASE
  9. C
  10. C-----------------------------------------------------------------------
  11. C
  12. C---------------------------
  13. C Paramètres Entrée/Sortie :
  14. C---------------------------
  15. C
  16. C E/ DOMEGA : Pas de discrétisation des vecteurs d'onde (Non normalisé)
  17. C E/ OMMAX : Vecteur d'onde de coupure (adimensionné par lambda)
  18. C E/ DELZET : Longueur minimale de description des hétérogénéités
  19. C E/ ZETMIN : Abscisse curviligne minimale des projections des points
  20. C sur la ligne
  21. C
  22. C /S XLINE : Segment contenant les valeurs de la simulation sur la
  23. C ligne
  24. C
  25. C--------------------------
  26. C Variables internes :
  27. C--------------------------
  28. C
  29. C M : Nombre de vecteurs d'onde par bande
  30. C OMK : 'omega_k', vecteur d'onde d'indice k
  31. C OMPRIK : 'omega_k' + petite variation aléatoire
  32. C SSK : 'ss_k', 2 fois le module d'indice k du coef. de Fourier
  33. C en omega_k de la fonction de corrélation spatiale choisie
  34. C SK : sa contribution à l'estimateur
  35. C FIK : 'phi_k', phase aléatoire d'indice k
  36. C (argument du coef. de Fourier)
  37. C
  38. C=======================================================================
  39. C
  40. IMPLICIT INTEGER(I-N)
  41. IMPLICIT REAL*8(A-H,O-Z)
  42. C
  43. -INC CCOPTIO
  44. -INC SMCHPOI
  45. -INC CCREEL
  46. C
  47. SEGMENT XLINE(NZET)
  48. SEGMENT SK(M)
  49. SEGMENT OMPRIK(M)
  50. SEGMENT FIK(M)
  51. C
  52. DEUPI=2.D0*XPI
  53. C
  54. M = INT (OMMAX / DOMEGA)
  55. C
  56. SEGINI SK
  57. SEGINI OMPRIK
  58. SEGINI FIK
  59. C
  60. DELDEL=DOMEGA/20.D0
  61. C
  62. NZET=XLINE(/1)
  63. C
  64. C Calcule les vecteurs d'ondes et les coefficients de fourier
  65. C (module et arguments) correspondant
  66. C
  67. CSTANT = .5 / XPI
  68. DO 1 K=1,M
  69. CALL TDRAND(XRAN)
  70. FIK(K)=DEUPI*XRAN
  71. OMK=DOMEGA*(K-0.5D0)
  72. CALL TDRAND(XRAN)
  73. OMPRIK(K)=DELDEL*2.D0*(XRAN-0.5D0)+OMK
  74. C
  75. C...........................................................
  76. C
  77. C La structure de corrélation apparaît ici, sous la forme des
  78. C coefficients de sa transformée de Fourier de la fonction de
  79. C corrélation 1D équivalente :
  80. C
  81. C COVARIANCE EXPONENTIELLE 1D
  82. C
  83. SSK = CSTANT / (1.D0 + (OMK*OMK))
  84. C
  85. C...........................................................
  86. C
  87. SK(K) = SQRT(2.D0 * SSK * DOMEGA)
  88. 1 CONTINUE
  89. C
  90. C.....CALCULATE REALIZATION
  91. C
  92. DO 3 I=1,NZET
  93. ZET = ZETMIN + DELZET * FLOAT(I-1)
  94. SUM = 0.D0
  95. DO 4 K=1,M
  96. ARG = OMPRIK(K) * ZET + FIK(K)
  97. SUM = SUM + SK(K) * COS(ARG)
  98. 4 CONTINUE
  99. C
  100. C comme on a intégré sur un demi-espace, on multiplie par 2
  101. XLINE(I)=2.D0*SUM
  102. 3 CONTINUE
  103. C
  104. SEGSUP SK
  105. SEGSUP OMPRIK
  106. SEGSUP FIK
  107. C
  108. RETURN
  109. END
  110.  
  111.  
  112.  
  113.  
  114.  

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