C DEVEQ4 SOURCE BP208322 18/12/20 21:15:26 10048 SUBROUTINE DEVEQ4(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 vitesses generalisees pour le second demi-pas * * de temps. * * * * Param}tres: * * * * es 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 Q2(NA1,*),FINERT(NA1,*) REAL*8 XASM(NA1,*),XM(NA1,*),FTOTA(NA1,*) * PDTS6 = PDT / 6.D0 * * . 6 . * Q = ________ ( Q + h/6 ( G + 4 G + G * i,m+1 6 + A h i,m i,m+1 i,m+1/2 i,m * i * . . * - A ( 4 Q + Q ) ) ) * i i,m+1/2 i,m * * * Boucle sur les inconnues de la base A * DO 10 IA = 1,NA1 UNSM1 = 1.D0 / ( XM(IA,1) - FINERT(IA,1) ) UNSM2 = 1.D0 / ( XM(IA,1) - FINERT(IA,2) ) UNSM3 = 1.D0 / ( XM(IA,1) - FINERT(IA,3) ) AUX1 = 6.D0 / ( 6.D0 + ( XASM(IA,1) * PDT * UNSM1 ) ) AUX2 = (FTOTA(IA,1)*UNSM1) + ( 4.D0 * FTOTA(IA,2) * UNSM2 ) & + ( FTOTA(IA,3) * UNSM3 ) AUX3 = XASM(IA,1) * ( ( 4.D0 * Q2(IA,2) * UNSM2 ) & + ( Q2(IA,3) * UNSM3 ) ) AUX4 = Q2(IA,3) + ( PDTS6 * ( AUX2 - AUX3 ) ) Q2(IA,1) = AUX1 * AUX4 10 CONTINUE * end do * END