Télécharger lispep.eso

Retour à la liste

Numérotation des lignes :

lispep
  1. C LISPEP SOURCE CHAT 05/01/13 01:22:41 5004
  2. SUBROUTINE LISPEP(XE,CAR,XDDL,XEL,BPSS,XDDLOC,NPOINT,EPS)
  3. C=======================================================================
  4. C
  5. C ENTREES
  6. C XE(3,4) = COORDONNEES DE LA POUTRE LINESPRING
  7. C CAR = STOCKE LES CARACTERISTIQUES
  8. C CAR(3,4,5) = VECTEUR ORIENTANT LES NOEUDS 1 4
  9. C CAR(8,9,10) = VECTEUR ORIENTANT LES NOEUDS 2 3
  10. C XDDL(24) = D.D.L. DU LINESPRING
  11. C NPOINT = NOMBRE DE POINTS DE CONTRAINTES
  12. C TABLEAU DE TRAVAIL
  13. C XEL(3,3) = COORDONNEES LOCALES
  14. C BPSS(3,3) = MATRICE DE PASSAGE
  15. C XDDLOC(24) = D.D.L. LOCAUX
  16. C SORTIES
  17. C EPS(NPOINT*6)= CONTRAINTES LINESPRING
  18. C=======================================================================
  19. IMPLICIT INTEGER(I-N)
  20. IMPLICIT REAL*8(A-H,O-Z)
  21. PARAMETER(XZER=0.D0,UNDEMI=.5D0)
  22. PARAMETER(X774=.774596669241483D0)
  23. C
  24. DIMENSION XE(3,*),EPS(*),V1(3),V2(3),BPSS(3,*),XEL(3,*)
  25. DIMENSION S(3),XDDL(*),XDDLOC(*),CAR(*)
  26. C
  27. V1(1)=CAR(3)
  28. V1(2)=CAR(4)
  29. V1(3)=CAR(5)
  30. V2(1)=CAR(8)
  31. V2(2)=CAR(9)
  32. V2(3)=CAR(10)
  33. C
  34. IF(NPOINT.EQ.1) THEN
  35. S(1)= XZER
  36. ELSE IF(NPOINT.EQ.3) THEN
  37. S(1)=-X774
  38. S(2)= XZER
  39. S(3)= X774
  40. ENDIF
  41. C
  42. NPOIN6=6*NPOINT
  43. C
  44. C MISE A ZERO DES DEFORMATIONS DES INDICATEURS D ERREURS ET DES D.D.
  45. C
  46. DO 90 IA=1,NPOIN6
  47. EPS(IA)=XZER
  48. 90 CONTINUE
  49. C
  50. C
  51. C EXTRACTION DE LA MATRICE DE PASSAGE
  52. C
  53. DO 100 IA=1,3
  54. XEL(IA,1)=XE(IA,1)
  55. XEL(IA,2)=XE(IA,2)
  56. XEL(IA,3)=XE(IA,1)+(V1(IA)+V2(IA))*UNDEMI
  57. 100 CONTINUE
  58. CALL VPAST(XEL,BPSS)
  59. CALL MATVEC(XDDL,XDDLOC,BPSS,8)
  60. C
  61. C BOUCLE SUR LES POINTS
  62. C
  63. DO 200 IA=1,NPOINT
  64. H1=UNDEMI-UNDEMI*S(IA)
  65. H2=UNDEMI+UNDEMI*S(IA)
  66. C
  67. C REMPLISSAGE DES DEFORMATIONS
  68. C
  69. EPXZ =(XDDLOC(1 )-XDDLOC(19))*H1+(XDDLOC(7 )-XDDLOC(13))*H2
  70. EPYZ =(XDDLOC(2 )-XDDLOC(20))*H1+(XDDLOC(8 )-XDDLOC(14))*H2
  71. DD =(XDDLOC(3 )-XDDLOC(21))*H1+(XDDLOC(9 )-XDDLOC(15))*H2
  72. RT =(XDDLOC(4 )-XDDLOC(22))*H1+(XDDLOC(10)-XDDLOC(16))*H2
  73. RTZZ =(XDDLOC(6 )-XDDLOC(24))*H1+(XDDLOC(12)-XDDLOC(18))*H2
  74. IX=6*(IA-1)
  75. EPS(IX+1)=DD
  76. EPS(IX+2)=EPXZ
  77. EPS(IX+3)=EPYZ
  78. EPS(IX+4)=RT
  79. EPS(IX+5)=RTZZ
  80. 200 CONTINUE
  81. *
  82. RETURN
  83. END
  84.  
  85.  

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