Télécharger mhybr1.eso

Retour à la liste

Numérotation des lignes :

mhybr1
  1. C MHYBR1 SOURCE PV090527 26/04/30 21:15:55 12529
  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. rigrel=0
  122. SEGINI xMATRI
  123. IRIGEL(1,IMAIL) = IMAHYB
  124. IRIGEL(2,IMAIL) = 0
  125. IRIGEL(3,IMAIL) = IDESCR
  126. IRIGEL(4,IMAIL) = xMATRI
  127. IRIGEL(5,IMAIL) = 0
  128. IRIGEL(6,IMAIL) = 0
  129. *
  130. *- Desactivation avant appel
  131. *
  132. SEGDES xMATRI,MRIGID
  133. SEGDES MELEME
  134. *
  135. IF (IPCHEL.NE.0)THEN
  136. CALL MHYBR2(IMAIL,IMODEL,IPCHEL,IPRIGI,IPT1,ILUMP)
  137. ELSE
  138. CALL MHYBR4(IMAIL,IMODEL,IPRIGI,IPT1)
  139. ENDIF
  140. IF (IERR.NE.0) GOTO 99
  141. 50 CONTINUE
  142. *
  143. *- Desactivation
  144. *
  145. 99 CONTINUE
  146. SEGDES MMODEL
  147. SEGDES IPMAHY
  148. *
  149. RETURN
  150. END
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  

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