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 68 : CALL TDRAND(XRAN) 69 : FIK(K)=DEUPI*XRAN 70 : OMK=DOMEGA*(K-0.5D0) 70 : CALL TDRAND(XRAN) 71 : OMPRIK(K)=DELDEL*2.D0*(XRAN-0.5D0)+OMK 72 : C 73 : C........................................................... 74 : C 75 : C La structure de corrélation apparaît ici, sous la forme des 76 : C coefficients de sa transformée de Fourier de la fonction de 77 : C corrélation 1D équivalente : 78 : C 79 : C COVARIANCE EXPONENTIELLE 1D 80 : C 81 : SSK = CSTANT / (1.D0 + (OMK*OMK)) 82 : C 83 : C........................................................... 84 : C 85 : SK(K) = SQRT(2.D0 * SSK * DOMEGA) 86 : 1 CONTINUE 87 : C 88 : C.....CALCULATE REALIZATION 89 : C 90 : DO 3 I=1,NZET 91 : ZET = ZETMIN + DELZET * FLOAT(I-1) 92 : SUM = 0.D0 93 : DO 4 K=1,M 94 : ARG = OMPRIK(K) * ZET + FIK(K) 95 : SUM = SUM + SK(K) * COS(ARG) 96 : 4 CONTINUE 97 : C 98 : C comme on a intégré sur un demi-espace, on multiplie par 2 99 : XLINE(I)=2.D0*SUM 100 : 3 CONTINUE 101 : C 102 : SEGSUP SK 103 : SEGSUP OMPRIK 104 : SEGSUP FIK 105 : C 106 : RETURN 107 : END 108 : 109 : 110 : 111 :
© Cast3M 2003 - All rights reserved.
Disclaimer