Télécharger bant3d.eso

Retour à la liste

Numérotation des lignes :

bant3d
  1. C BANT3D SOURCE CB215821 20/11/25 13:18:35 10792
  2. SUBROUTINE BANT3D(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 3D CASE 3D CASE 3D CASE 3D CASE 3D CASE 3D CASE 3D 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.  
  44. -INC PPARAM
  45. -INC CCOPTIO
  46. -INC SMCHPOI
  47. -INC CCREEL
  48. C
  49. SEGMENT XLINE(NZET)
  50. SEGMENT SK(M)
  51. SEGMENT OMPRIK(M)
  52. SEGMENT FIK(M)
  53. C
  54. DEUPI=2.D0*XPI
  55. C
  56. M = INT (OMMAX / DOMEGA)
  57. C
  58. SEGINI SK
  59. SEGINI OMPRIK
  60. SEGINI FIK
  61. C
  62. DELDEL=DOMEGA/20.D0
  63. C
  64. NZET=XLINE(/1)
  65. C
  66. C Calcule les vecteurs d'ondes et les coefficients de fourier
  67. C (module et arguments) correspondant
  68. C
  69. CSTANT = 1.D0 / XPI
  70. DO 1 K=1,M
  71. CALL TDRAND(XRAN)
  72. FIK(K)=DEUPI*XRAN
  73. OMK=DOMEGA*(K-0.5D0)
  74. CALL TDRAND(XRAN)
  75. OMPRIK(K)=DELDEL*2.D0*(XRAN-0.5D0)+OMK
  76. C
  77. C...........................................................
  78. C
  79. C La structure de corrélation apparaît ici, sous la forme des
  80. C coefficients de sa transformée de Fourier de la fonction de
  81. C corrélation 1D équivalente :
  82. C
  83. C COVARIANCE EXPONENTIELLE 3D
  84. C
  85. SSK = CSTANT * OMK*OMK / (1.D0 + (OMK*OMK)) ** 2
  86. C
  87. C...........................................................
  88. C
  89. SK(K) = SQRT(2.D0 * SSK * DOMEGA)
  90. 1 CONTINUE
  91. C
  92. C.....CALCULATE REALIZATION
  93. C
  94. DO 3 I=1,NZET
  95. ZET = ZETMIN + DELZET * FLOAT(I-1)
  96. SUM = 0.D0
  97. DO 4 K=1,M
  98. ARG = OMPRIK(K) * ZET + FIK(K)
  99. SUM = SUM + SK(K) * COS(ARG)
  100. 4 CONTINUE
  101. C
  102. C comme on a intégré sur un demi-espace, on multiplie par 2
  103. XLINE(I)=2.D0*SUM
  104. 3 CONTINUE
  105. C
  106. SEGSUP SK
  107. SEGSUP OMPRIK
  108. SEGSUP FIK
  109. C
  110. RETURN
  111. END
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  

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