Télécharger dyne03.eso

Retour à la liste

Numérotation des lignes :

  1. C DYNE03 SOURCE PV 16/11/17 21:59:08 9180
  2. SUBROUTINE DYNE03(IRIGK,IRSCPR,MUCT,ICHOLX)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8(A-H,O-Z)
  5. ************************************************************************
  6. *
  7. * D Y N E 0 3
  8. * -----------
  9. *
  10. * FONCTION:
  11. * ---------
  12. * UTILITAIRE DE L'OPERATEUR "DYNE"
  13. * PREPARATION DU PRODUIT DE TYPE : K * U
  14. *
  15. * PARAMETRES: (E)=ENTREE (S)=SORTIE (+ = CONTENU DANS UN COMMUN)
  16. * -----------
  17. *
  18. * IRIGK (E) POINTEUR SUR L'OBJET RIGIDITE K
  19. * IRSCPR (E) POINTEUR SUR LE SEGMENT ICPR ( ACTIF )
  20. * MUCT (S) POINTEUR SUR LE SEGMENT MUCTRA ( LAISSE ACTIF )
  21. * ICHOLX (E) POINTEUR SUR LE SEGMENT MMATRI ( ACTIF )
  22. *
  23. * AUTEUR, DATE DE CREATION:
  24. * -------------------------
  25. * DENIS ROBERT, LE 16 NOVEMBRE 1988.
  26. *
  27. * LANGAGE:
  28. * --------
  29. * ESOPE + FORTRAN77
  30. *
  31. ************************************************************************
  32. *
  33. * MODULES UTILISES:
  34. *
  35. -INC CCOPTIO
  36. -INC SMRIGID
  37. -INC SMELEME
  38. -INC SMMATRI
  39. -INC SMCOORD
  40. *
  41. CHARACTER*4 NI
  42. *
  43. SEGMENT MUCTRA
  44. REAL*8 CC(NLIGMA)
  45. INTEGER MUCPO,MUCMIK,MUCDUA,MUIPOS(NLIGMA),MUCPR
  46. ENDSEGMENT
  47. SEGMENT ICPR(XCOOR(/1)/(IDIM+1))
  48. *
  49. MMATRI=ICHOLX
  50. MRIGID=IRIGK
  51. SEGACT,MRIGID
  52. NRIGEL=IRIGEL(/2)
  53. NLIGMA=0
  54. *
  55. *--- ON VERIFIE QUE LES DDL DES RIGIDITES K ET A SONT COMPATIBLES
  56. *
  57. MINCPO=IINCPO
  58. MIMIK=IIMIK
  59. ICPR=IRSCPR
  60. ININC=IMIK(/2)
  61. *
  62. *--- BOUCLE SUR LES ZONES ELEMENTAIRES DE LA RIGIDITE
  63. *
  64. DO 20 IRI=1,NRIGEL
  65. MELEME=IRIGEL(1,IRI)
  66. SEGACT,MELEME
  67. DESCR=IRIGEL(3,IRI)
  68. SEGACT,DESCR
  69. NLIGRE=LISINC(/2)
  70. IF (NLIGRE.GT.NLIGMA) NLIGMA=NLIGRE
  71. *
  72. *--- BOUCLE SUR LES LIGNES D'UNE MATRICE ELEMENTAIRE
  73. *
  74. DO 21 IN=1,NLIGRE
  75. NI=LISINC(IN)
  76. DO 22 IJ=1,ININC
  77. IF(NI.EQ.IMIK(IJ)) GO TO 23
  78. 22 CONTINUE
  79. * END DO
  80. *--- UNE COMPOSANTE DE K N'EST PAS UNE COMPOSANTE DE M
  81. MOTERR(1:4)=' K'
  82. MOTERR(5:8)=NI
  83. CALL ERREUR(304)
  84. RETURN
  85. 23 CONTINUE
  86. 21 CONTINUE
  87. * END DO
  88. *
  89. *--- BOUCLE SUR TOUS LES ELEMENTS
  90. *
  91. N1=NUM(/1)
  92. N2=NUM(/2)
  93. xMATRI=IRIGEL(4,IRI)
  94. SEGACT xMATRI
  95. DO 30 I2=1,N2
  96. *
  97. *--- BOUCLE SUR LES POINTS DE L'ELEMENT
  98. *
  99. DO 31 I1=1,N1
  100. IF(ICPR(NUM(I1,I2)).EQ.0) THEN
  101. *--- UN POINT DU SUPPORT DE K N'APPARTIENT PAS AU SUPPORT DE M
  102. INTERR(1)=ICPR(NUM(I1,I2))
  103. MOTERR(1:4)=' K'
  104. CALL ERREUR(305)
  105. RETURN
  106. ENDIF
  107. 31 CONTINUE
  108. * END DO
  109. * XMATRI=IMATTT(I2)
  110. * SEGACT,XMATRI
  111. *
  112. 30 CONTINUE
  113. * END DO
  114. * SEGDES,DESCR
  115. * SEGDES,MELEME
  116. 20 CONTINUE
  117. * END DO
  118. * SEGDES,MRIGID
  119. *
  120. *--- CREATION DU SEGMENT DE TRAVAIL MUCTRA
  121. *
  122. SEGINI,MUCTRA
  123. MUCPO=IINCPO
  124. MUCMIK=IIMIK
  125. MUCDUA=IIDUA
  126. MUCPR=IRSCPR
  127. MUCT=MUCTRA
  128. *
  129. END
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  

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