Télécharger devrco.eso

Retour à la liste

Numérotation des lignes :

  1. C DEVRCO SOURCE BP208322 19/02/25 21:15:40 10120
  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. * Operateur DYNE : algorithme de Fu - de Vogelaere *
  9. * ________________________________________________ *
  10. * *
  11. * Recombinaison des deplacements aux points de choc. *
  12. * *
  13. * Param}tres: *
  14. * *
  15. * e Q1 Tableau des deplacements generalises. *
  16. * e NA1 Nombre total d'inconnues en base A. *
  17. * es XPTB Tableau des deplacements 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 creation: *
  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. c boucle sur les points de la liaison
  45. DO 10 IP = 1,NPLB
  46. ISB = IBASB(IP)
  47. NA3 = INMSB(ISB)
  48. INA1 = IORSB(ISB) - 1
  49. IPLB = IPLSB(IP)
  50. IROT = IAROTA(ISB)
  51. cbp sortie de la boucle des calculs de cos et sin
  52. IF (IROT.NE.0) THEN
  53. XANGLE=Q1(IROT,IND)
  54. XCOS1=COS(XANGLE)-1.
  55. XSIN =SIN(XANGLE)
  56. ENDIF
  57. c boucle sur les ddls
  58. DO 20 ID = 1,IDIMB
  59. XRET = 0.D0
  60. c boucle sur les modes
  61. DO 30 IN = 1,NA3
  62. INN = INA1 + IN
  63. XRET = XRET + XPHILB(ISB,IPLB,IN,ID) * Q1(INN,IND)
  64. 30 CONTINUE
  65. * Prise en compte des effets de rotation pour les corps rigides
  66. IF (IROT.NE.0) THEN
  67. cbp XANGLE=Q1(IROT,IND)
  68. * Déplacements dus à la rotation
  69. cbp XRET =XRET + XPHILB(ISB,IPLB,NA3+1,ID)* (COS(XANGLE)-1)
  70. cbp XRET =XRET + XPHILB(ISB,IPLB,NA3+2,ID)* SIN(XANGLE)
  71. XRET =XRET + XPHILB(ISB,IPLB,NA3+1,ID)*XCOS1
  72. XRET =XRET + XPHILB(ISB,IPLB,NA3+2,ID)*XSIN
  73. ENDIF
  74. XPTB(IP,IND,ID) = XRET
  75. 20 CONTINUE
  76. 10 CONTINUE
  77. *
  78. END
  79.  
  80.  
  81.  
  82.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales