C NEWMAR SOURCE CHAT 05/01/13 01:56:51 5004 SUBROUTINE NEWMAR(XL,DT,XL0,XL1,XL2, DPI,NT, XN) C C CALCUL DE LA DISTRIBUTION DE NEWMARK C C L'INTEGRATION EST REALISEE PAR UNE METHODE DES TRAPEZES C C 29/1/91 BLINDAGE CONTRE DES ZERO C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) DIMENSION XL0(NT),XL1(NT),XL2(NT) C ALFA=0.D0 C<> C<> DO 1 IT=2-1/NT,NT IF(XL0(IT).EQ.0.D0)THEN ALF=0.D0 XB=1.D0 ELSE Q=SQRT(1-XL1(IT)**2/XL0(IT)/XL2(IT)) OG2=SQRT(XL2(IT)/XL0(IT)) EXPMR2=EXP(-XL**2/2/XL0(IT)) XNU2=2*OG2*EXPMR2/DPI QSQPL0=Q**1.2D0*SQRT(DPI/4/XL0(IT)) XA=1-EXP(-XL*QSQPL0) XB=1-EXPMR2 C ALF=XNU2*XA/XB ENDIF C ALFA=ALFA+ALF 1 CONTINUE C<> C<> C<> IF (NT.EQ.1)THEN XN=EXP(-ALFA*DT) * XB ELSE ALFA=ALFA-(1-1/NT)*ALF/2 XN=EXP(-ALFA*DT) ENDIF RETURN END