C DEVEQ3 SOURCE BP208322 18/12/20 21:15:25 10048 SUBROUTINE DEVEQ3(Q1,Q2,NA1,XASM,XM,PDT,NPAS,FTOTA,FINERT) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) *--------------------------------------------------------------------* * * * Operateur DYNE : algorithme de Fu - de Vogelaere * * ________________________________________________ * * * * Calcul des deplacements generalises pour le second demi-pas * * de temps. * * * * Param}tres: * * * * es Q1(.,.) Vecteur des deplacements generalises * * e Q2(.,.) Vecteur des vitesses generalisees * * e NA1 Nombre total d'inconnues dans la base A * * e XASM Vecteur des amortissements generalises * * e XM Vecteur des masses generalisees * * e PDT pas de temps * * e NPAS Numero du pas de temps * * e FTOTA Forces exterieures totalisees, sur la base A * * * * Auteur, date de creation: * * * * Denis ROBERT-MOUGIN, le 19 mai 1989. * * * *--------------------------------------------------------------------* REAL*8 Q1(NA1,*),Q2(NA1,*),FINERT(NA1,*) REAL*8 XASM(NA1,*),XM(NA1,*),FTOTA(NA1,*) * AUX4 = PDT * PDT / 6.D0 * * . 2 * Q = Q + h Q + h /6 ( G + 2 G * i,m+1 i,m i,m i,m i,m+1/2 * . . * - A ( Q + 2 Q ) ) * i i,m i,m+1/2 * * * Boucle sur les inconnues de la base A * DO 10 IA = 1,NA1 UNSM2 = 1.D0 / ( XM(IA,1) - FINERT(IA,2) ) UNSM3 = 1.D0 / ( XM(IA,1) - FINERT(IA,3) ) AUX1 = XASM(IA,1) * ( ( Q2(IA,3) * UNSM3 ) & + ( 2.D0 * Q2(IA,2) * UNSM2 ) ) AUX2 = (FTOTA(IA,3)*UNSM3) + (2.D0*FTOTA(IA,2)*UNSM2) AUX3 = PDT * Q2(IA,3) Q1(IA,1) = Q1(IA,3) + AUX3 + ( AUX4 * (AUX2 - AUX1) ) 10 CONTINUE * end do * END