1 : C DEVRCO SOURCE CHAT 05/01/12 22:47:17 5004
2 : SUBROUTINE DEVRCO(Q1,NA1,XPTB,NPLB,XPHILB,NSB,NPLSB,NA2,IDIMB,
3 : & IBASB,IPLSB,INMSB,IORSB,IND,IAROTA)
4 : IMPLICIT INTEGER(I-N)
5 : IMPLICIT REAL*8(A-H,O-Z)
6 : *--------------------------------------------------------------------*
7 : * *
8 : * Op{rateur DYNE : algorithme de Fu - de Vogelaere *
9 : * ________________________________________________ *
10 : * *
11 : * Recombinaison des d{placements aux points de choc. *
12 : * *
13 : * Param}tres: *
14 : * *
15 : * e Q1 Tableau des d{placements g{n{ralis{s. *
16 : * e NA1 Nombre total d'inconnues en base A. *
17 : * es XPTB Tableau des d{placements des points sur base B. *
18 : * e NPLB Nombre total de points intervenant dans les liaisons. *
19 : * e XPHILB Tableau des vecteurs propres aux points de liaisons. *
20 : * e NSB Nombre de sous base. *
21 : * e NPLSB Nombre total de points intervenant dans les liaisons *
22 : * dans une sous base. *
23 : * e NA2 Nombre total d'inconnues dans une sous base. *
24 : * e IDIMB Nombre total de ddl retenus. *
25 : * e IBASB Indique dans quelle sous base appartient le point de *
26 : * liaison. *
27 : * e INMSB Indique le nombre d'inconnues de la sous base. *
28 : * e IORSB Donne l'indice du premier mode dans l'ensemble des *
29 : * modes. *
30 : * e IPLSB Dans une sous base, indique la position du point de *
31 : * liaison. *
32 : * e IND Indice du pas. *
33 : * *
34 : * *
35 : * Auteur, date de cr{ation: *
36 : * *
37 : * Lionel VIVAN, le 22 Septembre 1989. *
38 : * *
39 : *--------------------------------------------------------------------*
40 : *
41 : INTEGER IBASB(*),INMSB(*),IORSB(*),IPLSB(*),IAROTA(*)
42 : REAL*8 XPHILB(NSB,NPLSB,NA2,*),Q1(NA1,*),XPTB(NPLB,4,*)
43 : *
44 : DO 10 IP = 1,NPLB
45 : ISB = IBASB(IP)
46 : NA3 = INMSB(ISB)
47 : INA1 = IORSB(ISB) - 1
48 : IPLB = IPLSB(IP)
49 : IROT = IAROTA(ISB)
50 : DO 20 ID = 1,IDIMB
51 : XRET = 0.D0
52 : DO 30 IN = 1,NA3
53 : INN = INA1 + IN
54 : XRET = XRET + XPHILB(ISB,IPLB,IN,ID) * Q1(INN,IND)
55 : 30 CONTINUE
56 : * Prise en compte des effets de rotation pour les corps rigides
57 : IF (IROT.NE.0) THEN
58 : XANGLE=Q1(IROT,IND)
59 : * Déplacements dus à la rotation
60 : XRET =XRET + XPHILB(ISB,IPLB,NA3+1,ID)* (COS(XANGLE)-1)
61 : XRET =XRET + XPHILB(ISB,IPLB,NA3+2,ID)* SIN(XANGLE)
62 : ENDIF
63 : * end do
64 : XPTB(IP,IND,ID) = XRET
65 : 20 CONTINUE
66 : * end do
67 : 10 CONTINUE
68 : * end do
69 : *
70 : END
71 :
72 :
© Cast3M 2003 - All rights reserved.
Disclaimer