bant2d
C BANT2D SOURCE CB215821 20/11/25 13:18:34 10792 C C----------------------------------------------------------------------- C C THIS SUBROUTINE GENERATES A CORRELATED RANDOM LINE PROCESS C USING THE METHODS OF RICE (1954); SHINOZUKA AND JAN (1972) C 2D CASE 2D CASE 2D CASE 2D CASE 2D CASE 2D CASE 2D CASE C C----------------------------------------------------------------------- C C--------------------------- C Paramètres Entrée/Sortie : C--------------------------- C C E/ DOMEGA : Pas de discrétisation des vecteurs d'onde (Non normalisé) C E/ OMMAX : Vecteur d'onde de coupure (adimensionné par lambda) C E/ DELZET : Longueur minimale de description des hétérogénéités C E/ ZETMIN : Abscisse curviligne minimale des projections des points C sur la ligne C C /S XLINE : Segment contenant les valeurs de la simulation sur la C ligne C C-------------------------- C Variables internes : C-------------------------- C C M : Nombre de vecteurs d'onde par bande C OMK : 'omega_k', vecteur d'onde d'indice k C OMPRIK : 'omega_k' + petite variation aléatoire C SSK : 'ss_k', 2 fois le module d'indice k du coef. de Fourier C en omega_k de la fonction de corrélation spatiale choisie C SK : sa contribution à l'estimateur C FIK : 'phi_k', phase aléatoire d'indice k C (argument du coef. de Fourier) C C======================================================================= C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) C -INC PPARAM -INC CCOPTIO -INC SMCHPOI -INC CCREEL C SEGMENT XLINE(NZET) SEGMENT SK(M) SEGMENT OMPRIK(M) SEGMENT FIK(M) C DEUPI=2.D0*XPI C M = INT (OMMAX / DOMEGA) C SEGINI SK SEGINI OMPRIK SEGINI FIK C DELDEL=DOMEGA/20.D0 C NZET=XLINE(/1) C C Calcule les vecteurs d'ondes et les coefficients de fourier C (module et arguments) correspondant C CSTANT = 0.25D0 DO 1 K=1,M FIK(K)=DEUPI*XRAN OMK=DOMEGA*(K-0.5D0) OMPRIK(K)=DELDEL*2.D0*(XRAN-0.5D0)+OMK C C........................................................... C C La structure de corrélation apparaît ici, sous la forme des C coefficients de sa transformée de Fourier de la fonction de C corrélation 1D équivalente: C C COVARIANCE EXPONENTIELLE 2D C SSK = CSTANT * OMK / (1.D0 + (OMK*OMK)) ** 1.5D0 C C........................................................... C SK(K) = SQRT(2.D0 * SSK * DOMEGA) 1 CONTINUE C C.....CALCULATE REALIZATION C DO 3 I=1,NZET ZET=ZETMIN+DELZET*FLOAT(I-1) SUM=0.D0 DO 4 K=1,M ARG=OMPRIK(K)*ZET+FIK(K) SUM=SUM+SK(K)*COS(ARG) 4 CONTINUE C C comme on a intégré sur un demi-espace, on multiplie par 2 XLINE(I)=2.D0*SUM 3 CONTINUE C SEGSUP SK SEGSUP OMPRIK SEGSUP FIK C RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales