Download mhybr1.eso

Back to the list

   1 : C MHYBR1    SOURCE    CHAT      11/03/16    21:27:55     6902           
   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                                                                            
 131 :             CALL MHYBR2(IMAIL,IMODEL,IPCHEL,IPRIGI,IPT1,ILUMP)
 132 :          ELSE
 132 :             CALL MHYBR4(IMAIL,IMODEL,IPRIGI,IPT1)
 133 :          ENDIF
 134 :          IF (IERR.NE.0) GOTO 99
 135 :  50   CONTINUE
 136 : *
 137 : *- Desactivation
 138 : *
 139 :  99   CONTINUE                                                                  
 140 :       SEGDES MMODEL
 141 :       SEGDES IPMAHY
 142 : *                                                                               
 143 :       RETURN                                                                    
 144 :       END                                                                       
 145 : 
 146 :  
 147 :  
 148 :  

© Cast3M 2003 - All rights reserved.
Disclaimer