Download matp1.eso

Back to the list

   1 : C MATP1     SOURCE    CHAT      09/10/09    21:20:59     6519           
   2 :       SUBROUTINE MATP1(NBMAIL,IPGEOM,IPMAHY,IPRIG1,COEF,DELTAT,IPCK,
   3 :      S                 IPRIG2)
   4 : C-----------------------------------------------------------------------
   5 : C Calcul de la matrice en trace de charge dans le cas d'une
   6 : C formulation mixte hybride pour les equations de DARCY.
   7 : C-----------------------------------------------------------------------
   8 : C
   9 : C---------------------------
  10 : C Parametres Entree/Sortie :
  11 : C---------------------------
  12 : C
  13 : C E/  NBMAIL  : Nombre de zones élémentaires de MMODEL
  14 : C E/  IPGEOM  : Pointeur de l'objet maillage
  15 : C E/  IPMAHY  : Segment contenant le pointeur vers le meleme des
  16 : C               connectivites elements/faces pour les zones du MMODEL
  17 : C               ou on a defini DARCY.
  18 : C E/  IPRIG1  : RIGIDITE de sous type 'DARCY'
  19 : C E/  COEF    : Parametre de discretisation temporelle (theta-methode)
  20 : C E/  DELTAT  : Pas de discretisation temporelle
  21 : C E/  IPCK    : MCHAML donnant pour chaque element Ck|K|
  22 : C  /S IPRIG2  : RIGIDITE de sous type 'HYBTP'
  23 : C
  24 : C----------------------
  25 : C Variables en COMMON :
  26 : C----------------------
  27 : C
  28 : C E/  IFOMOD    : Voir CCOPTIO
  29 : C E/  NOMDD(20) : Voir CCHAMP
  30 : C E/  NOMDU(20) : Voir CCHAMP
  31 : C
  32 : C
  33 : C-----------------------------------------------------------------------
  34 : C
  35 : C Langage : ESOPE + FORTRAN77
  36 : C
  37 : C Auteurs : 08/93 F.DABBENE - Cas permanent
  38 : C           09/94 X.NOUVELLON - Extension au cas transitoire
  39 : C
  40 : C-----------------------------------------------------------------------
  41 :       IMPLICIT INTEGER(I-N)
  42 :       IMPLICIT REAL*8 (A-H,O-Z)
  43 : *                                               
  44 : -INC CCOPTIO                         
  45 : -INC CCHAMP                                                
  46 : -INC SMRIGID                                       
  47 : -INC SMCHAML                                                 
  48 : -INC SMELEME                                           
  49 : *                                               
  50 :       SEGMENT IPMAHY
  51 :          INTEGER MAHYBR(NSOUS)
  52 :       ENDSEGMENT
  53 : *                                                         
  54 : * Initialisations
  55 : *                                                       
  56 :       RI1    = IPRIG1
  57 :       MCHELM = IPCK
  58 : *                                                
  59 : * Création du chapeau de l'objet RIGIDITE
  60 : *
  61 :       NRIGE  = 6
  62 :       NRIGEL = NBMAIL
  63 :       SEGINI MRIGID
  64 :       IPRIG2 = MRIGID
  65 :       ICHOLE = 0
  66 :       IMGEO1 = 0
  67 :       IMGEO2 = 0
  68 :       IFORIG = IFOMOD
  69 :       ISUPEQ = 0
  70 :       MTYMAT = 'HYBTP   '
  71 :       NBGEOR = 0
  72 :       DO 10 IA=1,NBMAIL
  73 :          IRIGEL(4,IA) = 0
  74 :          COERIG(IA)   = 1.D0
  75 :  10   CONTINUE
  76 : *                                                          
  77 : *= BOUCLE SUR LES MAILLAGES ELEMENTAIRES,ZONE IMAIL
  78 : *                                                     
  79 :       SEGACT IPMAHY
  80 :       IF (IPCK.NE.0) SEGACT MCHELM
  81 :       SEGACT RI1
  82 :       DO 30 IMAIL=1,NBMAIL
  83 : *
  84 : * Recuperation de l'objet maillage ELTFA pour la zone IMAIL
  85 : *
  86 :          IMAHYB = MAHYBR(IMAIL)
  87 :          IF (IMAHYB.EQ.0) GOTO 30
  88 : *
  89 : * Récupération du MELVAL de la sous zone pour le MCHAML
  90 : *
  91 :          IF (IPCK.NE.0) THEN
  92 :             MCHAML = ICHAML(IMAIL)
  93 :             SEGACT MCHAML
  94 :             MELVAL = IELVAL(1)
  95 :             SEGDES MCHAML
  96 :          ELSE
  97 :             MELVAL = 0
  98 :          ENDIF
  99 : *                                                           
 100 : * Récupération des matrices masses hybrides pour la sous zone
 101 : *
 102 :          xMATR1 = RI1.IRIGEL(4,IMAIL)
 103 : *
 104 : * Création du segment DESCRIPTEUR pour la sous zone IMAIL
 105 : *
 106 :          MELEME = IMAHYB
 107 :          SEGACT MELEME
 108 :          NBDDL  = NUM(/1)
 109 :          NBELEM = NUM(/2)
 110 :          SEGDES MELEME
 111 : *
 112 :          NLIGRP = NBDDL
 113 :          NLIGRD = NBDDL
 114 :          SEGINI DESCR
 115 :          DO 20 IB=1,NLIGRP
 116 :             LISINC(IB) = NOMDD(20)
 117 :             LISDUA(IB) = NOMDU(20)
 118 :             NOELEP(IB) = IB
 119 :             NOELED(IB) = IB
 120 :  20      CONTINUE
 121 :          IDESCR = DESCR
 122 :          SEGDES DESCR
 123 : *                                                               
 124 : * Création du segment IMATRI
 125 : * Initialisation du tableau IRIGEL pour la sous zone IMAIL
 126 : *
 127 :          NELRIG = NBELEM
 128 :          SEGINI,xMATRI=xmatr1
 129 :          IRIGEL(1,IMAIL) = IMAHYB
 130 :          IRIGEL(2,IMAIL) = 0
 131 :          IRIGEL(3,IMAIL) = IDESCR
 132 :          IRIGEL(4,IMAIL) = xMATRI
 133 :          IRIGEL(5,IMAIL) = 0
 134 :          IRIGEL(6,IMAIL) = 0
 135 :          SEGDES xMATRI
 136 : *
 137 : * Calcul de RIGIDITE resultat pour la sous zone
 138 : *        
 138 :          CALL MATP2(xmatr1,COEF,DELTAT,MELVAL,xMATRI)
 139 :  30   CONTINUE
 140 :       SEGDES RI1
 141 :       IF (IPCK.NE.0) SEGDES MCHELM
 142 :       SEGDES IPMAHY
 143 :       SEGDES MRIGID
 144 : *                                                               
 145 :       RETURN                                             
 146 :       END                                              
 147 :  
 148 :  
 149 :  
 150 :  
 151 :  
 152 :  
 153 :  
 154 :  
 155 :  
 156 :  
 157 :  
 158 :  

© Cast3M 2003 - All rights reserved.
Disclaimer