⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 平生空网格.for

📁 将平面有限元等参网格生成空间有限元等参网格
💻 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 + -