Télécharger mhybr1.eso

Retour à la liste

Numérotation des lignes :

  1. C MHYBR1 SOURCE BP208322 15/06/22 21:20:51 8543
  2. SUBROUTINE MHYBR1(IPMODE,IPCHEL,IPMAHY,IPRIGI,IPGEO,ILUMP)
  3. C-----------------------------------------------------------------------
  4. C Calcul de la matrice masse dans le cas d'une formulation hybride
  5. C-----------------------------------------------------------------------
  6. C
  7. C---------------------------
  8. C Parametres Entree/Sortie :
  9. C---------------------------
  10. C
  11. C E/ IPMODE : Objet modele specifiant la formulation
  12. C E/ IPCHEL : MCHAML de sous type 'CARACTERISTIQUES' aux pts de Gauss
  13. C E/ IPMAHY : Segment contenant le pointeur vers le meleme des
  14. C connectivites elements/faces pour les zones du MMODEL
  15. C ou on a defini DARCY.
  16. C E/ IPGEO : pointeur sur le maillage sommet
  17. C /S IPRIGI : Matrice masse hybride
  18. C
  19. C-----------------------------------------------------------------------
  20. C
  21. C Langage : ESOPE + FORTRAN77
  22. C
  23. C Auteurs : F.DABBENE 08/93
  24. C 02/96 L.V.BENET : introduction de l'option 'MASSE'
  25. C
  26. C-----------------------------------------------------------------------
  27. IMPLICIT INTEGER(I-N)
  28. -INC CCOPTIO
  29. -INC CCHAMP
  30. -INC SMRIGID
  31. -INC SMCHAML
  32. -INC SMELEME
  33. -INC SMMODEL
  34. *
  35. SEGMENT IPMAHY
  36. INTEGER MAHYBR(NSOUS)
  37. ENDSEGMENT
  38. *
  39. *
  40. * Activation des segments MCHELM et MMODEL
  41. *
  42. MMODEL = IPMODE
  43. SEGACT MMODEL
  44. NBMAIL = KMODEL(/1)
  45. *
  46. *= Initialisation du chapeau de l'objet RIGIDITE
  47. *
  48. NRIGE = 6
  49. NRIGEL = NBMAIL
  50. SEGINI MRIGID
  51. IPRIGI = MRIGID
  52. ICHOLE = 0
  53. IMGEO1 = 0
  54. IMGEO2 = 0
  55. IFORIG = IFOMOD
  56. ISUPEQ = 0
  57. IF(IPCHEL.NE.0)THEN
  58. MTYMAT = 'DARCY'
  59. ELSE
  60. MTYMAT = 'MASSE'
  61. ENDIF
  62. NBGEOR = 0
  63. *
  64. DO 10 IA=1,NBMAIL
  65. IRIGEL(4,IA) = 0
  66. COERIG(IA) = 1.D0
  67. 10 CONTINUE
  68. *
  69. *= BOUCLE SUR LES MAILLAGES ELEMENTAIRES,ZONE IMAIL
  70. *
  71. SEGACT IPMAHY
  72. DO 50 IMAIL=1,NBMAIL
  73. C
  74. C= Recuperation de l'objet maillage ELTFA pour la zone IMAIL
  75. C
  76. IMAHYB = MAHYBR(IMAIL)
  77. IF (IMAHYB.EQ.0) GOTO 50
  78. MELEME = IMAHYB
  79. SEGACT MELEME
  80. NBDDL = NUM(/1)
  81. NBELEM = NUM(/2)
  82. C
  83. C= Recuperation du pointeur MMODEL pour la zone IMAIL
  84. C
  85. IMODEL = KMODEL(IMAIL)
  86. C
  87. C= Recuperation du pointeur maillage sommet pour la zone IMAIL
  88. C
  89. IPT1= IPGEO
  90. IPT2= IPGEO
  91. IF(NBMAIL.GT.1)THEN
  92. SEGACT IPT2
  93. IPT1=IPT2.LISOUS(IMAIL)
  94. SEGDES IPT2
  95. ENDIF
  96. *
  97. *= Remplissage du segment descripteur DESCR
  98. *
  99. NLIGRP = NBDDL
  100. NLIGRD = NBDDL
  101. SEGINI DESCR
  102. DO 20 IB=1,NLIGRP
  103. LISINC(IB) = NOMDD(20)
  104. LISDUA(IB) = NOMDU(20)
  105. NOELEP(IB) = IB
  106. NOELED(IB) = IB
  107. 20 CONTINUE
  108. IDESCR = DESCR
  109. SEGDES DESCR
  110. *
  111. *= Remplissage de IRIGEL
  112. *
  113. IF (IMAIL.GT.1)THEN
  114. MRIGID = IPRIGI
  115. SEGACT MRIGID*MOD
  116. ENDIF
  117. NELRIG = NBELEM
  118. SEGINI xMATRI
  119. IRIGEL(1,IMAIL) = IMAHYB
  120. IRIGEL(2,IMAIL) = 0
  121. IRIGEL(3,IMAIL) = IDESCR
  122. IRIGEL(4,IMAIL) = xMATRI
  123. IRIGEL(5,IMAIL) = 0
  124. IRIGEL(6,IMAIL) = 0
  125. *
  126. *- Desactivation avant appel
  127. *
  128. SEGDES xMATRI,MRIGID
  129. SEGDES MELEME
  130. *
  131. IF (IPCHEL.NE.0)THEN
  132. CALL MHYBR2(IMAIL,IMODEL,IPCHEL,IPRIGI,IPT1,ILUMP)
  133. ELSE
  134. CALL MHYBR4(IMAIL,IMODEL,IPRIGI,IPT1)
  135. ENDIF
  136. IF (IERR.NE.0) GOTO 99
  137. 50 CONTINUE
  138. *
  139. *- Desactivation
  140. *
  141. 99 CONTINUE
  142. SEGDES MMODEL
  143. SEGDES IPMAHY
  144. *
  145. RETURN
  146. END
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  

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