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

📄 input.for

📁 本程序是D.R.J.OWEN主编的FINITE ELEMENTS IN PLASTICITYG一书中第八章例题的有限元程序
💻 FOR
字号:
C$DEBUG
C$LARGE
	SUBROUTINE INPUT(COORD,IFFIX,LNODS,MATNO,MELEM,MEVAB,MFRON,MMATS,
     .           MPOIN,MTOTV,MVFIX,NALGO,
     .           NCRIT,NDFRO,NDOFN,NELEM,NEVAB,NGAUS,NGAU2,
     .           NINCS,NMATS,NNODE,NOFIX,NPOIN,NPROP,NSTRE,
     .           NSTR1,NTOTG,NTOTV,
     .           NTYPE,NVFIX,POSGP,PRESC,PROPS,WEIGP) !(Page 208)
C*********************************************************************
C
C**** THIS SUBROUTINE ACCEPTS MOST OF THE INPUT DATA
C
C*********************************************************************
	DIMENSION COORD(MPOIN,2),IFFIX(MTOTV),LNODS(MELEM,9),
     .          MATNO(MELEM),NDFRO(MELEM),
     .          NOFIX(MVFIX),POSGP(4),PRESC(MVFIX,NDOFN),
     .          PROPS(MMATS,NPROP),TITLE(80),WEIGP(4),lnodg(4,3)
	REWIND 1
	REWIND 2
	REWIND 3
	REWIND 4
	REWIND 8
	READ(5,920) TITLE
	WRITE(6,920) TITLE
 920  FORMAT(80A)
C
C*** READ THE FIRST DATA CARD, AND ECHO IT IMMEDIATELY.
C
	READ(5,*) NPOIN,NELEM,NVFIX,NTYPE,NNODE,NMATS,NGAUS,
     .          NALGO,NCRIT,NINCS,NSTRE
900   FORMAT(11I5)
	NEVAB=NDOFN*NNODE
	NSTR1=NSTRE+1
	IF(NTYPE.EQ.3) NSTR1=NSTRE
	NTOTV=NPOIN*NDOFN
	NGAU2=NGAUS*NGAUS
	NTOTG=NELEM*NGAU2
	WRITE(6,901)NPOIN,NELEM,NVFIX,NTYPE,NNODE,NMATS,NGAUS,NEVAB,
     .            NALGO,NCRIT,NINCS,NSTRE
 901  FORMAT(//8H NPOIN =,I4,4X,8H NELEM =,I4,4X,8H NVFIX =,I4,4X,
     .         8H NTYPE =,I4,4X,8H NNODE =,I4,//
     .         8H NMATS =,I4,4X,8H NGAUS =,I4,
     .         4X,8H NEVAB =,I4,4X,8H NALGO =,I4//
     .         8H NCRIT =,I4,4X,8H NINCS =,I4,4X,8H NSTRE =,I4)
	CALL CHECK1(NDOFN,NELEM,NGAUS,NMATS,NNODE,NPOIN,
     .            NSTRE,NTYPE,NVFIX,NCRIT,NALGO,NINCS)
C
C***  GENERATE THE EDGE CONNECTIONS OF THE ELEMENT
C
      if(nnode.eq.4)then
	  lnodg(1,1)=1;	lnodg(1,2)=2
	  lnodg(2,1)=2;	lnodg(2,2)=3
	  lnodg(3,1)=3;	lnodg(3,2)=4
	  lnodg(4,1)=4;	lnodg(4,2)=1
	elseif(nnode.gt.4)then
	  lnodg(1,1)=1; lnodg(1,2)=2;	lnodg(1,3)=3
	  lnodg(2,1)=3;	lnodg(2,2)=4;	lnodg(2,3)=5
	  lnodg(3,1)=5;	lnodg(3,2)=6;	lnodg(3,3)=7
	  lnodg(4,1)=7;	lnodg(4,2)=8;	lnodg(4,3)=1
	endif
C
C*** READ THE ELEMENT NODAL CONNECTIONS, AND THE PROPERTY NUMBERS.
C
	WRITE(6,902)
 902  FORMAT(//8H ELEMENT,3X,8HPROPERTY,6X,12HNODE NUMBERS)
	DO 2 IELEM=1,NELEM
      READ(5,*)NUMEL,MATNO(NUMEL),(LNODS(NUMEL,INODE),INODE=1,NNODE)
   2  WRITE(6,903)NUMEL,MATNO(NUMEL),(LNODS(NUMEL,INODE),INODE=1,NNODE)
 903  FORMAT(1X,I5,I9,6X,8I5)
C
C*** ZERO ALL THE NODAL COORDINATES, PRIOR TO READING SOME OF THEM.
C
	DO 4 IPOIN=1,NPOIN
	DO 4 IDIME=1,2
   4  COORD(IPOIN,IDIME)=0.0
C
C*** READ SOME NODAL COORDINATES, FINISHING WITH THE NODE OF ALL.
C
	WRITE(6,904)
 904  FORMAT(//5H NODE,10X,1HX,10X,1HY)
   6  READ(5,*) IPOIN,(COORD(IPOIN,IDIME),IDIME=1,2)
 905  FORMAT(I5,6F10.5)
	IF(IPOIN.NE.NPOIN) GO TO 6
C
C*** INTERPOLATE COORDINATES OF MID-SIDE NODES
C
	CALL NODEXY(COORD,LNODS,MELEM,MPOIN,NELEM,NNODE)
	DO 10 IPOIN=1,NPOIN
  10  WRITE(6,906) IPOIN,(COORD(IPOIN,IDIME),IDIME=1,2)
 906  FORMAT(1X,I5,3F10.3)
C
C*** READ THE FIXED VALUES
C
	WRITE(6,907)
 907  FORMAT(//5H NODE,6X,4HCODE,6X,12HFIXED VALUES)
	DO 8 IVFIX=1,NVFIX
      READ(5,*)NOFIX(IVFIX),IFPRE,(PRESC(IVFIX,IDOFN),IDOFN=1,NDOFN)
      WRITE(6,908)NOFIX(IVFIX),IFPRE,(PRESC(IVFIX,IDOFN),IDOFN=1,NDOFN)
      NLOCA=(NOFIX(IVFIX)-1)*NDOFN
	IFDOF=10**(NDOFN-1)
	DO 8 IDOFN=1,NDOFN
	NGASH=NLOCA+IDOFN
	IF(IFPRE.LT.IFDOF) GO TO 8
	IFFIX(NGASH)=1
	IFPRE=IFPRE-IFDOF
   8  IFDOF=IFDOF/10
 908  FORMAT(1X,I4,5X,I5,5X,5F10.6)
C
C*** READ THE AVAILABLE SELECTION OF ELEMENT PROPERTIES.
C
  16  WRITE(6,910)
 910  FORMAT(//7H NUMBER,6X,18HELEMENT PROPERTIES)
	DO 18 IMATS=1,NMATS
	READ(5,*) NUMAT
	READ(5,*)(PROPS(NUMAT,IPROP),IPROP=1,NPROP)
 930  FORMAT(10F10.5)
  18  WRITE(6,911) NUMAT,(PROPS(NUMAT,IPROP),IPROP=1,NPROP)
 911  FORMAT(1X,I4,3X,10E14.6)
C
C*** SET UP GAUSSIAN INTEGRATION CONSTANTS
C
	CALL GAUSSQ(NGAUS,POSGP,WEIGP)
	CALL CHECK2(COORD,IFFIX,LNODS,MATNO,MELEM,MFRON,MPOIN,MTOTV,
     .            MVFIX,NDFRO,NDOFN,NELEM,NMATS,NNODE,NOFIX,NPOIN,
     .            NVFIX)
	RETURN
	END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -