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