📄 平生空网格.for
字号:
!ms$debug
IMPLICIT DOUBLE PRECISION(a-h,O-z)
DIMENSION IENP(10,2000),IENS(5,10000),IENL(6,10000),IENF(6,10000),
* COPP(2,3000),NESTEEL(6,10000),
* LINES(6,10000),COPS(2,2,10000),DL(10)
DIMENSION Z(1000),COP(3,45000),IEN(20,32000),
* MATI(3,32500)
CHARACTER DIR*(100),FILE*(100),HEIGHT*(100),FILEA*(100),FILEB*(100)
OPEN(4,FILE='C:\DIR.DAT')
READ(4,*)DIR
WRITE(*,*)DIR
CLOSE(4)
FILE=TRIM(DIR)//'\拉伸数据.TXT'
OPEN(5,FILE=FILE)
READ(5,*)NUM
WRITE(*,*)'NUM=',NUM
DO ICOUNT=1,NUM
IENP=0; IENS=0; IENL=0; IENF=0
COPP=0.; NESTEEL=0; LINES=0
COPS=0.; Z=0.; COP=0.
IEN=0; MATI=0
WRITE(*,*)'ICOUNT=',ICOUNT
READ(5,*)FILEA,HEIGHT,FILEB,MATI1,MATI2,MATI3,INTO
FILE=TRIM(DIR)//'\平面数据\'//TRIM(FILEA)//'.D01'
OPEN(3,FILE=FILE,FORM='FORMATTED')
READ(3,*)NEP,NES,NEL,NEF,NPP,NLINES,NPSC
DO IE=1,NEP; READ(3,*)(IENP(I,IE),I=1,10); ENDDO
DO IE=1,NES; READ(3,*)(IENS(I,IE),I=1,5); ENDDO
DO IE=1,NEL; READ(3,*)(IENL(I,IE),I=1,6),DL(IE); ENDDO
DO IE=1,NEF; READ(3,*)(IENF(I,IE),I=1,6); ENDDO
READ(3,*)((COPP(I,J),I=1,2),J=1,NPP)
DO IE=1,NLINES; READ(3,*)(NESTEEL(I,IE),I=1,6); ENDDO
DO IE=1,NPSC
READ(3,*)(LINES(I,IE),I=1,6),((COPS(I,J,IE),I=1,2),J=1,2)
ENDDO
CLOSE(3)
FILE=TRIM(DIR)//'\平面数据\'//TRIM(HEIGHT)//'.TXT'
WRITE(*,*)TRIM(FILE)
OPEN(3,FILE=FILE)
READ(3,*)MZZ
READ(3,*)MZB
DO I=1,MZB
READ(3,*)I1,I2,CZ1,CZDT
DO J=I1,I2; Z(J)=CZ1+CZDT*DFLOAT(J-I1); ENDDO
ENDDO
CLOSE(3)
NP=0
DO L=1,MZZ
J=(L-1)*NPP
DO I=1,NPP
NP=NP+1
SELECT CASE (INTO)
CASE (1) !沿X方向拉伸
COP(2,I+J)=COPP(1,I); COP(3,I+J)=COPP(2,I); COP(1,I+J)=Z(L)
CASE (2) !沿Y方向拉伸
COP(1,I+J)=COPP(1,I); COP(3,I+J)=COPP(2,I); COP(2,I+J)=Z(L)
CASE (3) !沿Z方向拉伸
COP(1,I+J)=COPP(1,I); COP(2,I+J)=COPP(2,I); COP(3,I+J)=Z(L)
ENDSELECT
ENDDO
ENDDO
DO I=1,NEP
IEN(1,I)=IENP(1,I); IEN(2,I)=IENP(2,I)
IEN(3,I)=IENP(4,I); IEN(4,I)=IENP(3,I)
IEN(5,I)=IEN(1,I)+NPP; IEN(6,I)=IEN(2,I)+NPP
IEN(7,I)=IEN(3,I)+NPP; IEN(8,I)=IEN(4,I)+NPP
IEN(9,I)=IENP(5,I); IEN(10,I)=IENP(6,I)
IEN(11,I)=IENP(8,I); IEN(12,I)=IENP(7,I)
IF(IEN(9,I)>0)IEN(13,I)=IEN(9,I)+NPP
IF(IEN(10,I)>0)IEN(14,I)=IEN(10,I)+NPP
IF(IEN(11,I)>0)IEN(15,I)=IEN(11,I)+NPP
IF(IEN(12,I)>0)IEN(16,I)=IEN(12,I)+NPP
ENDDO
NE=NEP
DO L=2,MZZ-1
DO I=1,NEP
J1=(L-1)*NEP; J2=(L-2)*NEP; NE=NE+1
IEN(1,I+J1)=IEN(5,I+J2); IEN(2,I+J1)=IEN(6,I+J2)
IEN(3,I+J1)=IEN(7,I+J2); IEN(4,I+J1)=IEN(8,I+J2)
IEN(5,I+J1)=IEN(1,I+J1)+NPP; IEN(6,I+J1)=IEN(2,I+J1)+NPP
IEN(7,I+J1)=IEN(3,I+J1)+NPP; IEN(8,I+J1)=IEN(4,I+J1)+NPP
IEN(9,I+J1)=IEN(13,I+J2); IEN(10,I+J1)=IEN(14,I+J2)
IEN(11,I+J1)=IEN(15,I+J2); IEN(12,I+J1)=IEN(16,I+J2)
IF(IEN(9,I+J1)>0)IEN(13,I+J1)=IEN(9,I+J1)+NPP
IF(IEN(10,I+J1)>0)IEN(14,I+J1)=IEN(10,I+J1)+NPP
IF(IEN(11,I+J1)>0)IEN(15,I+J1)=IEN(11,I+J1)+NPP
IF(IEN(12,I+J1)>0)IEN(16,I+J1)=IEN(12,I+J1)+NPP
ENDDO
ENDDO
DO I=1,NE; MATI(1,I)=MATI1; MATI(2,I)=MATI2; MATI(3,I)=MATI3; ENDDO
FILE=TRIM(DIR)//'\拉伸数据\'//TRIM(FILEB)//'.TXT'
OPEN(3,FILE=FILE)
NPP=0
WRITE(3,10)NP,NE,NPP
10 FORMAT(10I8)
DO I=1,NE; WRITE(3,10)(IEN(J,I),J=1,20); ENDDO
DO I=1,NE; WRITE(3,10)(MATI(J,I),J=1,3); ENDDO
DO I=1,NP; WRITE(3,20)(COP(J,I),J=1,3); ENDDO
20 FORMAT(3F12.2)
ENDDO
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -