Télécharger mhybr1.eso

Retour à la liste

Numérotation des lignes :

mhybr1
  1. C MHYBR1 SOURCE CB215821 25/04/23 21:15:30 12247
  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.  
  29. -INC PPARAM
  30. -INC CCOPTIO
  31. -INC CCHAMP
  32. -INC SMRIGID
  33. -INC SMCOORD
  34. -INC SMCHAML
  35. -INC SMELEME
  36. -INC SMMODEL
  37. *
  38. SEGMENT IPMAHY
  39. INTEGER MAHYBR(NSOUS)
  40. ENDSEGMENT
  41. *
  42. *
  43. * Activation des segments MCHELM et MMODEL
  44. *
  45. MMODEL = IPMODE
  46. SEGACT MMODEL
  47. NBMAIL = KMODEL(/1)
  48. *
  49. *= Initialisation du chapeau de l'objet RIGIDITE
  50. *
  51. NRIGE = 6
  52. NRIGEL = NBMAIL
  53. SEGINI MRIGID
  54. IPRIGI = MRIGID
  55. ICHOLE = 0
  56. IMGEO1 = 0
  57. IMGEO2 = 0
  58. IFORIG = IFOUR
  59. ISUPEQ = 0
  60. IF(IPCHEL.NE.0)THEN
  61. MTYMAT = 'DARCY'
  62. ELSE
  63. MTYMAT = 'MASSE'
  64. ENDIF
  65. NBGEOR = 0
  66. *
  67. DO 10 IA=1,NBMAIL
  68. IRIGEL(4,IA) = 0
  69. COERIG(IA) = 1.D0
  70. 10 CONTINUE
  71. *
  72. *= BOUCLE SUR LES MAILLAGES ELEMENTAIRES,ZONE IMAIL
  73. *
  74. SEGACT IPMAHY
  75. DO 50 IMAIL=1,NBMAIL
  76. C
  77. C= Recuperation de l'objet maillage ELTFA pour la zone IMAIL
  78. C
  79. IMAHYB = MAHYBR(IMAIL)
  80. IF (IMAHYB.EQ.0) GOTO 50
  81. MELEME = IMAHYB
  82. SEGACT MELEME
  83. NBDDL = NUM(/1)
  84. NBELEM = NUM(/2)
  85. C
  86. C= Recuperation du pointeur MMODEL pour la zone IMAIL
  87. C
  88. IMODEL = KMODEL(IMAIL)
  89. C
  90. C= Recuperation du pointeur maillage sommet pour la zone IMAIL
  91. C
  92. IPT1= IPGEO
  93. IPT2= IPGEO
  94. IF(NBMAIL.GT.1)THEN
  95. SEGACT IPT2
  96. IPT1=IPT2.LISOUS(IMAIL)
  97. SEGDES IPT2
  98. ENDIF
  99. *
  100. *= Remplissage du segment descripteur DESCR
  101. *
  102. NLIGRP = NBDDL
  103. NLIGRD = NBDDL
  104. SEGINI DESCR
  105. DO 20 IB=1,NLIGRP
  106. LISINC(IB) = NOMDD(20)
  107. LISDUA(IB) = NOMDU(20)
  108. NOELEP(IB) = IB
  109. NOELED(IB) = IB
  110. 20 CONTINUE
  111. IDESCR = DESCR
  112. SEGDES DESCR
  113. *
  114. *= Remplissage de IRIGEL
  115. *
  116. IF (IMAIL.GT.1)THEN
  117. MRIGID = IPRIGI
  118. SEGACT MRIGID*MOD
  119. ENDIF
  120. NELRIG = NBELEM
  121. SEGINI xMATRI
  122. IRIGEL(1,IMAIL) = IMAHYB
  123. IRIGEL(2,IMAIL) = 0
  124. IRIGEL(3,IMAIL) = IDESCR
  125. IRIGEL(4,IMAIL) = xMATRI
  126. IRIGEL(5,IMAIL) = 0
  127. IRIGEL(6,IMAIL) = 0
  128. *
  129. *- Desactivation avant appel
  130. *
  131. SEGDES xMATRI,MRIGID
  132. SEGDES MELEME
  133. *
  134. IF (IPCHEL.NE.0)THEN
  135. CALL MHYBR2(IMAIL,IMODEL,IPCHEL,IPRIGI,IPT1,ILUMP)
  136. ELSE
  137. CALL MHYBR4(IMAIL,IMODEL,IPRIGI,IPT1)
  138. ENDIF
  139. IF (IERR.NE.0) GOTO 99
  140. 50 CONTINUE
  141. *
  142. *- Desactivation
  143. *
  144. 99 CONTINUE
  145. SEGDES MMODEL
  146. SEGDES IPMAHY
  147. *
  148. RETURN
  149. END
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  

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