Numérotation des lignes :

C PB342     SOURCE    CHAT      05/01/13    02:10:18     5004      SUBROUTINE PB342(X,Y,PG,FN,GR,FM,GM,ND,NP,MP,NPG,NOM2)      IMPLICIT INTEGER(I-N)      IMPLICIT REAL*8 (A-H,O-Z)C************************************************************************CC     CALCULE LES FONCTIONS DE FORME D'UN : iso-P2  P1/P0CC     ^ etaC     |n5C     |\C     | \C     |3x\C     |   \C   n6_____\n4C   a |\   |\C     | \4 | \               a=sqrt(2)C     |1x\ |2x\C     |___\|___\_______________>ksiC     0   a/2  aC     n1  n2   n3CCC************************************************************************       REAL*8 X(NPG),Y(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)      CHARACTER*4 NOM2C>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>C     write(6,*)' PB342 NOM2=',NOM2       NP2=NP*ND      A=SQRT(2.D0)      R2=SQRT(2.D0)      A1=6.D0/5.D0/A      AI=1.D0/A       IF(NPG.NE.7)THEN      WRITE(6,*)' Sub PB342 NPG ne 7 ?! on ne sait pas faire '      STOP      ENDIF C     write(6,*)' MP,NPG=',mp,npg       CALL CALUHH(X,Y,PG,NPG)      DO 1 L=1,4C     write(6,*)' X,Y,L=',X(L),Y(L),LC      FN(1,L)=0.D0      GR(1,1,L)=0.D0      GR(2,1,L)=0.D0       FN(2,L)=(A-2.D0*Y(L))/A      GR(1,2,L)=0.D0      GR(2,2,L)=-2.D0/A       FN(3,L)=0.D0      GR(1,3,L)=0.D0      GR(2,3,L)=0.D0       FN(4,L)=(2.D0*X(L)+2.D0*Y(L)-A)/A      GR(1,4,L)=2.D0/A      GR(2,4,L)=2.D0/A       FN(5,L)=0.D0      GR(1,5,L)=0.D0      GR(2,5,L)=0.D0       FN(6,L)=-(2.D0*X(L)-A)/A      GR(1,6,L)=-2.D0/A      GR(2,6,L)=0.D0       IF(NOM2.EQ.'MCP0')THEN      FM(1,L)=1.D0      GM(1,1,L)=0.D0      GM(2,1,L)=0.D0      ELSEIF(NOM2.EQ.'MCP1')THEN      FM(1,L)=5.D0/3.D0*(1.D0-(A1*X(L))-(A1*Y(L)))      FM(2,L)=-1.D0/3.D0*(1.D0-(6.D0*X(L)/A))      FM(3,L)=-1.D0/3.D0*(1.D0-(6.D0*Y(L)/A))      GM(1,1,L)=0.D0      GM(2,1,L)=0.D0      GM(1,2,L)=0.D0      GM(2,2,L)=0.D0      GM(1,3,L)=0.D0      GM(2,3,L)=0.D0      ELSEIF(NOM2.EQ.'MCF1')THEN      FM(1,L)=-AI*(X(L)+Y(L)-A)      FM(2,L)=AI*X(L)      FM(3,L)=AI*Y(L)       GM(1,1,L)=-R2/2.D0      GM(2,1,L)=-R2/2.D0      GM(1,2,L)=R2/2.D0      GM(2,2,L)=0.D0      GM(1,3,L)=0.D0      GM(2,3,L)=R2/2.D0      ENDIF C 1    CONTINUE C**** L=5 ****      L=5C     write(6,*)' X,Y,L=',X(L),Y(L),L       FN(1,L)=-(2.D0*X(L)+2.D0*Y(L)-A)/A      GR(1,1,L)=-2.D0/A      GR(2,1,L)=-2.D0/A       FN(2,L)=2.D0*X(L)/A      GR(1,2,L)=2.D0/A      GR(2,2,L)=0.D0       FN(3,L)=0.D0      GR(1,3,L)=0.D0      GR(2,3,L)=0.D0       FN(4,L)=0.D0      GR(1,4,L)=0.D0      GR(2,4,L)=0.D0       FN(5,L)=0.D0      GR(1,5,L)=0.D0      GR(2,5,L)=0.D0       FN(6,L)=2.D0*Y(L)/A      GR(1,6,L)=0.D0      GR(2,6,L)=2.D0/A       IF(NOM2.EQ.'MCP0')THEN      FM(1,L)=1.D0      GM(1,1,L)=0.D0      GM(2,1,L)=0.D0      ELSEIF(NOM2.EQ.'MCP1')THEN      FM(1,L)=5.D0/3.D0*(1.D0-(A1*X(L))-(A1*Y(L)))      FM(2,L)=-1.D0/3.D0*(1.D0-(6.D0*X(L)/A))      FM(3,L)=-1.D0/3.D0*(1.D0-(6.D0*Y(L)/A))      GM(1,1,L)=0.D0      GM(2,1,L)=0.D0      GM(1,2,L)=0.D0      GM(2,2,L)=0.D0      GM(1,3,L)=0.D0      GM(2,3,L)=0.D0      ELSEIF(NOM2.EQ.'MCF1')THEN      FM(1,L)=-AI*(X(L)+Y(L)-A)      FM(2,L)=AI*X(L)      FM(3,L)=AI*Y(L)       GM(1,1,L)=-R2/2.D0      GM(2,1,L)=-R2/2.D0      GM(1,2,L)=R2/2.D0      GM(2,2,L)=0.D0      GM(1,3,L)=0.D0      GM(2,3,L)=R2/2.D0      ENDIF  C**** L=6 ****      L=6C     write(6,*)' X,Y,L=',X(L),Y(L),L       FN(1,L)=0.D0      GR(1,1,L)=0.D0      GR(2,1,L)=0.D0       FN(2,L)=-2.D0*(X(L)+Y(L)-A)/A      GR(1,2,L)=-2.D0/A      GR(2,2,L)=-2.D0/A       FN(3,L)=(2.D0*X(L)-A)/A      GR(1,3,L)=2.D0/A      GR(2,3,L)=0.D0       FN(4,L)=2.D0*Y(L)/A      GR(1,4,L)=0.D0      GR(2,4,L)=2.D0/A       FN(5,L)=0.D0      GR(1,5,L)=0.D0      GR(2,5,L)=0.D0       FN(6,L)=0.D0      GR(1,6,L)=0.D0      GR(2,6,L)=0.D0       IF(NOM2.EQ.'MCP0')THEN      FM(1,L)=1.D0      GM(1,1,L)=0.D0      GM(2,1,L)=0.D0      ELSEIF(NOM2.EQ.'MCP1')THEN      FM(1,L)=5.D0/3.D0*(1.D0-(A1*X(L))-(A1*Y(L)))      FM(2,L)=-1.D0/3.D0*(1.D0-(6.D0*X(L)/A))      FM(3,L)=-1.D0/3.D0*(1.D0-(6.D0*Y(L)/A))      GM(1,1,L)=0.D0      GM(2,1,L)=0.D0      GM(1,2,L)=0.D0      GM(2,2,L)=0.D0      GM(1,3,L)=0.D0      GM(2,3,L)=0.D0      ELSEIF(NOM2.EQ.'MCF1')THEN      FM(1,L)=-AI*(X(L)+Y(L)-A)      FM(2,L)=AI*X(L)      FM(3,L)=AI*Y(L)       GM(1,1,L)=-R2/2.D0      GM(2,1,L)=-R2/2.D0      GM(1,2,L)=R2/2.D0      GM(2,2,L)=0.D0      GM(1,3,L)=0.D0      GM(2,3,L)=R2/2.D0      ENDIF  C**** L=7 ****      L=7C     write(6,*)' X,Y,L=',X(L),Y(L),L       FN(1,L)=0.D0      GR(1,1,L)=0.D0      GR(2,1,L)=0.D0       FN(2,L)=0.D0      GR(1,2,L)=0.D0      GR(2,2,L)=0.D0       FN(3,L)=0.D0      GR(1,3,L)=0.D0      GR(2,3,L)=0.D0       FN(4,L)=2.D0*X(L)/A      GR(1,4,L)=2.D0/A      GR(2,4,L)=0.D0       FN(5,L)=(2.D0*Y(L)-A)/A      GR(1,5,L)=0.D0      GR(2,5,L)=2.D0/A       FN(6,L)=-2.D0*(X(L)+Y(L)-A)/A      GR(1,6,L)=-2.D0/A      GR(2,6,L)=-2.D0/A       IF(NOM2.EQ.'MCP0')THEN      FM(1,L)=1.D0      GM(1,1,L)=0.D0      GM(2,1,L)=0.D0      ELSEIF(NOM2.EQ.'MCP1')THEN      FM(1,L)=5.D0/3.D0*(1.D0-(A1*X(L))-(A1*Y(L)))      FM(2,L)=-1.D0/3.D0*(1.D0-(6.D0*X(L)/A))      FM(3,L)=-1.D0/3.D0*(1.D0-(6.D0*Y(L)/A))      GM(1,1,L)=0.D0      GM(2,1,L)=0.D0      GM(1,2,L)=0.D0      GM(2,2,L)=0.D0      GM(1,3,L)=0.D0      GM(2,3,L)=0.D0      ELSEIF(NOM2.EQ.'MCF1')THEN      FM(1,L)=-AI*(X(L)+Y(L)-A)      FM(2,L)=AI*X(L)      FM(3,L)=AI*Y(L)       GM(1,1,L)=-R2/2.D0      GM(2,1,L)=-R2/2.D0      GM(1,2,L)=R2/2.D0      GM(2,2,L)=0.D0      GM(1,3,L)=0.D0      GM(2,3,L)=R2/2.D0      ENDIF  C     WRITE(6,101)C     WRITE(6,1002)FMC     WRITE(6,1002)GMC     WRITE(6,1002)FNC     WRITE(6,1002)GRC     WRITE(6,101)      RETURN 1002 FORMAT(10(1X,1PD11.4)) 1001 FORMAT(20(1X,I5)) 101  FORMAT(1X,'... SUBPB302 ... FM,GM,FN,GR ',9(10H..........)/)C      END

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