pb342
C PB342 SOURCE CHAT 05/01/13 02:10:18 5004 IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) C************************************************************************ C C CALCULE LES FONCTIONS DE FORME D'UN : iso-P2 P1/P0 C C ^ eta C |n5 C |\ C | \ C |3x\ C | \ C n6_____\n4 C a |\ |\ C | \4 | \ a=sqrt(2) C |1x\ |2x\ C |___\|___\_______________>ksi C 0 a/2 a C n1 n2 n3 C C C************************************************************************ 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 NOM2 C>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 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 DO 1 L=1,4 C write(6,*)' X,Y,L=',X(L),Y(L),L C 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=5 C 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=6 C 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=7 C 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)FM C WRITE(6,1002)GM C WRITE(6,1002)FN C WRITE(6,1002)GR C 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