PROGRAM SET1UP C====================================================================== C DATA ASSEMBLY PROGRAM FOR APPLICATIONS BUCKLEX.FOR C EIJI FUKUMORI 15-NOV-1995 C====================================================================== PARAMETER ( MXND=3,MXE=100, MXN=MXE+1 ) DIMENSION NODEX(MXE,MXND),EI(MXE),X(MXN),IBTYPE(2), BV(2) LOGICAL YES CHARACTER INPFILE*12, FSTATUS*3 C------------------- DATA INPUT FROM CONSOLE WRITE (*,*)" SELECT ELEMENT TYPE. LINEAR AND PARABOLIC AVAILABLE" WRITE (*,102) 102 FORMAT ( " IF LINEAR, TYPE 1. IF PARABOLIC, TYPE 2: " $ ) READ (*,*) LORP IF ( LORP .LT. 1 ) STOP "INVALID TYPE" IF ( LORP .GT. 2 ) STOP "INVALID TYPE" ND = LORP + 1 IF ( ND .EQ. 2 ) INPFILE = "BUCKLE.DAT" IF ( ND .EQ. 3 ) INPFILE = "BUCKLE2.DAT" WRITE (*,110) READ (*,*) P 110 FORMAT (" FORCE(P) =" $ ) WRITE (*,120) READ (*,*) ETIMESI 120 FORMAT (" E*I(EI) =" $ ) WRITE (*,125) READ (*,*) DOMAIN 125 FORMAT (" LENGTH OF DOMAIN (L) =" $ ) WRITE (*,130) READ (*,*) NE 130 FORMAT (" NUMBER OF ELEMENTS(NE) =" $ ) WRITE (*,140) READ (*,*) IBTYPE(1) 140 FORMAT (" KIND OF BOUNDARY CONDITION AT X=0(1,2, OR 3) =" $ ) WRITE (*,150) READ (*,*) BV(1) 150 FORMAT (" BOUNDARY VALUE AT X=0 =" $ ) WRITE (*,160) READ (*,*) IBTYPE(2) 160 FORMAT (" BOUNDARY CONDITION AT X=L(1,2, OR 3) =" $ ) WRITE (*,170) READ (*,*) BV(2) 170 FORMAT (" BOUNDARY VALUE AT X=0 =" $ ) C C------- NODAL NUMBER ASSIGNMENT AND NODAL COORDINATE COMPUTATION DO I = 1 , NE EI(I) = ETIMESI DO J = 1 , ND NODE = (I - 1)*(ND-1) + J NODEX(I,J) = NODE END DO END DO NNODE = NE * ( ND-1 ) + 1 DX = DOMAIN / ( NNODE - 1 ) DO I = 1 , NNODE X(I) = ( I - 1 ) * DX END DO C------- INQUIRE OF INPUT FILE FSTATUS = 'NEW' INQUIRE ( FILE=INPFILE, EXIST=YES ) IF ( YES ) FSTATUS = 'OLD' C------- WRITING DATA INTO INPUT FILE OPEN ( 1,FILE=INPFILE, STATUS=FSTATUS) WRITE(1,*) P WRITE(1,*) NE DO I = 1 , NE WRITE(1,*) I, (NODEX(I,J),J=1,ND), EI(I) END DO DO I = 1 , NNODE WRITE(1,*) I, X(I) END DO WRITE(1,*) IBTYPE(1), BV(1) WRITE(1,*) IBTYPE(2), BV(2) CLOSE (1) STOP END