newmar
C NEWMAR SOURCE CHAT 05/01/13 01:56:51 5004 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<<ON EXCLUT LE PREMIER POINT QUI NORMALEMENT CONDUIT A DES MOMENTS NULS>> C<<SAUF SI NT=1, CAS OU L'ON FAIT UN CALCUL STATIQUE >> 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<<ON CORRIGE L'INTEGRATION AU DERNIER POINT>> C<<SI NT N'EST PAS EGAL A 1 >> C<<ON MULTIPLIE XN PAR "A(=XB)" SI NT+1 >> 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
© Cast3M 2003 - Tous droits réservés.
Mentions légales