mhybr1
C MHYBR1 SOURCE CB215821 24/04/12 21:16:42 11897 C----------------------------------------------------------------------- C Calcul de la matrice masse dans le cas d'une formulation hybride C----------------------------------------------------------------------- C C--------------------------- C Parametres Entree/Sortie : C--------------------------- C C E/ IPMODE : Objet modele specifiant la formulation C E/ IPCHEL : MCHAML de sous type 'CARACTERISTIQUES' aux pts de Gauss C E/ IPMAHY : Segment contenant le pointeur vers le meleme des C connectivites elements/faces pour les zones du MMODEL C ou on a defini DARCY. C E/ IPGEO : pointeur sur le maillage sommet C /S IPRIGI : Matrice masse hybride C C----------------------------------------------------------------------- C C Langage : ESOPE + FORTRAN77 C C Auteurs : F.DABBENE 08/93 C 02/96 L.V.BENET : introduction de l'option 'MASSE' C C----------------------------------------------------------------------- IMPLICIT INTEGER(I-N) -INC PPARAM -INC CCOPTIO -INC CCHAMP -INC SMRIGID -INC SMCHAML -INC SMELEME -INC SMMODEL * SEGMENT IPMAHY INTEGER MAHYBR(NSOUS) ENDSEGMENT * * * Activation des segments MCHELM et MMODEL * MMODEL = IPMODE SEGACT MMODEL NBMAIL = KMODEL(/1) * *= Initialisation du chapeau de l'objet RIGIDITE * NRIGE = 6 NRIGEL = NBMAIL SEGINI MRIGID IPRIGI = MRIGID ICHOLE = 0 IMGEO1 = 0 IMGEO2 = 0 IFORIG = IFOUR ISUPEQ = 0 IF(IPCHEL.NE.0)THEN MTYMAT = 'DARCY' ELSE MTYMAT = 'MASSE' ENDIF NBGEOR = 0 * DO 10 IA=1,NBMAIL IRIGEL(4,IA) = 0 COERIG(IA) = 1.D0 10 CONTINUE * *= BOUCLE SUR LES MAILLAGES ELEMENTAIRES,ZONE IMAIL * SEGACT IPMAHY DO 50 IMAIL=1,NBMAIL C C= Recuperation de l'objet maillage ELTFA pour la zone IMAIL C IMAHYB = MAHYBR(IMAIL) IF (IMAHYB.EQ.0) GOTO 50 MELEME = IMAHYB SEGACT MELEME NBDDL = NUM(/1) NBELEM = NUM(/2) C C= Recuperation du pointeur MMODEL pour la zone IMAIL C IMODEL = KMODEL(IMAIL) C C= Recuperation du pointeur maillage sommet pour la zone IMAIL C IPT1= IPGEO IPT2= IPGEO IF(NBMAIL.GT.1)THEN SEGACT IPT2 IPT1=IPT2.LISOUS(IMAIL) SEGDES IPT2 ENDIF * *= Remplissage du segment descripteur DESCR * NLIGRP = NBDDL NLIGRD = NBDDL SEGINI DESCR DO 20 IB=1,NLIGRP LISINC(IB) = NOMDD(20) LISDUA(IB) = NOMDU(20) NOELEP(IB) = IB NOELED(IB) = IB 20 CONTINUE IDESCR = DESCR SEGDES DESCR * *= Remplissage de IRIGEL * IF (IMAIL.GT.1)THEN MRIGID = IPRIGI SEGACT MRIGID*MOD ENDIF NELRIG = NBELEM SEGINI xMATRI IRIGEL(1,IMAIL) = IMAHYB IRIGEL(2,IMAIL) = 0 IRIGEL(3,IMAIL) = IDESCR IRIGEL(4,IMAIL) = xMATRI IRIGEL(5,IMAIL) = 0 IRIGEL(6,IMAIL) = 0 * *- Desactivation avant appel * SEGDES xMATRI,MRIGID SEGDES MELEME * IF (IPCHEL.NE.0)THEN ELSE ENDIF IF (IERR.NE.0) GOTO 99 50 CONTINUE * *- Desactivation * 99 CONTINUE SEGDES MMODEL SEGDES IPMAHY * RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales