pb2103
C PB2103 SOURCE MAGN 10/05/31 21:15:13 6679 SUBROUTINE PB2103 &(XREF,X,Y,Z,PG,FN,GR,FM,GM,ND,NP,MP,NG,NGT,NPG,NOM2) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) C************************************************************************ C C CALCULE LES FONCTIONS DE FORME D'UN : PR21 C C ^ eta C | C a |n3 C /|\ C / | \ a=sqrt(2) C / | \ C |\ | \ C | \ |____\ _____>ksi C | \q a C | / \ C |/_ _\ C C zeta C************************************************************************ REAL*8 XREF(ND,NP),X(NPG),Y(NPG),Z(NPG) PARAMETER (NPG1=5,NPG2=7) REAL*8 X1(NPG1),PG1(NPG1) REAL*8 X2(NPG2),Y2(NPG2),PG2(NPG2) CHARACTER*4 NOM2 DIMENSION FN(NP,NPG),GR(ND,NP,NPG),PG(NPG) DIMENSION F2N(7,NPG2),G2R(2,7,NPG2) DIMENSION FM(MP,NPG),GM(ND,MP,NPG) DIMENSION U(5),H(5),XA(3),XB(3),XC(3),XD(3),XX(3) DIMENSION I12(21) * SAVE XA,XB,XC,XD,I12 DATA XA/3*0.25D0/,XB/0.75D0,0.25D0,0.75D0/ DATA XC/2*0.75D0,0.25D0/,XD/0.25D0,2*0.75D0/ DATA I12/1,2,3,4,5,6,19,7,16,8,17,9,18,21,10,11,12,13,14,15,20/ C*** R2=SQRT(2.D0) XREF(1,1)=0.D0 XREF(2,1)=0.D0 XREF(3,1)=0.D0 XREF(1,2)=R2/2.D0 XREF(2,2)=0.D0 XREF(3,2)=0.D0 XREF(1,3)=R2 XREF(2,3)=0.D0 XREF(3,3)=0.D0 XREF(1,4)=R2/2.D0 XREF(2,4)=R2/2.D0 XREF(3,4)=0.D0 XREF(1,5)=0.D0 XREF(2,5)=R2 XREF(3,5)=0.D0 XREF(1,6)=0.D0 XREF(2,6)=R2/2.D0 XREF(3,6)=0.D0 XREF(1,7)=0.D0 XREF(2,7)=0.D0 XREF(3,7)=0.5D0 XREF(1,8)=R2 XREF(2,8)=0.D0 XREF(3,8)=0.5D0 XREF(1,9)=0.D0 XREF(2,9)=R2 XREF(3,9)=0.5D0 XREF(1,10)=0.D0 XREF(2,10)=0.D0 XREF(3,10)=1.D0 XREF(1,11)=R2/2.D0 XREF(2,11)=0.D0 XREF(3,11)=1.D0 XREF(1,12)=R2 XREF(2,12)=0.D0 XREF(3,12)=1.D0 XREF(1,13)=R2/2.D0 XREF(2,13)=R2/2.D0 XREF(3,13)=1.D0 XREF(1,14)=0.D0 XREF(2,14)=R2 XREF(3,14)=1.D0 XREF(1,15)=0.D0 XREF(2,15)=R2/2.D0 XREF(3,15)=1.D0 XREF(1,16)=R2/2.D0 XREF(2,16)=0.D0 XREF(3,16)=0.5D0 XREF(1,17)=R2/2.D0 XREF(2,17)=R2/2.D0 XREF(3,17)=0.5D0 XREF(1,18)=0.D0 XREF(2,18)=R2/2.D0 XREF(3,18)=0.5D0 XREF(1,19)=R2/3.D0 XREF(2,19)=R2/3.D0 XREF(3,19)=0.D0 XREF(1,20)=R2/3.D0 XREF(2,20)=R2/3.D0 XREF(3,20)=1.D0 XREF(1,21)=R2/3.D0 XREF(2,21)=R2/3.D0 XREF(3,21)=0.5D0 A=0.D0 B=1.D0 LL=0 DO 1 L=1,NGT DO 2 L1=1,NG LL=LL+1 X(L)=X2(L) Y(L)=Y2(L) Z(L)=X1(L1) PG(LL)=PG1(L1)*PG2(L) C write(6,*)' LL x,y,z,pg1,pg2=', C XX(1)=X(L) XX(2)=Y(L) XX(3)=Z(L) IF(NOM2.EQ.'PRP0')THEN FM(1,LL)=1.D0 ELSEIF(NOM2.EQ.'PRP1')THEN ELSEIF(NOM2.EQ.'PFP1')THEN FM(1,LL)=(X(L)+Y(L)-R2)*(Z(L)-1.D0)/R2 FM(2,LL)=-X(L)*(Z(L)-1.D0)/R2 FM(3,LL)=-Y(L)*(Z(L)-1.D0)/R2 FM(4,LL)=-(X(L)+Y(L)-R2)*Z(L)/R2 FM(5,LL)=X(L)*Z(L)/R2 FM(6,LL)=Y(L)*Z(L)/R2 C GM(1,1,LL)=(Z(L)-1.D0)/R2 GM(2,1,LL)=(Z(L)-1.D0)/R2 GM(3,1,LL)=(X(L)+Y(L)-R2)/R2 GM(1,2,LL)=-(Z(L)-1.D0)/R2 GM(2,2,LL)=0.D0 GM(3,2,LL)=-X(L)/R2 GM(1,3,LL)=0.D0 GM(2,3,LL)=-(Z(L)-1.D0)/R2 GM(3,3,LL)=-Y(L)/R2 GM(1,4,LL)=-Z(L)/R2 GM(2,4,LL)=-Z(L)/R2 GM(3,4,LL)=-(X(L)+Y(L)-R2)/R2 GM(1,5,LL)=Z(L)/R2 GM(2,5,LL)=0.D0 GM(3,5,LL)=X(L)/R2 GM(1,6,LL)=0.D0 GM(2,6,LL)=Z(L)/R2 GM(3,6,LL)=Y(L)/R2 C ENDIF C F2N(1,L)=(1.D0-X(L)/R2-Y(L)/R2)*(1.D0-2.D0*X(L)/R2-2.D0*Y(L)/R2+ * 3.D0/2.D0*X(L)*Y(L)) F2N(2,L)=(1.D0-X(L)/R2-Y(L)/R2)*(4.D0/R2-6.D0*Y(L))*X(L) F2N(3,L)=X(L)/R2*(2.D0*X(L)/R2-1.D0+3.D0*(1.D0-X(L)/R2-Y(L)/R2) & *Y(L)/R2) F2N(4,L)=2.D0*X(L)*Y(L)*(1.D0-3.D0*(1.D0-X(L)/R2-Y(L)/R2)) F2N(5,L)=Y(L)*Y(L)-Y(L)*R2/2.D0+3.D0/2.D0*X(L)*Y(L)- * 3.D0*R2/4.D0*X(L)*X(L)*Y(L)-3.D0*R2/4.D0*X(L)*Y(L)*Y(L) F2N(6,L)=2.D0*R2*(-R2/2.D0*Y(L)*Y(L)+3.D0/2.D0*(Y(L)*Y(L)*X(L)+ * X(L)*X(L)*Y(L))-2.D0*R2*X(L)*Y(L)+Y(L)) F2N(7,L)=27.D0/2.D0*(X(L)*Y(L)-R2/2.D0*X(L)*X(L)*Y(L)- *R2/2.D0*X(L)*Y(L)*Y(L)) C G2R(1,1,L)=-3.D0*R2/4.D0*Y(L)*Y(L)+2.D0*X(L)+7./2.D0*Y(L)- * 3.D0*R2/2.D0*X(L)*Y(L)-3.D0*R2/2.D0 G2R(2,1,L)=-3.D0*R2/4.D0*X(L)*X(L)+2.D0*Y(L)+7./2.D0*X(L)- * 3.D0*R2/2.D0*X(L)*Y(L)-3.D0*R2/2.D0 G2R(1,2,L)=3.D0*R2*Y(L)*Y(L)+6.D0*R2*X(L)*Y(L)-4.D0*X(L) & -8.D0*Y(L)+2.D0*R2 G2R(2,2,L)=3.D0*R2*X(L)*X(L)+6.D0*R2*X(L)*Y(L)-8.D0*X(L) G2R(1,3,L)=-3.D0*R2/4.D0*Y(L)*Y(L)-3.D0*R2/2.D0*X(L)*Y(L)+ * 2.D0*X(L)+3.D0/2.D0*Y(L)-R2/2.D0 G2R(2,3,L)=R2/2.D0*(-3.D0/2.D0*X(L)*X(L)-3.D0*X(L)*Y(L)+ * 3.D0*R2/2.D0*X(L)) G2R(1,4,L)=3.D0*R2*Y(L)*Y(L)+6.D0*R2*X(L)*Y(L)-4.D0*Y(L) G2R(2,4,L)=3.D0*R2*X(L)*X(L)+6.D0*R2*X(L)*Y(L)-4.D0*X(L) G2R(1,5,L)=-3.D0*R2/4.D0*Y(L)*Y(L)-3.D0*R2/2.D0*X(L)*Y(L) & +3.D0/2.D0*Y(L) G2R(2,5,L)=-3.D0*R2/4.D0*X(L)*X(L)-3.D0*R2/2.D0*X(L)*Y(L) & +2.D0*Y(L)+ * 3.D0/2.D0*X(L)-R2/2.D0 G2R(1,6,L)=3.D0*R2*Y(L)*Y(L)+6.D0*R2*X(L)*Y(L)-8.D0*Y(L) G2R(2,6,L)=3.D0*R2*X(L)*X(L)+6.D0*R2*X(L)*Y(L)-8.D0*X(L) & -4.D0*Y(L)+2.D0*R2 G2R(1,7,L)=27.D0/2.D0*(-R2/2*Y(L)*Y(L)-R2*X(L)*Y(L)+Y(L)) G2R(2,7,L)=27.D0/2.D0*(-R2/2*X(L)*X(L)-R2*X(L)*Y(L)+X(L)) C DO 111 I=1,7 I1=I12(I) I7=I12(I+7) I14=I12(I+14) FN(I1,LL)=F2N(I,L)*(Z(L)-1.D0)*(2.D0*Z(L)-1.D0) FN(I7,LL)=F2N(I,L)*(-4.D0)*Z(L)*(Z(L)-1.D0) FN(I14,LL)=F2N(I,L)*Z(L)*(2.D0*Z(L)-1.D0) GR(1,I1,LL)=G2R(1,I,L)*(Z(L)-1.D0)*(2.D0*Z(L)-1.D0) GR(2,I1,LL)=G2R(2,I,L)*(Z(L)-1.D0)*(2.D0*Z(L)-1.D0) GR(3,I1,LL)=F2N(I,L)*(4.D0*Z(L)-3.D0) GR(1,I7,LL)=G2R(1,I,L)*(-4.D0)*Z(L)*(Z(L)-1.D0) GR(2,I7,LL)=G2R(2,I,L)*(-4.D0)*Z(L)*(Z(L)-1.D0) GR(3,I7,LL)=F2N(I,L)*(-8.D0*Z(L)+4.D0) GR(1,I14,LL)=G2R(1,I,L)*Z(L)*(2.D0*Z(L)-1.D0) GR(2,I14,LL)=G2R(2,I,L)*Z(L)*(2.D0*Z(L)-1.D0) GR(3,I14,LL)=F2N(I,L)*(4.D0*Z(L)-1.D0) 111 CONTINUE 2 CONTINUE 1 CONTINUE C C C WRITE(6,101) C WRITE(6,1002)FM C WRITE(6,1002)GM C write(6,*)' FN' C WRITE(6,1002)FN C write(6,*)' GR' C WRITE(6,1002)GR C WRITE(6,101) RETURN 1002 FORMAT(10(1X,1PD11.4)) 1001 FORMAT(20(1X,I5)) 101 FORMAT(1X,'... SUBPB2103 ... FM,GM,FN,GR ',9(10H..........)/) C END
© Cast3M 2003 - Tous droits réservés.
Mentions légales