1 : C NEWMAR SOURCE CHAT 05/01/13 01:56:51 5004 2 : SUBROUTINE NEWMAR(XL,DT,XL0,XL1,XL2, DPI,NT, XN) 3 : C 4 : C CALCUL DE LA DISTRIBUTION DE NEWMARK 5 : C 6 : C L'INTEGRATION EST REALISEE PAR UNE METHODE DES TRAPEZES 7 : C 8 : C 29/1/91 BLINDAGE CONTRE DES ZERO 9 : C 10 : IMPLICIT INTEGER(I-N) 11 : IMPLICIT REAL*8(A-H,O-Z) 12 : DIMENSION XL0(NT),XL1(NT),XL2(NT) 13 : C 14 : ALFA=0.D0 15 : C<> 16 : C< > 17 : DO 1 IT=2-1/NT,NT 18 : IF(XL0(IT).EQ.0.D0)THEN 19 : ALF=0.D0 20 : XB=1.D0 21 : ELSE 22 : Q=SQRT(1-XL1(IT)**2/XL0(IT)/XL2(IT)) 23 : OG2=SQRT(XL2(IT)/XL0(IT)) 24 : EXPMR2=EXP(-XL**2/2/XL0(IT)) 25 : XNU2=2*OG2*EXPMR2/DPI 26 : QSQPL0=Q**1.2D0*SQRT(DPI/4/XL0(IT)) 27 : XA=1-EXP(-XL*QSQPL0) 28 : XB=1-EXPMR2 29 : C 30 : ALF=XNU2*XA/XB 31 : ENDIF 32 : C 33 : ALFA=ALFA+ALF 34 : 1 CONTINUE 35 : C< > 36 : C< > 37 : C< > 38 : IF (NT.EQ.1)THEN 39 : XN=EXP(-ALFA*DT) * XB 40 : ELSE 41 : ALFA=ALFA-(1-1/NT)*ALF/2 42 : XN=EXP(-ALFA*DT) 43 : ENDIF 44 : RETURN 45 : END 46 : 47 :
© Cast3M 2003 - All rights reserved.
Disclaimer