Numérotation des lignes :

C PB503     SOURCE    MAGN      10/05/19    21:15:11     6676      SUBROUTINE PB503(XREF,X,Y,Z,PG,FN,GR,FM,GM,ND,NP,MP,NPG,NOM2)      IMPLICIT INTEGER(I-N)      IMPLICIT REAL*8 (A-H,O-Z)C*********************************************************************C                           PYRAMIDEC   CALCUL DES FONCTIONS DE FORME ET DIVERS POINTS D'INTEGRATIONC                VALEURS F(P)C                          Z      Y                            XREFC                          |     /                     P1 | 1.  0.  0.C                          1.   1.                        |C                          |   /                       P2 | 0.  1.  0.C                          |  /                           |C                          | /                         P3 |-1.  0.  0.C                          |/                             |C   ----------(-1.)--------|-------------1.-------->X  P4 | 0. -1.  0.C                         /                               |C                        /                             P5 | 0.  0.  1.C                       /C                      /C                    -1.C*********************************************************************      CHARACTER*4 NOM2      REAL*8 XREF(ND,NP),X(NPG),Y(NPG),Z(NPG)      DIMENSION FN(NP,NPG),GR(ND,NP,NPG),PG(NPG)      DIMENSION FM(MP,NPG),GM(ND,MP,NPG)      REAL*8 A,B,C,D,U(5),H(5)      REAL*8 CO,AL,BE,DIV C>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>      XZERO=0.0D0       XREF(1,1)=1.D0      XREF(2,1)=0.D0      XREF(3,1)=0.D0       XREF(1,2)=0.D0      XREF(2,2)=1.D0      XREF(3,2)=0.D0       XREF(1,3)=-1.D0      XREF(2,3)=0.D0      XREF(3,3)=0.D0       XREF(1,4)=0.D0      XREF(2,4)=-1.D0      XREF(3,4)=0.D0       XREF(1,5)=0.D0      XREF(2,5)=0.D0      XREF(3,5)=1.D0 C Verification des coordonnées      IF(.FALSE.)THENC      IF(.TRUE.)THEN      DO 11 L=1,NP      X(L)=XREF(1,L)      Y(L)=XREF(2,L)      Z(L)=XREF(3,L) 11   CONTINUE       DO 12 L=1,NP      DZEM = 1.D0 - Z(L) + 1.D-10      DZEM4= (1.0D0 - Z(L))*4.0D0 + 1.D-10      AUX  = X(L)+Y(L)+Z(L)-1.0D0      AUX1 =-X(L)+Y(L)+Z(L)-1.0D0      AUX2 =-X(L)-Y(L)+Z(L)-1.0D0      AUX3 = X(L)-Y(L)+Z(L)-1.0D0C      FN(1,L)=AUX1*AUX2/DZEM4      FN(2,L)=AUX2*AUX3/DZEM4      FN(3,L)=AUX*AUX3/DZEM4      FN(4,L)=AUX*AUX1/DZEM4      FN(5,L)=Z(L)      write(6,1033)L,FN(1,L),FN(2,L),FN(3,L),FN(4,L),FN(5,L) 12   CONTINUE 1033 FORMAT(1X,I4,' FN',10(1X,1PD11.4))      ENDIFC Fin Vérification       IF(NPG.EQ.1)THEN      X(1)=0.D0      Y(1)=0.D0      Z(1)=0.25D0      PG(1)=2.D0/3.D0      ENDIF      IF(NPG.EQ.5)THEN      AUX=0.5D0      H1 = 0.1531754163448146D0      H2 = 0.6372983346207416D0      PO=2.D0 / 15.D0C      X(1)=AUX      Y(1)=XZERO      Z(1)=H1      PG(1)=POC      X(2)=XZERO      Y(2)=-AUX      Z(2)=H1      PG(2)=POC      X(3)=AUX      Y(3)=XZERO      Z(3)=H1      PG(3)=POC      X(4)=XZERO      Y(4)=-AUX      Z(4)=H1      PG(4)=POC      X(5)=XZERO      Y(5)=XZERO      Z(5)=H2      PG(5)=POC      ENDIF      DO 1 L=1,NPG      DZEM = 1.D0 - Z(L)      DZEM4= (1.0D0 - Z(L))*4.0D0      AUX  = X(L)+Y(L)+Z(L)-1.0D0      AUX1 =-X(L)+Y(L)+Z(L)-1.0D0      AUX2 =-X(L)-Y(L)+Z(L)-1.0D0      AUX3 = X(L)-Y(L)+Z(L)-1.0D0C      FN(1,L)=AUX1*AUX2/DZEM4      FN(2,L)=AUX2*AUX3/DZEM4      FN(3,L)=AUX*AUX3/DZEM4      FN(4,L)=AUX*AUX1/DZEM4      FN(5,L)=Z(L)C      GR(1,1,L)=(-AUX1-AUX2)/DZEM4      GR(2,1,L)=( AUX2-AUX1)/DZEM4      GR(3,1,L)=(AUX1+AUX2+AUX1*AUX2/DZEM)/DZEM4C      GR(1,2,L)=( AUX2-AUX3)/DZEM4      GR(2,2,L)=(-AUX2-AUX3)/DZEM4      GR(3,2,L)=(AUX2+AUX3+AUX2*AUX3/DZEM)/DZEM4C      GR(1,3,L)=( AUX +AUX3)/DZEM4      GR(2,3,L)=( AUX3-AUX )/DZEM4      GR(3,3,L)=(AUX3+AUX +AUX3*AUX /DZEM)/DZEM4C      GR(1,4,L)=( AUX1-AUX )/DZEM4      GR(2,4,L)=( AUX +AUX1)/DZEM4      GR(3,4,L)=( AUX+AUX1+ AUX*AUX1/DZEM)/DZEM4C      GR(1,5,L)=XZERO      GR(2,5,L)=XZERO      GR(3,5,L)=1.0D0C       IF(NOM2.EQ.'P1P1')THEN      FM(1,L)=FN(1,L)      FM(2,L)=FN(2,L)      FM(3,L)=FN(3,L)      FM(4,L)=FN(4,L)      FM(5,L)=FN(5,L)C      GM(1,1,L)=(-AUX1-AUX2)/DZEM4      GM(2,1,L)=( AUX2-AUX1)/DZEM4      GM(3,1,L)=(AUX1+AUX2+AUX1*AUX2/DZEM)/DZEM4C      GM(1,2,L)=( AUX2-AUX3)/DZEM4      GM(2,2,L)=(-AUX2-AUX3)/DZEM4      GM(3,2,L)=(AUX2+AUX3+AUX2*AUX3/DZEM)/DZEM4C      GM(1,3,L)=( AUX +AUX3)/DZEM4      GM(2,3,L)=( AUX3-AUX )/DZEM4      GM(3,3,L)=(AUX3+AUX +AUX3*AUX /DZEM)/DZEM4C      GM(1,4,L)=( AUX1-AUX )/DZEM4      GM(2,4,L)=( AUX +AUX1)/DZEM4      GM(3,4,L)=( AUX+AUX1+ AUX*AUX1/DZEM)/DZEM4C      GM(1,5,L)=XZERO      GM(2,5,L)=XZERO      GM(3,5,L)=1.0D0C      ELSE      FM(1,L)=1.D0      GM(1,1,L)=0.D0      GM(2,1,L)=0.D0      GM(3,1,L)=0.D0      ENDIF 1    CONTINUE C>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>C     WRITE(6,100)C     WRITE(6,101)C     WRITE(6,1002)FNC     WRITE(6,1002)GRC     WRITE(6,101)      RETURN 1003 FORMAT(1X,' FN',10(1X,1PD11.4)) 1002 FORMAT(1X,'  GR',3(1X,1PD11.4)) 1001 FORMAT(20(1X,I5)) 100  FORMAT(1H1) 101  FORMAT(1X,'... SUB PB503 ... FN,GR,FOM,GM ',9(10H..........)/)      END

© Cast3M 2003 - Tous droits réservés.
Mentions légales