calhpr
C CALHPR SOURCE CHAT 05/01/12 21:46:12 5004 IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) C************************************************************************ C CE SOUS PROGRAMME CALCULE LES POINTS D'INTEGRATION POUR UN C PRISME C*********************************************************************** C VERSION : ???? C HISTORIQUE : 20/12/99: gounand C Modification du placement des points de Gauss (cas NPG=6) C sur le triangle de base du prisme (avant, ils étaient sur les C faces) C C HISTORIQUE : C HISTORIQUE : C*********************************************************************** C C************************************************************************ DIMENSION PG(NPG) REAL*8 X(NPG),Y(NPG),Z(NPG),U(5),H(5) C DATA R2/1.414213562/ C*** R2=SQRT(2.D0) IF(NPG.EQ.1.OR.NPG.EQ.2)THEN C NG=NPG X(1)=1.D0/3.D0*R2 Y(1)=1.D0/3.D0*R2 X(2)=1.D0/3.D0*R2 Y(2)=1.D0/3.D0*R2 GO TO 30 ENDIF C IF(NPG.EQ.6)THEN NG=2 X(1)=R2/6.D0 Y(1)=R2/6.D0 X(2)=2.D0*R2/3.D0 Y(2)=R2/6.D0 X(3)=R2/6.D0 Y(3)=2.D0*R2/3.D0 X(4)=X(1) Y(4)=Y(1) X(5)=X(2) Y(5)=Y(2) X(6)=X(3) Y(6)=Y(3) GO TO 30 ENDIF WRITE(6,*)' SUB CALHPR : NPG=',NPG WRITE(6,*)' NOMBRE DE POINTS D''INTEGRATION INCORECTE POUR UN ', & 'PRISME' 30 CONTINUE C A=0.D0 B=1.D0 IF(NPG.NE.6) RETURN PG(3)=PG(1) PG(4)=PG(2) PG(5)=PG(1) PG(6)=PG(2) Z(3)=Z(1) Z(4)=Z(2) Z(5)=Z(1) Z(6)=Z(2) DO 21 L=1,NPG PG(L)=PG(L)/3.D0 21 CONTINUE C SPG=0 C DO 22 L=1,NPG C SPG=SPG+PG(L) C22 CONTINUE C WRITE(6,1002)SPG C WRITE(6,1002)H C WRITE(6,1002)U C WRITE(6,1002)Z C1002 FORMAT(10(1X,1PD11.4)) RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales