1 : C DEVEQ3 SOURCE CHAT 05/01/12 22:45:04 5004
2 : SUBROUTINE DEVEQ3(Q1,Q2,NA1,XK,XASM,XM,XDT,NPAS,FTOTA,FINERT)
3 : IMPLICIT INTEGER(I-N)
4 : IMPLICIT REAL*8(A-H,O-Z)
5 : *--------------------------------------------------------------------*
6 : * *
7 : * Op{rateur DYNE : algorithme de Fu - de Vogelaere *
8 : * ________________________________________________ *
9 : * *
10 : * Calcul des d{placements g{n{ralis{s pour le second demi-pas *
11 : * de temps. *
12 : * *
13 : * Param}tres: *
14 : * *
15 : * es Q1(.,.) Vecteur des d{placements g{n{ralis{s *
16 : * e Q2(.,.) Vecteur des vitesses g{n{ralis{es *
17 : * e NA1 Nombre total d'inconnues dans la base A *
18 : * e XK Vecteur des raideurs g{n{ralis{es *
19 : * e XASM Vecteur des amortissements g{n{ralis{s *
20 : * e XM Vecteur des masses g{n{ralis{es *
21 : * e XDT Valeurs des pas de temps *
22 : * e NPAS Num{ro du pas de temps *
23 : * e FTOTA Forces ext{rieures totalis{es, sur la base A *
24 : * *
25 : * Auteur, date de cr{ation: *
26 : * *
27 : * Denis ROBERT-MOUGIN, le 19 mai 1989. *
28 : * *
29 : *--------------------------------------------------------------------*
30 : REAL*8 Q1(NA1,*),Q2(NA1,*),FINERT(NA1,*)
31 : REAL*8 XK(*),XASM(*),XM(*),XDT(*),FTOTA(NA1,*)
32 : *
33 : PDT = XDT(NPAS)
34 : AUX4 = PDT * PDT / 6.D0
35 : *
36 : * . 2
37 : * Q = Q + h Q + h /6 ( G + 2 G
38 : * i,m+1 i,m i,m i,m i,m+1/2
39 : * . .
40 : * - A ( Q + 2 Q ) )
41 : * i i,m i,m+1/2
42 : *
43 : *
44 : * Boucle sur les inconnues de la base A
45 : *
46 : DO 10 IA = 1,NA1
47 : UNSM2 = 1.D0 / ( XM(IA) - FINERT(IA,2) )
48 : UNSM3 = 1.D0 / ( XM(IA) - FINERT(IA,3) )
49 : AUX1 = XASM(IA) * ( ( Q2(IA,3) * UNSM3 )
50 : & + ( 2.D0 * Q2(IA,2) * UNSM2 ) )
51 : AUX2 = (FTOTA(IA,3)*UNSM3) + (2.D0*FTOTA(IA,2)*UNSM2)
52 : AUX3 = PDT * Q2(IA,3)
53 : Q1(IA,1) = Q1(IA,3) + AUX3 + ( AUX4 * (AUX2 - AUX1) )
54 : 10 CONTINUE
55 : * end do
56 : *
57 : END
58 :
© Cast3M 2003 - All rights reserved.
Disclaimer