capdif
C CAPDIF SOURCE FANDEUR 10/12/17 21:15:55 6427 SUBROUTINE CAPDIF (MELE,IPMAIL,IPMINT,IVAMAT,NVMAT, IPMATR) *----------------------------------------------------------------------* * CALCUL DE LA CAPACITE POUR LA FORMULATION 'DIFFUSION' * *----------------------------------------------------------------------* * ENTREES : * * ________ * * MELE Numero de l'element fini * * IPMAIL Segment MELEME actif * * IPMINT Segment MINTE actif * * IVAMAT Segment MPTVAL actif des proprietes materielles * * NVMAT Nombre de proprietes materielles (ici =1) * * * * SORTIES : * * ________ * * IPMATR Segment MRIGID actif contenant la CAPACITE * *----------------------------------------------------------------------* IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) -INC PPARAM -INC CCOPTIO -INC CCREEL -INC SMCHAML -INC SMCOORD -INC SMELEME -INC SMINTE -INC SMRIGID SEGMENT MPTVAL INTEGER IPOS(NS),NSOF(NS) INTEGER IVAL(NCOSOU) CHARACTER*16 TYVAL(NCOSOU) ENDSEGMENT SEGMENT MWKELT REAL*8 XEL(3,NBNN),XDSHP(6,NBNN),XFORM(NBNN) ENDSEGMENT MELEME = IPMAIL NBNN = NUM(/1) NBELEM = NUM(/2) MINTE = IPMINT NBPGAU = POIGAU(/1) MPTVAL = IVAMAT MELVAL = IVAL(1) NELMAT = VELCHE(/2) NPGMAT = VELCHE(/1) XMATRI = IPMATR SEGINI,MWKELT C------------------------- C Boucle sur les elements C------------------------- DO IEL = 1,NBELEM C - Recuperation des coordonnees des noeuds de l element IEL C - IEMN = MIN(IEL,NELMAT) C-- -- -- -- -- -- -- -- -- C - Boucle sur les points de Gauss C-- -- -- -- -- -- -- -- -- ISDJC = 0 DO IGAU = 1, NBPGAU C -- Calcul de la matrice Bdif et du jacobien au point de Gauss IGAU CALL NDIFF(NBNN,XEL,SHPTOT(1,1,IGAU), XDSHP,XFORM,DJAC) IF (DJAC.EQ.0.) THEN INTERR(1) = IEL GOTO 999 ENDIF IF (DJAC.LT.0.) ISDJC = ISDJC+1 C -- Recuperation de la capacite 'CDIF' (IGAU) IGMN = MIN(IGAU,NPGMAT) CDIFF = VELCHE(IGMN,IEMN) C -- Contribution a la matrice de capacite elementaire (IGAU - IEL) DJAC = ABS(DJAC) * POIGAU(IGAU) * CDIFF C-- -- -- -- -- -- -- -- -- ENDDO C-- -- -- -- -- -- -- -- -- IF (ISDJC.NE.0 .AND. ISDJC.NE.NBPGAU) THEN INTERR(1) = IEL GOTO 999 ENDIF C------------------------- ENDDO C------------------------- 999 CONTINUE SEGSUP,MWKELT RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales