devlm0
C DEVLM0 SOURCE BP208322 15/07/22 21:15:25 8586 C DEVLM0 IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) *--------------------------------------------------------------------* * * * Operateur DYNE * * ________________________________________________ * * * * Calcul l'acceleration sur la base A * * q" = M^-1 * (FTOTA - FAMOR) * * Distingue le cas matrice diagonal et pleine * * * * Parametres: * * * * s Q3(,) Vitesse generalise * * e XM Matrice de masse generalisee * * e XOP Matrice de masse generalisee inverse (si non diago) * * e FTOTA Forces totalisees * * e FAMOR Forces d'amortissement generalisee * * e NA1,NB1M Dimension de la matrice * * e IND Indice du pas * * * * -Auteur, date de creation: * * Benoit PRABEL, 11/02/2015 * * * *--------------------------------------------------------------------* REAL*8 Q3(NA1,*),XM(NA1,*),FTOTA(NA1,*),FAMOR(NA1,*) REAL*8 XOP(NB1,NB1,*) * * IF (NB1M.EQ.1) THEN DO 100 I=1,NA1 Q3(I,IND) = (FTOTA(I,IND)-FAMOR(I,IND)) / XM(I,1) 100 CONTINUE c ELSEIF(NB1M.NE.NA1) THEN c CALL ERREUR(832) c on ne va pas tester a chaque fois que cette subroutine est appelee ELSE DO 200 I=1,NA1 Q3(I,IND) = 0.D0 DO 200 J=1,NB1M Q3(I,IND) = Q3(I,IND) c & + XOP(I,J,3)*(FTOTA(J,IND)-FAMOR(J,IND)) & + XOP(I,J,IOP)*(FTOTA(J,IND)-FAMOR(J,IND)) 200 CONTINUE ENDIF END
© Cast3M 2003 - Tous droits réservés.
Mentions légales