kmlstb
C KMLSTB SOURCE FANDEUR 22/01/03 21:15:24 11136 & IRET,GA,EPS,EPSD,ALFA) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) -INC PPARAM -INC CCOPTIO -INC CCGEOME -INC SMCOORD -INC SMCHPOI -INC SIZFFB POINTEUR IZFF1.IZFFM,IZHR1.IZHR -INC SMELEME POINTEUR MACRO1.MELEME,MELSTB.MELEME,MELEMC.MELEME DIMENSION XA(3,27) DIMENSION GA(8),EPS(8),EPSD(8) PARAMETER (NBE=5) CHARACTER*8 LISTE(NBE),TYPE,LIST(NBE) DATA LISTE/'TRI6 ','QUA9 ','CU27 ','PR18 ','TE10 '/ DATA LIST /'TRI3 ','QUA4 ','CUB8 ','PRI6 ','TET4 '/ COEF=ALFA*0.01D0 IAXI=0 IF(IFOMOD.EQ.0)IAXI=2 IRET=1 NSOUPO=1 NAT=1 N=0 KPOC=0 NC=4 SEGINI MCHPO1,MSOUP1,MPOVA1 MCHPO1.JATTRI(1)=2 MCHPO1.IFOPOI=IFOUR MCHPO1.MTYPOI='CENTRE ' MCHPO1.MOCHDE=' ' MCHPO1.IPCHP(1)=MSOUP1 MSOUP1.IPOVAL=MPOVA1 MSOUP1.IGEOC=MELEMC MSOUP1.NOCOMP(1)='SCC1' MSOUP1.NOCOMP(2)='SCC2' MSOUP1.NOCOMP(3)='SCC3' MSOUP1.NOCOMP(4)='SCC4' NBELEM=0 NBNN=1 NBSOUS=0 NBREF=0 C Connectivités de la matrice de stabilisation NBELEM=0 NBNN=4 NBSOUS=0 NBREF=0 SEGINI MELSTB MELSTB.ITYPEL=8 KSTB=0 SEGACT MACRO1 NBSOUS=MACRO1.LISOUS(/1) IF(NBSOUS.EQ.0)NBSOUS=1 DO 110 L=1,NBSOUS IPT1=MACRO1 IF(NBSOUS.NE.1)IPT1=MACRO1.LISOUS(L) SEGACT IPT1 TYPE=NOMS(IPT1.ITYPEL)//' ' IF(IP.EQ.0)THEN IRET=0 RETURN ELSEIF(IP.LE.2.AND.IDIM.EQ.3)THEN IRET=0 RETURN ENDIF 110 CONTINUE SEGACT MELEME,MELEMC NBSOU1=MACRO1.LISOUS(/1) NBSOU2= LISOUS(/1) IF(NBSOU2.NE.NBSOU1)THEN IRET=0 RETURN ENDIF IF(NBSOU1.EQ.0)NBSOU1=1 NK=0 DO 1 L=1,NBSOU1 IPT1=MACRO1 IPT2=MELEME IF(NBSOU1.NE.1)THEN IPT1=MACRO1.LISOUS(L) IPT2= LISOUS(L) ENDIF SEGACT IPT1,IPT2 NBEL1=IPT1.NUM(/2) NP1 =IPT1.NUM(/1) NBEL2=IPT2.NUM(/2) NP2 =IPT2.NUM(/1) IF(NBEL2.NE.(4*NBEL1).AND.NBEL2.NE.(8*NBEL1))THEN IRET=0 RETURN ENDIF TYPE=NOMS(IPT1.ITYPEL)//' ' GO TO (106,108,120,115,130),IP C TRI6 -> 4 TRI3 106 CONTINUE C N=NBEL2+MPOVA1.VPOCHA(/1) NC=4 NCTV0=MPOVA1.VPOCHA(/1) SEGADJ MPOVA1 C Connectivités de la matrice de stabilisation NCSTB=MELSTB.NUM(/2) NBELEM=NCSTB+NBEL2 NBNN=4 NBSOUS=0 NBREF=0 SEGADJ MELSTB KSTB=1 SEGACT IZFFM*MOD IZHR=KZHR(1) SEGACT IZHR*MOD NPG=GR(/3) NES=GR(/1) NPI=2 DO 206 K=1,NBEL1 N1=IPT1.NUM(1,K) N2=IPT1.NUM(2,K) N3=IPT1.NUM(3,K) N4=IPT1.NUM(4,K) N5=IPT1.NUM(5,K) N6=IPT1.NUM(6,K) NC1=MELEMC.NUM(1,NK+1) NC2=MELEMC.NUM(1,NK+2) NC3=MELEMC.NUM(1,NK+3) NC4=MELEMC.NUM(1,NK+4) XN1=XCOOR((N1-1)*(IDIM+1) +1) YN1=XCOOR((N1-1)*(IDIM+1) +2) XN2=XCOOR((N2-1)*(IDIM+1) +1) YN2=XCOOR((N2-1)*(IDIM+1) +2) XN3=XCOOR((N3-1)*(IDIM+1) +1) YN3=XCOOR((N3-1)*(IDIM+1) +2) XN4=XCOOR((N4-1)*(IDIM+1) +1) YN4=XCOOR((N4-1)*(IDIM+1) +2) XN5=XCOOR((N5-1)*(IDIM+1) +1) YN5=XCOOR((N5-1)*(IDIM+1) +2) XN6=XCOOR((N6-1)*(IDIM+1) +1) YN6=XCOOR((N6-1)*(IDIM+1) +2) XYZ(1,1)=XN2 XYZ(2,1)=YN2 XYZ(1,2)=XN6 XYZ(2,2)=YN6 DF1=(XN2-XN6)**2.D0 + (YN2-YN6)**2.D0 DF1=SQRT(DF1) C TX1 = (XN2-XN6)/DF1 C TY1 = (YN2-YN6)/DF1 XYZ(1,1)=XN2 XYZ(2,1)=YN2 XYZ(1,2)=XN4 XYZ(2,2)=YN4 DF2=(XN2-XN4)**2.D0 + (YN2-YN4)**2.D0 DF2=SQRT(DF2) C TX2 = (XN4-XN2)/DF2 C TY2 = (YN4-YN2)/DF2 XYZ(1,1)=XN6 XYZ(2,1)=YN6 XYZ(1,2)=XN4 XYZ(2,2)=YN4 DF3=(XN6-XN4)**2.D0 + (YN6-YN4)**2.D0 DF3=SQRT(DF3) C TX3 = (XN6-XN4)/DF3 C TY3 = (YN6-YN4)/DF3 DFM=(DF1+DF2+DF3)/3.D0 AIRM=(AIR1+AIR2+AIR3)/3.D0 C AIR1=AIRM C AIR2=AIRM C AIR3=AIRM C DF1=DFM C DF2=DFM C DF3=DFM C VPOCHA(KFM-2,1)=DF1*AIR1 C VPOCHA(KFM-1,1)=DF2*AIR2 C VPOCHA(KFM ,1)=DF3*AIR3 C C VPOCHA(KFM-2,2)=-TY1 C VPOCHA(KFM-1,2)=-TY2 C VPOCHA(KFM ,2)=-TY3 C C VPOCHA(KFM-2,3)= TX1 C VPOCHA(KFM-1,3)= TX2 C VPOCHA(KFM ,3)= TX3 C MPOVA1.VPOCHA(NCTV0+K,1)=AIR1*DF1 C MPOVA1.VPOCHA(NCTV0+K,2)=-AIR1*DF1 C MPOVA1.VPOCHA(NCTV0+K+1,1)=AIR2*DF2 C MPOVA1.VPOCHA(NCTV0+K+1,2)=-AIR2*DF2 C MPOVA1.VPOCHA(NCTV0+K+2,1)=AIR3*DF3 C MPOVA1.VPOCHA(NCTV0+K+2,2)=-AIR3*DF3 C MPOVA1.VPOCHA(NCTV0+K+3,1)=(AIR1*DF1+AIR2*DF2+AIR3*DF3) C MPOVA1.VPOCHA(NCTV0+K+3,2)=-AIR1*DF1 C MPOVA1.VPOCHA(NCTV0+K+3,3)=-AIR2*DF2 C MPOVA1.VPOCHA(NCTV0+K+3,4)=-AIR3*DF3 MELSTB.NUM(1,NCSTB+K)=NC1 MELSTB.NUM(2,NCSTB+K)=NC2 MELSTB.NUM(3,NCSTB+K)=NC3 MELSTB.NUM(4,NCSTB+K)=NC4 MELSTB.NUM(1,NCSTB+K+1)=NC2 MELSTB.NUM(2,NCSTB+K+1)=NC3 MELSTB.NUM(3,NCSTB+K+1)=NC4 MELSTB.NUM(4,NCSTB+K+1)=NC1 MELSTB.NUM(1,NCSTB+K+2)=NC3 MELSTB.NUM(2,NCSTB+K+2)=NC4 MELSTB.NUM(3,NCSTB+K+2)=NC1 MELSTB.NUM(4,NCSTB+K+2)=NC2 MELSTB.NUM(1,NCSTB+K+3)=NC4 MELSTB.NUM(2,NCSTB+K+3)=NC1 MELSTB.NUM(3,NCSTB+K+3)=NC2 MELSTB.NUM(4,NCSTB+K+3)=NC3 H14=AIR1*DF1*GA(1) H24=AIR2*DF2*GA(1) H34=AIR3*DF3*GA(1) H12=(AIR1*DF1+AIR2*DF2)*0.5D0*EPS(1) H13=(AIR1*DF1+AIR3*DF3)*0.5D0*EPS(1) H23=(AIR2*DF2+AIR3*DF3)*0.5D0*EPS(1) MPOVA1.VPOCHA(NCTV0+K,1)=H12+H13+H14+EPSD(1) MPOVA1.VPOCHA(NCTV0+K,2)=-H12 MPOVA1.VPOCHA(NCTV0+K,3)=-H13 MPOVA1.VPOCHA(NCTV0+K,4)=-H14 MPOVA1.VPOCHA(NCTV0+K+1,1)=H12+H23+H24+EPSD(1) MPOVA1.VPOCHA(NCTV0+K+1,2)=-H23 MPOVA1.VPOCHA(NCTV0+K+1,3)=-H24 MPOVA1.VPOCHA(NCTV0+K+1,4)=-H12 MPOVA1.VPOCHA(NCTV0+K+2,1)=H13+H23+H34+EPSD(1) MPOVA1.VPOCHA(NCTV0+K+2,2)=-H34 MPOVA1.VPOCHA(NCTV0+K+2,3)=-H13 MPOVA1.VPOCHA(NCTV0+K+2,4)=-H23 MPOVA1.VPOCHA(NCTV0+K+3,1)=-(H14+H24+H34)+EPSD(1) MPOVA1.VPOCHA(NCTV0+K+3,2)=-H14 MPOVA1.VPOCHA(NCTV0+K+3,3)=-H24 MPOVA1.VPOCHA(NCTV0+K+3,4)=-H34 KPOC=1 NCTV0=NCTV0+3 NCSTB=NCSTB+3 NK=NK+4 206 CONTINUE C SEGDES IPT1,IPT2,IPT3,IPT4 SEGDES IPT2 GO TO 1 C************************************************************************** C QUA8 -> 4 QUA4 108 CONTINUE C N=NBEL2+MPOVA1.VPOCHA(/1) NC=4 NCTV0=MPOVA1.VPOCHA(/1) SEGADJ MPOVA1 C Connectivités de la matrice de stabilisation NCSTB=MELSTB.NUM(/2) NBELEM=NCSTB+NBEL2 NBNN=4 NBSOUS=0 NBREF=0 SEGADJ MELSTB KSTB=1 SEGACT IZFFM*MOD IZHR=KZHR(1) SEGACT IZHR*MOD NPG=GR(/3) NES=GR(/1) NPI=2 DO 208 K=1,NBEL1 N1=IPT1.NUM(1,K) N2=IPT1.NUM(2,K) N3=IPT1.NUM(3,K) N4=IPT1.NUM(4,K) N5=IPT1.NUM(5,K) N6=IPT1.NUM(6,K) N7=IPT1.NUM(7,K) N8=IPT1.NUM(8,K) N9=IPT1.NUM(9,K) NC1=MELEMC.NUM(1,NK+1) NC2=MELEMC.NUM(1,NK+2) NC3=MELEMC.NUM(1,NK+3) NC4=MELEMC.NUM(1,NK+4) XN1=XCOOR((N1-1)*(IDIM+1) +1) YN1=XCOOR((N1-1)*(IDIM+1) +2) XN2=XCOOR((N2-1)*(IDIM+1) +1) YN2=XCOOR((N2-1)*(IDIM+1) +2) XN3=XCOOR((N3-1)*(IDIM+1) +1) YN3=XCOOR((N3-1)*(IDIM+1) +2) XN4=XCOOR((N4-1)*(IDIM+1) +1) YN4=XCOOR((N4-1)*(IDIM+1) +2) XN5=XCOOR((N5-1)*(IDIM+1) +1) YN5=XCOOR((N5-1)*(IDIM+1) +2) XN6=XCOOR((N6-1)*(IDIM+1) +1) YN6=XCOOR((N6-1)*(IDIM+1) +2) XN7=XCOOR((N7-1)*(IDIM+1) +1) YN7=XCOOR((N7-1)*(IDIM+1) +2) XN8=XCOOR((N8-1)*(IDIM+1) +1) YN8=XCOOR((N8-1)*(IDIM+1) +2) XN9=XCOOR((N9-1)*(IDIM+1) +1) YN9=XCOOR((N9-1)*(IDIM+1) +2) DX=ABS(XN3-XN7)+ABS(XN1-XN5) DY=ABS(YN3-YN7)+ABS(YN1-YN5) XCOOR((N9-1)*(IDIM+1) +1)=XN9+DX*COEF XCOOR((N9-1)*(IDIM+1) +2)=YN9+DY*COEF XYZ(1,1)=XN2 XYZ(2,1)=YN2 XYZ(1,2)=XN9 XYZ(2,2)=YN9 DF1=(XN2-XN9)**2.D0 + (YN2-YN9)**2.D0 DF1=SQRT(DF1) C TX1 = (XN2-XN9)/DF1 C TY1 = (YN2-YN9)/DF1 XYZ(1,1)=XN4 XYZ(2,1)=YN4 XYZ(1,2)=XN9 XYZ(2,2)=YN9 DF2=(XN4-XN9)**2.D0 + (YN4-YN9)**2.D0 DF2=SQRT(DF2) C TX2 = (XN4-XN9)/DF2 C TY2 = (YN4-YN9)/DF2 XYZ(1,1)=XN6 XYZ(2,1)=YN6 XYZ(1,2)=XN9 XYZ(2,2)=YN9 DF3=(XN6-XN9)**2.D0 + (YN6-YN9)**2.D0 DF3=SQRT(DF3) C TX3 = (XN6-XN9)/DF3 C TY3 = (YN6-YN9)/DF3 XYZ(1,1)=XN8 XYZ(2,1)=YN8 XYZ(1,2)=XN9 XYZ(2,2)=YN9 DF4=(XN8-XN9)**2.D0 + (YN8-YN9)**2.D0 DF4=SQRT(DF4) C TX4 = (XN8-XN9)/DF4 C TY4 = (YN8-YN9)/DF4 DFM=(DF1+DF2+DF3+DF4)/4.D0 C? DF1=1.D0 C? DF2=1.D0 C? DF3=1.D0 C? DF4=1.D0 AIRM=(AIR1+AIR2+AIR3+AIR4)/4.D0 C? AIR1=AIRM C? AIR2=AIRM C? AIR3=AIRM C? AIR4=AIRM C VPOCHA(KFM-3,1)=DF1*AIR1 C VPOCHA(KFM-2,1)=DF2*AIR2 C VPOCHA(KFM-1,1)=DF3*AIR3 C VPOCHA(KFM ,1)=DF4*AIR4 C C VPOCHA(KFM-3,2)=-TY1 C VPOCHA(KFM-2,2)=-TY2 C VPOCHA(KFM-1,2)=-TY3 C VPOCHA(KFM ,2)=-TY4 C VPOCHA(KFM-3,3)= TX1 C VPOCHA(KFM-2,3)= TX2 C VPOCHA(KFM-1,3)= TX3 C VPOCHA(KFM ,3)= TX4 C? MPOVA1.VPOCHA(NCTV0+K,1)=AIR1+AIR4 C? MPOVA1.VPOCHA(NCTV0+K,2)=-AIR1 C? MPOVA1.VPOCHA(NCTV0+K,3)=-AIR4 C? MPOVA1.VPOCHA(NCTV0+K+1,1)=AIR2+AIR1 C? MPOVA1.VPOCHA(NCTV0+K+1,2)=-AIR2 C? MPOVA1.VPOCHA(NCTV0+K+1,3)=-AIR1 C? MPOVA1.VPOCHA(NCTV0+K+2,1)=AIR3+AIR2 C? MPOVA1.VPOCHA(NCTV0+K+2,2)=-AIR3 C? MPOVA1.VPOCHA(NCTV0+K+2,3)=-AIR2 C? MPOVA1.VPOCHA(NCTV0+K+3,1)=AIR4+AIR3 C? MPOVA1.VPOCHA(NCTV0+K+3,2)=-AIR4 C? MPOVA1.VPOCHA(NCTV0+K+3,3)=-AIR3 MELSTB.NUM(1,NCSTB+K)=NC1 MELSTB.NUM(2,NCSTB+K)=NC2 MELSTB.NUM(3,NCSTB+K)=NC3 MELSTB.NUM(4,NCSTB+K)=NC4 MELSTB.NUM(1,NCSTB+K+1)=NC2 MELSTB.NUM(2,NCSTB+K+1)=NC3 MELSTB.NUM(3,NCSTB+K+1)=NC4 MELSTB.NUM(4,NCSTB+K+1)=NC1 MELSTB.NUM(1,NCSTB+K+2)=NC3 MELSTB.NUM(2,NCSTB+K+2)=NC4 MELSTB.NUM(3,NCSTB+K+2)=NC1 MELSTB.NUM(4,NCSTB+K+2)=NC2 MELSTB.NUM(1,NCSTB+K+3)=NC4 MELSTB.NUM(2,NCSTB+K+3)=NC1 MELSTB.NUM(3,NCSTB+K+3)=NC2 MELSTB.NUM(4,NCSTB+K+3)=NC3 H12=AIR1*DF1*GA(2) H13=AIRM*DFM*EPS(2) H14=AIR4*DF4*GA(2) H23=AIR2*DF2*GA(2) H24=AIRM*DFM*EPS(2) H34=AIR3*DF3*GA(2) MPOVA1.VPOCHA(NCTV0+K,1)=H12+H13+H14 MPOVA1.VPOCHA(NCTV0+K,2)=-H12 MPOVA1.VPOCHA(NCTV0+K,3)=-H13 MPOVA1.VPOCHA(NCTV0+K,4)=-H14 MPOVA1.VPOCHA(NCTV0+K+1,1)=H12+H23+H24 MPOVA1.VPOCHA(NCTV0+K+1,2)=-H23 MPOVA1.VPOCHA(NCTV0+K+1,3)=-H24 MPOVA1.VPOCHA(NCTV0+K+1,4)=-H12 MPOVA1.VPOCHA(NCTV0+K+2,1)=H13+H23+H34 MPOVA1.VPOCHA(NCTV0+K+2,2)=-H34 MPOVA1.VPOCHA(NCTV0+K+2,3)=-H13 MPOVA1.VPOCHA(NCTV0+K+2,4)=-H23 MPOVA1.VPOCHA(NCTV0+K+3,1)=H14+H24+H34 MPOVA1.VPOCHA(NCTV0+K+3,2)=-H14 MPOVA1.VPOCHA(NCTV0+K+3,3)=-H24 MPOVA1.VPOCHA(NCTV0+K+3,4)=-H34 KPOC=1 NCTV0=NCTV0+3 NCSTB=NCSTB+3 NK=NK+4 208 CONTINUE SEGDES IPT1,IPT2 GO TO 1 C************************************************************************** C CU20 -> 8 CUB8 120 CONTINUE C N=NBEL2+MPOVA1.VPOCHA(/1) NC=8 NCTV0=MPOVA1.VPOCHA(/1) SEGADJ MPOVA1 C Connectivités de la matrice de stabilisation NCSTB=MELSTB.NUM(/2) NBELEM=NCSTB+NBEL2 NBNN=8 NBSOUS=0 NBREF=0 SEGADJ MELSTB KSTB=1 SEGACT IZFFM*MOD IZHR=KZHR(1) SEGACT IZHR*MOD NPG=GR(/3) NPGg=rpg(/1) NES=GR(/1) NPI=4 DO 220 K=1,NBEL1 N1=IPT1.NUM(1,K) N2=IPT1.NUM(2,K) N3=IPT1.NUM(3,K) N4=IPT1.NUM(4,K) N5=IPT1.NUM(5,K) N6=IPT1.NUM(6,K) N7=IPT1.NUM(7,K) N8=IPT1.NUM(8,K) N9=IPT1.NUM(9,K) N10=IPT1.NUM(10,K) N11=IPT1.NUM(11,K) N12=IPT1.NUM(12,K) N13=IPT1.NUM(13,K) N14=IPT1.NUM(14,K) N15=IPT1.NUM(15,K) N16=IPT1.NUM(16,K) N17=IPT1.NUM(17,K) N18=IPT1.NUM(18,K) N19=IPT1.NUM(19,K) N20=IPT1.NUM(20,K) N21=IPT1.NUM(21,K) N22=IPT1.NUM(22,K) N23=IPT1.NUM(23,K) N24=IPT1.NUM(24,K) N25=IPT1.NUM(25,K) N26=IPT1.NUM(26,K) N27=IPT1.NUM(27,K) NC1=MELEMC.NUM(1,NK+1) NC2=MELEMC.NUM(1,NK+2) NC3=MELEMC.NUM(1,NK+3) NC4=MELEMC.NUM(1,NK+4) NC5=MELEMC.NUM(1,NK+5) NC6=MELEMC.NUM(1,NK+6) NC7=MELEMC.NUM(1,NK+7) NC8=MELEMC.NUM(1,NK+8) DO 2201 M=1,3 XA(M,1)=XCOOR((N1-1)*(IDIM+1) +M) XA(M,2)=XCOOR((N2-1)*(IDIM+1) +M) XA(M,3)=XCOOR((N3-1)*(IDIM+1) +M) XA(M,4)=XCOOR((N4-1)*(IDIM+1) +M) XA(M,5)=XCOOR((N5-1)*(IDIM+1) +M) XA(M,6)=XCOOR((N6-1)*(IDIM+1) +M) XA(M,7)=XCOOR((N7-1)*(IDIM+1) +M) XA(M,8)=XCOOR((N8-1)*(IDIM+1) +M) XA(M,9)=XCOOR((N9-1)*(IDIM+1) +M) XA(M,10)=XCOOR((N10-1)*(IDIM+1) +M) XA(M,11)=XCOOR((N11-1)*(IDIM+1) +M) XA(M,12)=XCOOR((N12-1)*(IDIM+1) +M) XA(M,13)=XCOOR((N13-1)*(IDIM+1) +M) XA(M,14)=XCOOR((N14-1)*(IDIM+1) +M) XA(M,15)=XCOOR((N15-1)*(IDIM+1) +M) XA(M,16)=XCOOR((N16-1)*(IDIM+1) +M) XA(M,17)=XCOOR((N17-1)*(IDIM+1) +M) XA(M,18)=XCOOR((N18-1)*(IDIM+1) +M) XA(M,19)=XCOOR((N19-1)*(IDIM+1) +M) XA(M,20)=XCOOR((N20-1)*(IDIM+1) +M) XA(M,21)=XCOOR((N21-1)*(IDIM+1) +M) XA(M,22)=XCOOR((N22-1)*(IDIM+1) +M) XA(M,23)=XCOOR((N23-1)*(IDIM+1) +M) XA(M,24)=XCOOR((N24-1)*(IDIM+1) +M) XA(M,25)=XCOOR((N25-1)*(IDIM+1) +M) XA(M,26)=XCOOR((N26-1)*(IDIM+1) +M) XA(M,27)=XCOOR((N27-1)*(IDIM+1) +M) 2201 CONTINUE C DF1 DO 22001 M=1,3 XYZ(M,1)=XA(M,2) XYZ(M,2)=XA(M,25) XYZ(M,3)=XA(M,27) XYZ(M,4)=XA(M,21) 22001 CONTINUE AIR1=ABS(AIR1) DF1=SQRT(AIR1) CDF2 DO 22002 M=1,3 XYZ(M,1)=XA(M,4) XYZ(M,2)=XA(M,25) XYZ(M,3)=XA(M,27) XYZ(M,4)=XA(M,22) 22002 CONTINUE AIR2=ABS(AIR2) DF2=SQRT(AIR2) CDF3 DO 22003 M=1,3 XYZ(M,1)=XA(M,6) XYZ(M,2)=XA(M,25) XYZ(M,3)=XA(M,27) XYZ(M,4)=XA(M,23) 22003 CONTINUE AIR3=ABS(AIR3) DF3=SQRT(AIR3) CDF4 DO 22004 M=1,3 XYZ(M,1)=XA(M,8) XYZ(M,2)=XA(M,25) XYZ(M,3)=XA(M,27) XYZ(M,4)=XA(M,24) 22004 CONTINUE AIR4=ABS(AIR4) DF4=SQRT(AIR4) CDF5 DO 22005 M=1,3 XYZ(M,1)=XA(M,21) XYZ(M,2)=XA(M,27) XYZ(M,3)=XA(M,24) XYZ(M,4)=XA(M,9 ) 22005 CONTINUE AIR5=ABS(AIR5) DF5=SQRT(AIR5) CDF6 DO 22006 M=1,3 XYZ(M,1)=XA(M,22) XYZ(M,2)=XA(M,27) XYZ(M,3)=XA(M,21) XYZ(M,4)=XA(M,10) 22006 CONTINUE AIR6=ABS(AIR6) DF6=SQRT(AIR6) CDF7 DO 22007 M=1,3 XYZ(M,1)=XA(M,23) XYZ(M,2)=XA(M,27) XYZ(M,3)=XA(M,22) XYZ(M,4)=XA(M,11) 22007 CONTINUE AIR7=ABS(AIR7) DF7=SQRT(AIR7) CDF8 DO 22008 M=1,3 XYZ(M,1)=XA(M,24) XYZ(M,2)=XA(M,27) XYZ(M,3)=XA(M,23) XYZ(M,4)=XA(M,12) 22008 CONTINUE AIR8=ABS(AIR8) DF8=SQRT(AIR8) CDF9 DO 22009 M=1,3 XYZ(M,1)=XA(M,21) XYZ(M,2)=XA(M,27) XYZ(M,3)=XA(M,26) XYZ(M,4)=XA(M,14) 22009 CONTINUE AIR9=ABS(AIR9) DF9=SQRT(AIR9) CDF10 DO 22010 M=1,3 XYZ(M,1)=XA(M,22) XYZ(M,2)=XA(M,27) XYZ(M,3)=XA(M,26) XYZ(M,4)=XA(M,16) 22010 CONTINUE AIR10=ABS(AIR10) DF10=SQRT(AIR10) CDF11 DO 22011 M=1,3 XYZ(M,1)=XA(M,23) XYZ(M,2)=XA(M,27) XYZ(M,3)=XA(M,26) XYZ(M,4)=XA(M,18) 22011 CONTINUE AIR11=ABS(AIR11) DF11=SQRT(AIR11) CDF12 DO 22012 M=1,3 XYZ(M,1)=XA(M,24) XYZ(M,2)=XA(M,27) XYZ(M,3)=XA(M,26) XYZ(M,4)=XA(M,20) 22012 CONTINUE AIR12=ABS(AIR12) DF12=SQRT(AIR12) DFM=(DF1+DF2+DF3+DF4+DF5+DF6+DF7+DF8+DF9+DF10+DF11+DF12)/12.D0 AIRM=(AIR1+AIR2+AIR3+AIR4+AIR5+AIR6 & +AIR7+AIR8+AIR9+AIR10+AIR11+AIR12)/12.D0 MELSTB.NUM(1,NCSTB+K)=NC1 MELSTB.NUM(2,NCSTB+K)=NC2 MELSTB.NUM(3,NCSTB+K)=NC3 MELSTB.NUM(4,NCSTB+K)=NC4 MELSTB.NUM(5,NCSTB+K)=NC5 MELSTB.NUM(6,NCSTB+K)=NC6 MELSTB.NUM(7,NCSTB+K)=NC7 MELSTB.NUM(8,NCSTB+K)=NC8 MELSTB.NUM(1,NCSTB+K+1)=NC2 MELSTB.NUM(2,NCSTB+K+1)=NC3 MELSTB.NUM(3,NCSTB+K+1)=NC4 MELSTB.NUM(4,NCSTB+K+1)=NC5 MELSTB.NUM(5,NCSTB+K+1)=NC6 MELSTB.NUM(6,NCSTB+K+1)=NC7 MELSTB.NUM(7,NCSTB+K+1)=NC8 MELSTB.NUM(8,NCSTB+K+1)=NC1 MELSTB.NUM(1,NCSTB+K+2)=NC3 MELSTB.NUM(2,NCSTB+K+2)=NC4 MELSTB.NUM(3,NCSTB+K+2)=NC5 MELSTB.NUM(4,NCSTB+K+2)=NC6 MELSTB.NUM(5,NCSTB+K+2)=NC7 MELSTB.NUM(6,NCSTB+K+2)=NC8 MELSTB.NUM(7,NCSTB+K+2)=NC1 MELSTB.NUM(8,NCSTB+K+2)=NC2 MELSTB.NUM(1,NCSTB+K+3)=NC4 MELSTB.NUM(2,NCSTB+K+3)=NC5 MELSTB.NUM(3,NCSTB+K+3)=NC6 MELSTB.NUM(4,NCSTB+K+3)=NC7 MELSTB.NUM(5,NCSTB+K+3)=NC8 MELSTB.NUM(6,NCSTB+K+3)=NC1 MELSTB.NUM(7,NCSTB+K+3)=NC2 MELSTB.NUM(8,NCSTB+K+3)=NC3 MELSTB.NUM(1,NCSTB+K+4)=NC5 MELSTB.NUM(2,NCSTB+K+4)=NC6 MELSTB.NUM(3,NCSTB+K+4)=NC7 MELSTB.NUM(4,NCSTB+K+4)=NC8 MELSTB.NUM(5,NCSTB+K+4)=NC1 MELSTB.NUM(6,NCSTB+K+4)=NC2 MELSTB.NUM(7,NCSTB+K+4)=NC3 MELSTB.NUM(8,NCSTB+K+4)=NC4 MELSTB.NUM(1,NCSTB+K+5)=NC6 MELSTB.NUM(2,NCSTB+K+5)=NC7 MELSTB.NUM(3,NCSTB+K+5)=NC8 MELSTB.NUM(4,NCSTB+K+5)=NC1 MELSTB.NUM(5,NCSTB+K+5)=NC2 MELSTB.NUM(6,NCSTB+K+5)=NC3 MELSTB.NUM(7,NCSTB+K+5)=NC4 MELSTB.NUM(8,NCSTB+K+5)=NC5 MELSTB.NUM(1,NCSTB+K+6)=NC7 MELSTB.NUM(2,NCSTB+K+6)=NC8 MELSTB.NUM(3,NCSTB+K+6)=NC1 MELSTB.NUM(4,NCSTB+K+6)=NC2 MELSTB.NUM(5,NCSTB+K+6)=NC3 MELSTB.NUM(6,NCSTB+K+6)=NC4 MELSTB.NUM(7,NCSTB+K+6)=NC5 MELSTB.NUM(8,NCSTB+K+6)=NC6 MELSTB.NUM(1,NCSTB+K+7)=NC8 MELSTB.NUM(2,NCSTB+K+7)=NC1 MELSTB.NUM(3,NCSTB+K+7)=NC2 MELSTB.NUM(4,NCSTB+K+7)=NC3 MELSTB.NUM(5,NCSTB+K+7)=NC4 MELSTB.NUM(6,NCSTB+K+7)=NC5 MELSTB.NUM(7,NCSTB+K+7)=NC6 MELSTB.NUM(8,NCSTB+K+7)=NC7 H12=AIR1*DF1*GA(4) H13=AIRM*DFM*EPS(4) H14=AIR4*DF4*GA(4) H15=AIR5*DF5*GA(4) H16=AIRM*DFM*EPS(4) H17=AIRM*DFM*EPS(4) H18=AIRM*DFM*EPS(4) H23=AIR2*DF2*GA(4) H24=AIRM*DFM*EPS(4) H25=AIRM*DFM*EPS(4) H26=AIR6*DF6*GA(4) H27=AIRM*DFM*EPS(4) H28=AIRM*DFM*EPS(4) H34=AIR3*DF3*GA(4) H35=AIRM*DFM*EPS(4) H36=AIRM*DFM*EPS(4) H37=AIR7*DF7*GA(4) H38=AIRM*DFM*EPS(4) H45=AIRM*DFM*EPS(4) H46=AIRM*DFM*EPS(4) H47=AIRM*DFM*EPS(4) H48=AIR8*DF8*GA(4) H56=AIR9*DF9*GA(4) H57=AIRM*DFM*EPS(4) H58=AIR12*DF12*GA(4) H67=AIR10*DF10*GA(4) H68=AIRM*DFM*EPS(4) H78=AIR11*DF11*GA(4) MPOVA1.VPOCHA(NCTV0+K,1)=H12+H13+H14+H15+H16+H17+H18 MPOVA1.VPOCHA(NCTV0+K,2)=-H12 MPOVA1.VPOCHA(NCTV0+K,3)=-H13 MPOVA1.VPOCHA(NCTV0+K,4)=-H14 MPOVA1.VPOCHA(NCTV0+K,5)=-H15 MPOVA1.VPOCHA(NCTV0+K,6)=-H16 MPOVA1.VPOCHA(NCTV0+K,7)=-H17 MPOVA1.VPOCHA(NCTV0+K,8)=-H18 MPOVA1.VPOCHA(NCTV0+K+1,1)=H12+H23+H24+H25+H26+H27+H28 MPOVA1.VPOCHA(NCTV0+K+1,2)=-H23 MPOVA1.VPOCHA(NCTV0+K+1,3)=-H24 MPOVA1.VPOCHA(NCTV0+K+1,4)=-H25 MPOVA1.VPOCHA(NCTV0+K+1,5)=-H26 MPOVA1.VPOCHA(NCTV0+K+1,6)=-H27 MPOVA1.VPOCHA(NCTV0+K+1,7)=-H28 MPOVA1.VPOCHA(NCTV0+K+1,8)=-H12 MPOVA1.VPOCHA(NCTV0+K+2,1)=H13+H23+H34+H35+H36+H37+H38 MPOVA1.VPOCHA(NCTV0+K+2,2)=-H34 MPOVA1.VPOCHA(NCTV0+K+2,3)=-H35 MPOVA1.VPOCHA(NCTV0+K+2,4)=-H36 MPOVA1.VPOCHA(NCTV0+K+2,5)=-H37 MPOVA1.VPOCHA(NCTV0+K+2,6)=-H38 MPOVA1.VPOCHA(NCTV0+K+2,7)=-H13 MPOVA1.VPOCHA(NCTV0+K+2,8)=-H23 MPOVA1.VPOCHA(NCTV0+K+3,1)=H14+H24+H34+H45+H46+H47+H48 MPOVA1.VPOCHA(NCTV0+K+3,2)=-H45 MPOVA1.VPOCHA(NCTV0+K+3,3)=-H46 MPOVA1.VPOCHA(NCTV0+K+3,4)=-H47 MPOVA1.VPOCHA(NCTV0+K+3,5)=-H48 MPOVA1.VPOCHA(NCTV0+K+3,6)=-H14 MPOVA1.VPOCHA(NCTV0+K+3,7)=-H24 MPOVA1.VPOCHA(NCTV0+K+3,8)=-H34 MPOVA1.VPOCHA(NCTV0+K+4,1)=H15+H25+H35+H45+H56+H57+H58 MPOVA1.VPOCHA(NCTV0+K+4,2)=-H56 MPOVA1.VPOCHA(NCTV0+K+4,3)=-H57 MPOVA1.VPOCHA(NCTV0+K+4,4)=-H58 MPOVA1.VPOCHA(NCTV0+K+4,5)=-H15 MPOVA1.VPOCHA(NCTV0+K+4,6)=-H25 MPOVA1.VPOCHA(NCTV0+K+4,7)=-H35 MPOVA1.VPOCHA(NCTV0+K+4,8)=-H45 MPOVA1.VPOCHA(NCTV0+K+5,1)=H16+H26+H36+H46+H56+H67+H68 MPOVA1.VPOCHA(NCTV0+K+5,2)=-H67 MPOVA1.VPOCHA(NCTV0+K+5,3)=-H68 MPOVA1.VPOCHA(NCTV0+K+5,4)=-H16 MPOVA1.VPOCHA(NCTV0+K+5,5)=-H26 MPOVA1.VPOCHA(NCTV0+K+5,6)=-H36 MPOVA1.VPOCHA(NCTV0+K+5,7)=-H46 MPOVA1.VPOCHA(NCTV0+K+5,8)=-H56 MPOVA1.VPOCHA(NCTV0+K+6,1)=H17+H27+H37+H47+H57+H67+H78 MPOVA1.VPOCHA(NCTV0+K+6,2)=-H78 MPOVA1.VPOCHA(NCTV0+K+6,3)=-H17 MPOVA1.VPOCHA(NCTV0+K+6,4)=-H27 MPOVA1.VPOCHA(NCTV0+K+6,5)=-H37 MPOVA1.VPOCHA(NCTV0+K+6,6)=-H47 MPOVA1.VPOCHA(NCTV0+K+6,7)=-H57 MPOVA1.VPOCHA(NCTV0+K+6,8)=-H67 MPOVA1.VPOCHA(NCTV0+K+7,1)=H18+H28+H38+H48+H58+H68+H78 MPOVA1.VPOCHA(NCTV0+K+7,2)=-H18 MPOVA1.VPOCHA(NCTV0+K+7,3)=-H28 MPOVA1.VPOCHA(NCTV0+K+7,4)=-H38 MPOVA1.VPOCHA(NCTV0+K+7,5)=-H48 MPOVA1.VPOCHA(NCTV0+K+7,6)=-H58 MPOVA1.VPOCHA(NCTV0+K+7,7)=-H68 MPOVA1.VPOCHA(NCTV0+K+7,8)=-H78 KPOC=1 NCTV0=NCTV0+7 NCSTB=NCSTB+7 NK=NK+8 220 CONTINUE SEGDES IPT1,IPT2 GO TO 1 C************************************************************************** C PR15 -> 8 PRI6 115 CONTINUE N=NBEL2+MPOVA1.VPOCHA(/1) NC=8 NCTV0=MPOVA1.VPOCHA(/1) SEGADJ MPOVA1 C Connectivités de la matrice de stabilisation NCSTB=MELSTB.NUM(/2) NBELEM=NCSTB+NBEL2 NBNN=8 NBSOUS=0 NBREF=0 SEGADJ MELSTB KSTB=1 SEGACT IZFFM*MOD IZHR=KZHR(1) SEGACT IZHR*MOD NPG=GR(/3) NES=GR(/1) SEGACT IZFF1*MOD IZHR1=IZFF1.KZHR(1) SEGACT IZHR1*MOD NPG1=IZFF1.GR(/3) NES1=IZFF1.GR(/1) NPI=4 NPI1=3 C write(6,*)' npg1,nes1,npi1=',npg1,nes1,npi1 DO 215 K=1,NBEL1 N1=IPT1.NUM(1,K) N2=IPT1.NUM(2,K) N3=IPT1.NUM(3,K) N4=IPT1.NUM(4,K) N5=IPT1.NUM(5,K) N6=IPT1.NUM(6,K) N7=IPT1.NUM(7,K) N8=IPT1.NUM(8,K) N9=IPT1.NUM(9,K) N10=IPT1.NUM(10,K) N11=IPT1.NUM(11,K) N12=IPT1.NUM(12,K) N13=IPT1.NUM(13,K) N14=IPT1.NUM(14,K) N15=IPT1.NUM(15,K) N16=IPT1.NUM(16,K) N17=IPT1.NUM(17,K) N18=IPT1.NUM(18,K) NC1=MELEMC.NUM(1,NK+1) NC2=MELEMC.NUM(1,NK+2) NC3=MELEMC.NUM(1,NK+3) NC4=MELEMC.NUM(1,NK+4) NC5=MELEMC.NUM(1,NK+5) NC6=MELEMC.NUM(1,NK+6) NC7=MELEMC.NUM(1,NK+7) NC8=MELEMC.NUM(1,NK+8) DO 2101 M=1,3 XA(M,1)=XCOOR((N1-1)*(IDIM+1) +M) XA(M,2)=XCOOR((N2-1)*(IDIM+1) +M) XA(M,3)=XCOOR((N3-1)*(IDIM+1) +M) XA(M,4)=XCOOR((N4-1)*(IDIM+1) +M) XA(M,5)=XCOOR((N5-1)*(IDIM+1) +M) XA(M,6)=XCOOR((N6-1)*(IDIM+1) +M) XA(M,7)=XCOOR((N7-1)*(IDIM+1) +M) XA(M,8)=XCOOR((N8-1)*(IDIM+1) +M) XA(M,9)=XCOOR((N9-1)*(IDIM+1) +M) XA(M,10)=XCOOR((N10-1)*(IDIM+1) +M) XA(M,11)=XCOOR((N11-1)*(IDIM+1) +M) XA(M,12)=XCOOR((N12-1)*(IDIM+1) +M) XA(M,13)=XCOOR((N13-1)*(IDIM+1) +M) XA(M,14)=XCOOR((N14-1)*(IDIM+1) +M) XA(M,15)=XCOOR((N15-1)*(IDIM+1) +M) XA(M,16)=XCOOR((N16-1)*(IDIM+1) +M) XA(M,17)=XCOOR((N17-1)*(IDIM+1) +M) XA(M,18)=XCOOR((N18-1)*(IDIM+1) +M) 2101 CONTINUE C DF1 DO 21001 M=1,3 XYZ(M,1)=XA(M,6) XYZ(M,2)=XA(M,2 ) XYZ(M,3)=XA(M,16) XYZ(M,4)=XA(M,18) 21001 CONTINUE AIR1=ABS(AIR1) DF1=SQRT(AIR1) C DF2 DO 21002 M=1,3 XYZ(M,1)=XA(M,2) XYZ(M,2)=XA(M,4 ) XYZ(M,3)=XA(M,17) XYZ(M,4)=XA(M,16) 21002 CONTINUE AIR2=ABS(AIR2) DF2=SQRT(AIR2) C DF3 DO 21003 M=1,3 XYZ(M,1)=XA(M,4) XYZ(M,2)=XA(M,6 ) XYZ(M,3)=XA(M,18) XYZ(M,4)=XA(M,17) 21003 CONTINUE AIR3=ABS(AIR3) DF3=SQRT(AIR3) C DF4 DO 21004 M=1,3 IZHR1.XYZ(M,1)=XA(M,7) IZHR1.XYZ(M,2)=XA(M,16) IZHR1.XYZ(M,3)=XA(M,18) 21004 CONTINUE & IZHR1.HR,IZHR1.PGSQ,IZHR1.RPG,NES1,IDIM,NPI1,NPG1,IAXI,AIR4) AIR4=ABS(AIR4) DF4=SQRT(AIR4) C DF5 DO 21005 M=1,3 IZHR1.XYZ(M,1)=XA(M,16) IZHR1.XYZ(M,2)=XA(M,8 ) IZHR1.XYZ(M,3)=XA(M,17) 21005 CONTINUE & IZHR1.HR,IZHR1.PGSQ,IZHR1.RPG,NES1,IDIM,NPI1,NPG1,IAXI,AIR5) AIR5=ABS(AIR5) DF5=SQRT(AIR5) C DF6 DO 21006 M=1,3 IZHR1.XYZ(M,1)=XA(M,18) IZHR1.XYZ(M,2)=XA(M,17) IZHR1.XYZ(M,3)=XA(M,9 ) 21006 CONTINUE & IZHR1.HR,IZHR1.PGSQ,IZHR1.RPG,NES1,IDIM,NPI1,NPG1,IAXI,AIR6) AIR6=ABS(AIR6) DF6=SQRT(AIR6) C DF7 DO 21007 M=1,3 IZHR1.XYZ(M,1)=XA(M,16) IZHR1.XYZ(M,2)=XA(M,17) IZHR1.XYZ(M,3)=XA(M,18) 21007 CONTINUE & IZHR1.HR,IZHR1.PGSQ,IZHR1.RPG,NES1,IDIM,NPI1,NPG1,IAXI,AIR7) AIR7=ABS(AIR7) DF7=SQRT(AIR7) C DF8 DO 21008 M=1,3 XYZ(M,1)=XA(M,18) XYZ(M,2)=XA(M,16) XYZ(M,3)=XA(M,11) XYZ(M,4)=XA(M,15) 21008 CONTINUE AIR8=ABS(AIR8) DF8=SQRT(AIR8) C DF9 DO 21009 M=1,3 XYZ(M,1)=XA(M,16) XYZ(M,2)=XA(M,17) XYZ(M,3)=XA(M,13) XYZ(M,4)=XA(M,11) 21009 CONTINUE AIR9=ABS(AIR9) DF9=SQRT(AIR9) C DF10 DO 21010 M=1,3 XYZ(M,1)=XA(M,18) XYZ(M,2)=XA(M,17) XYZ(M,3)=XA(M,13) XYZ(M,4)=XA(M,15) 21010 CONTINUE AIR10=ABS(AIR10) DF10=SQRT(AIR10) DFM=(DF1+DF2+DF3+DF4+DF5+DF6+DF7+DF8+DF9+DF10)/10.D0 AIRM=(AIR1+AIR2+AIR3+AIR4+AIR5+AIR6 & +AIR7+AIR8+AIR9+AIR10)/10.D0 MELSTB.NUM(1,NCSTB+K)=NC1 MELSTB.NUM(2,NCSTB+K)=NC2 MELSTB.NUM(3,NCSTB+K)=NC3 MELSTB.NUM(4,NCSTB+K)=NC4 MELSTB.NUM(5,NCSTB+K)=NC5 MELSTB.NUM(6,NCSTB+K)=NC6 MELSTB.NUM(7,NCSTB+K)=NC7 MELSTB.NUM(8,NCSTB+K)=NC8 MELSTB.NUM(1,NCSTB+K+1)=NC2 MELSTB.NUM(2,NCSTB+K+1)=NC3 MELSTB.NUM(3,NCSTB+K+1)=NC4 MELSTB.NUM(4,NCSTB+K+1)=NC5 MELSTB.NUM(5,NCSTB+K+1)=NC6 MELSTB.NUM(6,NCSTB+K+1)=NC7 MELSTB.NUM(7,NCSTB+K+1)=NC8 MELSTB.NUM(8,NCSTB+K+1)=NC1 MELSTB.NUM(1,NCSTB+K+2)=NC3 MELSTB.NUM(2,NCSTB+K+2)=NC4 MELSTB.NUM(3,NCSTB+K+2)=NC5 MELSTB.NUM(4,NCSTB+K+2)=NC6 MELSTB.NUM(5,NCSTB+K+2)=NC7 MELSTB.NUM(6,NCSTB+K+2)=NC8 MELSTB.NUM(7,NCSTB+K+2)=NC1 MELSTB.NUM(8,NCSTB+K+2)=NC2 MELSTB.NUM(1,NCSTB+K+3)=NC4 MELSTB.NUM(2,NCSTB+K+3)=NC5 MELSTB.NUM(3,NCSTB+K+3)=NC6 MELSTB.NUM(4,NCSTB+K+3)=NC7 MELSTB.NUM(5,NCSTB+K+3)=NC8 MELSTB.NUM(6,NCSTB+K+3)=NC1 MELSTB.NUM(7,NCSTB+K+3)=NC2 MELSTB.NUM(8,NCSTB+K+3)=NC3 MELSTB.NUM(1,NCSTB+K+4)=NC5 MELSTB.NUM(2,NCSTB+K+4)=NC6 MELSTB.NUM(3,NCSTB+K+4)=NC7 MELSTB.NUM(4,NCSTB+K+4)=NC8 MELSTB.NUM(5,NCSTB+K+4)=NC1 MELSTB.NUM(6,NCSTB+K+4)=NC2 MELSTB.NUM(7,NCSTB+K+4)=NC3 MELSTB.NUM(8,NCSTB+K+4)=NC4 MELSTB.NUM(1,NCSTB+K+5)=NC6 MELSTB.NUM(2,NCSTB+K+5)=NC7 MELSTB.NUM(3,NCSTB+K+5)=NC8 MELSTB.NUM(4,NCSTB+K+5)=NC1 MELSTB.NUM(5,NCSTB+K+5)=NC2 MELSTB.NUM(6,NCSTB+K+5)=NC3 MELSTB.NUM(7,NCSTB+K+5)=NC4 MELSTB.NUM(8,NCSTB+K+5)=NC5 MELSTB.NUM(1,NCSTB+K+6)=NC7 MELSTB.NUM(2,NCSTB+K+6)=NC8 MELSTB.NUM(3,NCSTB+K+6)=NC1 MELSTB.NUM(4,NCSTB+K+6)=NC2 MELSTB.NUM(5,NCSTB+K+6)=NC3 MELSTB.NUM(6,NCSTB+K+6)=NC4 MELSTB.NUM(7,NCSTB+K+6)=NC5 MELSTB.NUM(8,NCSTB+K+6)=NC6 MELSTB.NUM(1,NCSTB+K+7)=NC8 MELSTB.NUM(2,NCSTB+K+7)=NC1 MELSTB.NUM(3,NCSTB+K+7)=NC2 MELSTB.NUM(4,NCSTB+K+7)=NC3 MELSTB.NUM(5,NCSTB+K+7)=NC4 MELSTB.NUM(6,NCSTB+K+7)=NC5 MELSTB.NUM(7,NCSTB+K+7)=NC6 MELSTB.NUM(8,NCSTB+K+7)=NC7 C write(6,1002)air1,air2,air3,air4,air5,air6,air7,air8,air9, C &air10 C write(6,1002)df3,df4,df5,df6,df7,df8,df9,df10 H12=AIRM*DFM*EPS(5) H13=AIRM*DFM*EPS(5) H14=AIR1*DF1*GA(5) H15=AIR4*DF4*GA(5) H16=AIRM*DFM*EPS(5) H17=AIRM*DFM*EPS(5) H18=AIRM*DFM*EPS(5) H23=AIRM*DFM*EPS(5) H24=AIR2*DF2*GA(5) H25=AIRM*DFM*EPS(5) H26=AIR5*DF5*GA(5) H27=AIRM*DFM*EPS(5) H28=AIRM*DFM*EPS(5) H34=AIR3*DF3*GA(5) H35=AIRM*DFM*EPS(5) H36=AIRM*DFM*EPS(5) H37=AIR6*DF6*GA(5) H38=AIRM*DFM*EPS(5) H45=AIRM*DFM*EPS(5) H46=AIRM*DFM*EPS(5) H47=AIRM*DFM*EPS(5) H48=AIR7*DF7*GA(5) H56=AIRM*DFM*EPS(5) H57=AIRM*DFM*EPS(5) H58=AIR8*DF8*GA(5) H67=AIRM*DFM*EPS(5) H68=AIR9*DF9*GA(5) H78=AIR10*DF10*GA(5) MPOVA1.VPOCHA(NCTV0+K,1)=H12+H13+H14+H15+H16+H17+H18 MPOVA1.VPOCHA(NCTV0+K,2)=-H12 MPOVA1.VPOCHA(NCTV0+K,3)=-H13 MPOVA1.VPOCHA(NCTV0+K,4)=-H14 MPOVA1.VPOCHA(NCTV0+K,5)=-H15 MPOVA1.VPOCHA(NCTV0+K,6)=-H16 MPOVA1.VPOCHA(NCTV0+K,7)=-H17 MPOVA1.VPOCHA(NCTV0+K,8)=-H18 MPOVA1.VPOCHA(NCTV0+K+1,1)=H12+H23+H24+H25+H26+H27+H28 MPOVA1.VPOCHA(NCTV0+K+1,2)=-H23 MPOVA1.VPOCHA(NCTV0+K+1,3)=-H24 MPOVA1.VPOCHA(NCTV0+K+1,4)=-H25 MPOVA1.VPOCHA(NCTV0+K+1,5)=-H26 MPOVA1.VPOCHA(NCTV0+K+1,6)=-H27 MPOVA1.VPOCHA(NCTV0+K+1,7)=-H28 MPOVA1.VPOCHA(NCTV0+K+1,8)=-H12 MPOVA1.VPOCHA(NCTV0+K+2,1)=H13+H23+H34+H35+H36+H37+H38 MPOVA1.VPOCHA(NCTV0+K+2,2)=-H34 MPOVA1.VPOCHA(NCTV0+K+2,3)=-H35 MPOVA1.VPOCHA(NCTV0+K+2,4)=-H36 MPOVA1.VPOCHA(NCTV0+K+2,5)=-H37 MPOVA1.VPOCHA(NCTV0+K+2,6)=-H38 MPOVA1.VPOCHA(NCTV0+K+2,7)=-H13 MPOVA1.VPOCHA(NCTV0+K+2,8)=-H23 MPOVA1.VPOCHA(NCTV0+K+3,1)=H14+H24+H34+H45+H46+H47+H48 MPOVA1.VPOCHA(NCTV0+K+3,2)=-H45 MPOVA1.VPOCHA(NCTV0+K+3,3)=-H46 MPOVA1.VPOCHA(NCTV0+K+3,4)=-H47 MPOVA1.VPOCHA(NCTV0+K+3,5)=-H48 MPOVA1.VPOCHA(NCTV0+K+3,6)=-H14 MPOVA1.VPOCHA(NCTV0+K+3,7)=-H24 MPOVA1.VPOCHA(NCTV0+K+3,8)=-H34 MPOVA1.VPOCHA(NCTV0+K+4,1)=H15+H25+H35+H45+H56+H57+H58 MPOVA1.VPOCHA(NCTV0+K+4,2)=-H56 MPOVA1.VPOCHA(NCTV0+K+4,3)=-H57 MPOVA1.VPOCHA(NCTV0+K+4,4)=-H58 MPOVA1.VPOCHA(NCTV0+K+4,5)=-H15 MPOVA1.VPOCHA(NCTV0+K+4,6)=-H25 MPOVA1.VPOCHA(NCTV0+K+4,7)=-H35 MPOVA1.VPOCHA(NCTV0+K+4,8)=-H45 MPOVA1.VPOCHA(NCTV0+K+5,1)=H16+H26+H36+H46+H56+H67+H68 MPOVA1.VPOCHA(NCTV0+K+5,2)=-H67 MPOVA1.VPOCHA(NCTV0+K+5,3)=-H68 MPOVA1.VPOCHA(NCTV0+K+5,4)=-H16 MPOVA1.VPOCHA(NCTV0+K+5,5)=-H26 MPOVA1.VPOCHA(NCTV0+K+5,6)=-H36 MPOVA1.VPOCHA(NCTV0+K+5,7)=-H46 MPOVA1.VPOCHA(NCTV0+K+5,8)=-H56 MPOVA1.VPOCHA(NCTV0+K+6,1)=H17+H27+H37+H47+H57+H67+H78 MPOVA1.VPOCHA(NCTV0+K+6,2)=-H78 MPOVA1.VPOCHA(NCTV0+K+6,3)=-H17 MPOVA1.VPOCHA(NCTV0+K+6,4)=-H27 MPOVA1.VPOCHA(NCTV0+K+6,5)=-H37 MPOVA1.VPOCHA(NCTV0+K+6,6)=-H47 MPOVA1.VPOCHA(NCTV0+K+6,7)=-H57 MPOVA1.VPOCHA(NCTV0+K+6,8)=-H67 MPOVA1.VPOCHA(NCTV0+K+7,1)=H18+H28+H38+H48+H58+H68+H78 MPOVA1.VPOCHA(NCTV0+K+7,2)=-H18 MPOVA1.VPOCHA(NCTV0+K+7,3)=-H28 MPOVA1.VPOCHA(NCTV0+K+7,4)=-H38 MPOVA1.VPOCHA(NCTV0+K+7,5)=-H48 MPOVA1.VPOCHA(NCTV0+K+7,6)=-H58 MPOVA1.VPOCHA(NCTV0+K+7,7)=-H68 MPOVA1.VPOCHA(NCTV0+K+7,8)=-H78 KPOC=1 NCTV0=NCTV0+7 NCSTB=NCSTB+7 NK=NK+8 215 CONTINUE SEGDES IPT1,IPT2 GO TO 1 C************************************************************************** C113 CONTINUE C WRITE(6,*)'Opérateur DOMA : Les éléments PY13 ne sont pas traités' C IRET=0 C RETURN C************************************************************************** C TE10 -> 8 TET4 130 CONTINUE N=NBEL2+MPOVA1.VPOCHA(/1) NC=8 NCTV0=MPOVA1.VPOCHA(/1) SEGADJ MPOVA1 C Connectivités de la matrice de stabilisation NCSTB=MELSTB.NUM(/2) NBELEM=NCSTB+NBEL2 NBNN=8 NBSOUS=0 NBREF=0 SEGADJ MELSTB KSTB=1 SEGACT IZFFM*MOD IZHR=KZHR(1) SEGACT IZHR*MOD NPG=GR(/3) NES=GR(/1) NPI=3 C write(6,*)' NBEL=',nbel DO 210 K=1,NBEL1 N1=IPT1.NUM(1,K) N2=IPT1.NUM(2,K) N3=IPT1.NUM(3,K) N4=IPT1.NUM(4,K) N5=IPT1.NUM(5,K) N6=IPT1.NUM(6,K) N7=IPT1.NUM(7,K) N8=IPT1.NUM(8,K) N9=IPT1.NUM(9,K) N10=IPT1.NUM(10,K) NC1=MELEMC.NUM(1,NK+1) NC2=MELEMC.NUM(1,NK+2) NC3=MELEMC.NUM(1,NK+3) NC4=MELEMC.NUM(1,NK+4) NC5=MELEMC.NUM(1,NK+5) NC6=MELEMC.NUM(1,NK+6) NC7=MELEMC.NUM(1,NK+7) NC8=MELEMC.NUM(1,NK+8) DO 2111 M=1,3 XA(M,1)=XCOOR((N1-1)*(IDIM+1) +M) XA(M,2)=XCOOR((N2-1)*(IDIM+1) +M) XA(M,3)=XCOOR((N3-1)*(IDIM+1) +M) XA(M,4)=XCOOR((N4-1)*(IDIM+1) +M) XA(M,5)=XCOOR((N5-1)*(IDIM+1) +M) XA(M,6)=XCOOR((N6-1)*(IDIM+1) +M) XA(M,7)=XCOOR((N7-1)*(IDIM+1) +M) XA(M,8)=XCOOR((N8-1)*(IDIM+1) +M) XA(M,9)=XCOOR((N9-1)*(IDIM+1) +M) XA(M,10)=XCOOR((N10-1)*(IDIM+1) +M) 2111 CONTINUE C DF1 DO 21101 M=1,3 XYZ(M,1)=XA(M,2) XYZ(M,2)=XA(M,6) XYZ(M,3)=XA(M,7) 21101 CONTINUE AIR1=ABS(AIR1) DF1=SQRT(AIR1) C DF2 DO 21102 M=1,3 XYZ(M,1)=XA(M,2) XYZ(M,2)=XA(M,4) XYZ(M,3)=XA(M,6) 21102 CONTINUE AIR2=ABS(AIR2) DF2=SQRT(AIR2) C DF3 DO 21103 M=1,3 XYZ(M,1)=XA(M,7) XYZ(M,2)=XA(M,6) XYZ(M,3)=XA(M,8) 21103 CONTINUE AIR3=ABS(AIR3) DF3=SQRT(AIR3) C DF4 DO 21104 M=1,3 XYZ(M,1)=XA(M,2) XYZ(M,2)=XA(M,8) XYZ(M,3)=XA(M,6) 21104 CONTINUE AIR4=ABS(AIR4) DF4=SQRT(AIR4) C DF5 DO 21105 M=1,3 XYZ(M,1)=XA(M,6) XYZ(M,2)=XA(M,9) XYZ(M,3)=XA(M,8) 21105 CONTINUE AIR5=ABS(AIR5) DF5=SQRT(AIR5) C DF6 DO 21106 M=1,3 XYZ(M,1)=XA(M,6) XYZ(M,2)=XA(M,8) XYZ(M,3)=XA(M,4) 21106 CONTINUE AIR6=ABS(AIR6) DF6=SQRT(AIR6) C DF7 DO 21107 M=1,3 XYZ(M,1)=XA(M,7) XYZ(M,2)=XA(M,8) XYZ(M,3)=XA(M,9) 21107 CONTINUE AIR7=ABS(AIR7) DF7=SQRT(AIR7) C DF8 DO 21108 M=1,3 XYZ(M,1)=XA(M,9) XYZ(M,2)=XA(M,6) XYZ(M,3)=XA(M,4) 21108 CONTINUE AIR8=ABS(AIR8) DF8=SQRT(AIR8) DFM=(DF1+DF2+DF3+DF4+DF5+DF6+DF7+DF8)/8.D0 AIRM=(AIR1+AIR2+AIR3+AIR4+AIR5+AIR6+AIR7+AIR8)/8.D0 MELSTB.NUM(1,NCSTB+K)=NC1 MELSTB.NUM(2,NCSTB+K)=NC2 MELSTB.NUM(3,NCSTB+K)=NC3 MELSTB.NUM(4,NCSTB+K)=NC4 MELSTB.NUM(5,NCSTB+K)=NC5 MELSTB.NUM(6,NCSTB+K)=NC6 MELSTB.NUM(7,NCSTB+K)=NC7 MELSTB.NUM(8,NCSTB+K)=NC8 MELSTB.NUM(1,NCSTB+K+1)=NC2 MELSTB.NUM(2,NCSTB+K+1)=NC3 MELSTB.NUM(3,NCSTB+K+1)=NC4 MELSTB.NUM(4,NCSTB+K+1)=NC5 MELSTB.NUM(5,NCSTB+K+1)=NC6 MELSTB.NUM(6,NCSTB+K+1)=NC7 MELSTB.NUM(7,NCSTB+K+1)=NC8 MELSTB.NUM(8,NCSTB+K+1)=NC1 MELSTB.NUM(1,NCSTB+K+2)=NC3 MELSTB.NUM(2,NCSTB+K+2)=NC4 MELSTB.NUM(3,NCSTB+K+2)=NC5 MELSTB.NUM(4,NCSTB+K+2)=NC6 MELSTB.NUM(5,NCSTB+K+2)=NC7 MELSTB.NUM(6,NCSTB+K+2)=NC8 MELSTB.NUM(7,NCSTB+K+2)=NC1 MELSTB.NUM(8,NCSTB+K+2)=NC2 MELSTB.NUM(1,NCSTB+K+3)=NC4 MELSTB.NUM(2,NCSTB+K+3)=NC5 MELSTB.NUM(3,NCSTB+K+3)=NC6 MELSTB.NUM(4,NCSTB+K+3)=NC7 MELSTB.NUM(5,NCSTB+K+3)=NC8 MELSTB.NUM(6,NCSTB+K+3)=NC1 MELSTB.NUM(7,NCSTB+K+3)=NC2 MELSTB.NUM(8,NCSTB+K+3)=NC3 MELSTB.NUM(1,NCSTB+K+4)=NC5 MELSTB.NUM(2,NCSTB+K+4)=NC6 MELSTB.NUM(3,NCSTB+K+4)=NC7 MELSTB.NUM(4,NCSTB+K+4)=NC8 MELSTB.NUM(5,NCSTB+K+4)=NC1 MELSTB.NUM(6,NCSTB+K+4)=NC2 MELSTB.NUM(7,NCSTB+K+4)=NC3 MELSTB.NUM(8,NCSTB+K+4)=NC4 MELSTB.NUM(1,NCSTB+K+5)=NC6 MELSTB.NUM(2,NCSTB+K+5)=NC7 MELSTB.NUM(3,NCSTB+K+5)=NC8 MELSTB.NUM(4,NCSTB+K+5)=NC1 MELSTB.NUM(5,NCSTB+K+5)=NC2 MELSTB.NUM(6,NCSTB+K+5)=NC3 MELSTB.NUM(7,NCSTB+K+5)=NC4 MELSTB.NUM(8,NCSTB+K+5)=NC5 MELSTB.NUM(1,NCSTB+K+6)=NC7 MELSTB.NUM(2,NCSTB+K+6)=NC8 MELSTB.NUM(3,NCSTB+K+6)=NC1 MELSTB.NUM(4,NCSTB+K+6)=NC2 MELSTB.NUM(5,NCSTB+K+6)=NC3 MELSTB.NUM(6,NCSTB+K+6)=NC4 MELSTB.NUM(7,NCSTB+K+6)=NC5 MELSTB.NUM(8,NCSTB+K+6)=NC6 MELSTB.NUM(1,NCSTB+K+7)=NC8 MELSTB.NUM(2,NCSTB+K+7)=NC1 MELSTB.NUM(3,NCSTB+K+7)=NC2 MELSTB.NUM(4,NCSTB+K+7)=NC3 MELSTB.NUM(5,NCSTB+K+7)=NC4 MELSTB.NUM(6,NCSTB+K+7)=NC5 MELSTB.NUM(7,NCSTB+K+7)=NC6 MELSTB.NUM(8,NCSTB+K+7)=NC7 C write(6,1002)air1,air2,air3,air4,air5,air6,air7,air8,air9, C &air10 C write(6,1002)df3,df4,df5,df6,df7,df8,df9,df10 H12=AIRM*DFM*EPS(7) H13=AIRM*DFM*EPS(7) H14=AIRM*DFM*EPS(7) H15=AIR1*DF1*GA(7) H16=AIRM*DFM*EPS(7) H17=AIRM*DFM*EPS(7) H18=AIRM*DFM*EPS(7) H23=AIRM*DFM*EPS(7) H24=AIRM*DFM*EPS(7) H25=AIRM*DFM*EPS(7) H26=AIRM*DFM*EPS(7) H27=AIR2*DF2*GA(7) H28=AIRM*DFM*EPS(7) H34=AIRM*DFM*EPS(7) H35=AIRM*DFM*EPS(7) H36=AIRM*DFM*EPS(7) H37=AIRM*DFM*EPS(7) H38=AIR8*DF8*GA(7) H45=AIRM*DFM*EPS(7) H46=AIR7*DF7*GA(7) H47=AIRM*DFM*EPS(7) H48=AIRM*DFM*EPS(7) H56=AIR3*DF3*GA(7) H57=AIR4*DF4*GA(7) H58=AIRM*DFM*EPS(7) H67=AIRM*DFM*EPS(7) H68=AIR5*DF5*GA(7) H78=AIR6*DF6*GA(7) MPOVA1.VPOCHA(NCTV0+K,1)=H12+H13+H14+H15+H16+H17+H18 MPOVA1.VPOCHA(NCTV0+K,2)=-H12 MPOVA1.VPOCHA(NCTV0+K,3)=-H13 MPOVA1.VPOCHA(NCTV0+K,4)=-H14 MPOVA1.VPOCHA(NCTV0+K,5)=-H15 MPOVA1.VPOCHA(NCTV0+K,6)=-H16 MPOVA1.VPOCHA(NCTV0+K,7)=-H17 MPOVA1.VPOCHA(NCTV0+K,8)=-H18 MPOVA1.VPOCHA(NCTV0+K+1,1)=H12+H23+H24+H25+H26+H27+H28 MPOVA1.VPOCHA(NCTV0+K+1,2)=-H23 MPOVA1.VPOCHA(NCTV0+K+1,3)=-H24 MPOVA1.VPOCHA(NCTV0+K+1,4)=-H25 MPOVA1.VPOCHA(NCTV0+K+1,5)=-H26 MPOVA1.VPOCHA(NCTV0+K+1,6)=-H27 MPOVA1.VPOCHA(NCTV0+K+1,7)=-H28 MPOVA1.VPOCHA(NCTV0+K+1,8)=-H12 MPOVA1.VPOCHA(NCTV0+K+2,1)=H13+H23+H34+H35+H36+H37+H38 MPOVA1.VPOCHA(NCTV0+K+2,2)=-H34 MPOVA1.VPOCHA(NCTV0+K+2,3)=-H35 MPOVA1.VPOCHA(NCTV0+K+2,4)=-H36 MPOVA1.VPOCHA(NCTV0+K+2,5)=-H37 MPOVA1.VPOCHA(NCTV0+K+2,6)=-H38 MPOVA1.VPOCHA(NCTV0+K+2,7)=-H13 MPOVA1.VPOCHA(NCTV0+K+2,8)=-H23 MPOVA1.VPOCHA(NCTV0+K+3,1)=H14+H24+H34+H45+H46+H47+H48 MPOVA1.VPOCHA(NCTV0+K+3,2)=-H45 MPOVA1.VPOCHA(NCTV0+K+3,3)=-H46 MPOVA1.VPOCHA(NCTV0+K+3,4)=-H47 MPOVA1.VPOCHA(NCTV0+K+3,5)=-H48 MPOVA1.VPOCHA(NCTV0+K+3,6)=-H14 MPOVA1.VPOCHA(NCTV0+K+3,7)=-H24 MPOVA1.VPOCHA(NCTV0+K+3,8)=-H34 MPOVA1.VPOCHA(NCTV0+K+4,1)=H15+H25+H35+H45+H56+H57+H58 MPOVA1.VPOCHA(NCTV0+K+4,2)=-H56 MPOVA1.VPOCHA(NCTV0+K+4,3)=-H57 MPOVA1.VPOCHA(NCTV0+K+4,4)=-H58 MPOVA1.VPOCHA(NCTV0+K+4,5)=-H15 MPOVA1.VPOCHA(NCTV0+K+4,6)=-H25 MPOVA1.VPOCHA(NCTV0+K+4,7)=-H35 MPOVA1.VPOCHA(NCTV0+K+4,8)=-H45 MPOVA1.VPOCHA(NCTV0+K+5,1)=H16+H26+H36+H46+H56+H67+H68 MPOVA1.VPOCHA(NCTV0+K+5,2)=-H67 MPOVA1.VPOCHA(NCTV0+K+5,3)=-H68 MPOVA1.VPOCHA(NCTV0+K+5,4)=-H16 MPOVA1.VPOCHA(NCTV0+K+5,5)=-H26 MPOVA1.VPOCHA(NCTV0+K+5,6)=-H36 MPOVA1.VPOCHA(NCTV0+K+5,7)=-H46 MPOVA1.VPOCHA(NCTV0+K+5,8)=-H56 MPOVA1.VPOCHA(NCTV0+K+6,1)=H17+H27+H37+H47+H57+H67+H78 MPOVA1.VPOCHA(NCTV0+K+6,2)=-H78 MPOVA1.VPOCHA(NCTV0+K+6,3)=-H17 MPOVA1.VPOCHA(NCTV0+K+6,4)=-H27 MPOVA1.VPOCHA(NCTV0+K+6,5)=-H37 MPOVA1.VPOCHA(NCTV0+K+6,6)=-H47 MPOVA1.VPOCHA(NCTV0+K+6,7)=-H57 MPOVA1.VPOCHA(NCTV0+K+6,8)=-H67 MPOVA1.VPOCHA(NCTV0+K+7,1)=H18+H28+H38+H48+H58+H68+H78 MPOVA1.VPOCHA(NCTV0+K+7,2)=-H18 MPOVA1.VPOCHA(NCTV0+K+7,3)=-H28 MPOVA1.VPOCHA(NCTV0+K+7,4)=-H38 MPOVA1.VPOCHA(NCTV0+K+7,5)=-H48 MPOVA1.VPOCHA(NCTV0+K+7,6)=-H58 MPOVA1.VPOCHA(NCTV0+K+7,7)=-H68 MPOVA1.VPOCHA(NCTV0+K+7,8)=-H78 KPOC=1 NCTV0=NCTV0+7 NCSTB=NCSTB+7 NK=NK+8 210 CONTINUE SEGDES IPT1,IPT2 C write(6,*)' Sortie boucle',K GO TO 1 C************************************************************************** 1 CONTINUE SEGDES MELEME,MACRO1,MELEMC SEGDES MCHPO1,MSOUP1,MPOVA1 segact melstb RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales