deveq8
C DEVEQ8 SOURCE BP208322 18/12/20 21:15:29 10048 C & XOPM1,NB1,NB1M) 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 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: * * Benoit PRABEL, 16/02/2015 * * * *--------------------------------------------------------------------* REAL*8 Q2(NA1,*) REAL*8 XM(NA1,*),FTOTA(NA1,*) REAL*8 XOPM1(NB1,NB1,*),FAMOR(NA1,*),F2ND(NA1) * PDTS6 = PDT / 6.D0 * * . * Q = [6 + dt M^-1 C]^-1 * * i,m+1 * . * ( 6 Q + h M^-1 ( F + 4 F + F * i,m i,m+1 i,m+1/2 i,m * * . . * - C ( 4 Q + Q ) ) ) * ij j,m+1/2 j,m * C CALCUL DU 2ND MEMBRE C MATRICE M PLEINE IF(NB1M.GT.1) THEN DO 31 IA=1,NA1 AUX = 0.D0 DO 32 IB=1,NB1 AUX = AUX + XOPM1(IA,IB,3) & * ( FTOTA(IB,1) + 4.D0*(FTOTA(IB,2)-FAMOR(IB,2)) & + FTOTA(IB,3)-FAMOR(IB,3) ) 32 CONTINUE F2ND(IA) = 6.D0*Q2(IA,3) + PDT*AUX 31 CONTINUE C MATRICE M DIAGO ELSE DO 30 I=1,NA1 F2ND(I) = (6.D0*Q2(I,3)) + ( PDT & * ( FTOTA(I,1) + 4.D0*(FTOTA(I,2)-FAMOR(I,2)) & + FTOTA(I,3)-FAMOR(I,3) )/XM(I,1)) 30 CONTINUE ENDIF C MATRICE M ou C PLEINE DO 10 IA = 1,NA1 Q2(IA,1) = 0.D0 DO 10 IB = 1,NB1 Q2(IA,1) = Q2(IA,1) + (XOPM1(IA,IB,2)*F2ND(IB)) 10 CONTINUE END
© Cast3M 2003 - Tous droits réservés.
Mentions légales