You are on page 1of 36

PROGRAM

PROGRAM ISOPARAMETRIC
IMPLICIT NONE
INTEGER::NNODE,NJ,NEL,NMAT,NRJ,NSJ,NLJ,NEQ,NBFEL,NEQEL
INTEGER::PROTYPE,I,J,K,L,MT,JJ,I1,I2
REAL::Q,BX,BY,E,V,T
REAL,DIMENSION(:),ALLOCATABLE::P,U,XX,JP,KP,PBE,SUMN,UEL
REAL,DIMENSION(:,:),ALLOCATABLE::XY,XT,PMAT,JRDIS,BF,RR,JRR,JKS,SUMI,GKS,RKS,KE,GST,STE
INTEGER,DIMENSION(:,:),ALLOCATABLE::JEL
INTEGER,DIMENSION(:),ALLOCATABLE::MAT
CHARACTER(30)::TITLE,SUBTITLE

!Opening Input and Output Files


OPEN(5,FILE="INPUT.TXT")
OPEN(6,FILE="OUTPUT.TXT")

!Reading General Data


READ(5,*)TITLE,PROTYPE,NNODE
READ(5,*)NJ,NEL,NMAT,NRJ,NSJ,NLJ,NBFEL
NEQ=NJ*2
NEQEL=NNODE*2

!Reading Joints Coordinates


ALLOCATE(XY(NJ,2))
READ(5,*) SUBTITLE
DO I=1,NJ
READ(5,*)J,XY(J,1),XY(J,2)
END DO

!Reading Material Data


ALLOCATE(PMAT(NMAT,3))
READ(5,*) SUBTITLE
DO I=1,NMAT
READ(5,*)J,PMAT(J,1),PMAT(J,2),PMAT(J,3)
END DO

!Reading Element Data


ALLOCATE(JEL(NEL,NNODE))
ALLOCATE(MAT(NEL))
READ(5,*) SUBTITLE
DO L=1,NEL
DO J=1,NNODE
READ(5,*)I,JEL(I,J)
END DO
END DO
IF(NMAT.EQ.1)THEN
DO I=1,NEL
MAT(I)=1
END DO
ELSE
DO I=1,NEL
READ(5,*) J,MAT(J)
END DO
END IF

!Reading Restrained Joints Data


ALLOCATE(JRR(NJ,2))
ALLOCATE(JRDIS(NJ,2))
READ(5,*) SUBTITLE
DO I=1,NJ
JRR(I,1)=0
JRR(I,2)=0
JRDIS(I,1)=0
JRDIS(I,2)=0
END DO
DO I=1,NRJ
READ(5,*) J,JRR(J,1),JRR(J,2),JRDIS(J,1),JRDIS(J,2)
END DO

!Reading Spring Joints Data


ALLOCATE(JKS(NJ,2))
READ(5,*) SUBTITLE
DO I=1,NJ
JKS(I,1)=0
JKS(I,2)=0
END DO
DO I=1,NSJ
READ(5,*)J,JRR(J,1),JRR(J,2),JKS(J,1),JKS(J,2)
END DO

!Reading Joint Loads


ALLOCATE(P(NEQ))
ALLOCATE(U(NEQ))
READ(5,*) SUBTITLE
DO I=1,NEQ
P(I)=0
END DO
DO I=1,NLJ
READ(5,*)J,P(2*J-1),P(2*J)
END DO

!Reading Body Forces


ALLOCATE(BF(NEL,2))
READ(5,*) SUBTITLE
DO I=1,NEL
BF(I,1)=0
BF(I,2)=0
END DO
DO I=1,NBFEL
READ(5,*) J,BF(J,1),BF(J,2)
END DO

!Displaying Input Data in OUTPUT File


WRITE(6,*) TITLE
IF(PROTYPE.EQ.11)THEN
WRITE(6,'(//1X,"PROBLEM TYPE:PLAIN STRESS")')
ELSE
WRITE(6,'(//1X,"PROBLEM TYPE:PLAIN STRAIN")')
END IF
WRITE(6,500) NJ,NEL,NNODE,NMAT,NRJ,NSJ,NLJ,NBFEL
WRITE(6,510)
DO I=1,NJ
WRITE(6,520) I,XY(I,1),XY(I,2),JRR(I,1),JRR(I,2),JRDIS(I,1),JRDIS(I,2)
END DO
WRITE(6,530)
DO I=1,NEL
MT=MAT(I)
WRITE(6,540) I,PMAT(MT,3),PMAT(MT,1),PMAT(MT,2)
END DO
WRITE(6,550)
DO I=1,NJ
IF((P(2*I-1).NE.0.0).OR.(P(2*I).NE.0.0))THEN
WRITE(6,560) I,P(2*I-1),P(2*I)
END IF
END DO
WRITE(6,570)
DO I=1,NEL
IF((BF(I,1).NE.0.0).OR.(BF(I,2).NE.0.0))THEN
WRITE(6,560) I,BF(I,1),BF(I,2)
END IF
END DO

!Making Initial Reaction Matrix


ALLOCATE(RR(NJ,2))
DO I=1,NJ
IF(JRR(I,1).EQ.1.AND.P(2*I-1).NE.0) THEN
RR(I,1)=-P(2*I-1)
ELSE
RR(I,1)=0.
END IF
IF(JRR(I,2).EQ.1.AND.P(2*I).NE.0) THEN
RR(I,2)=-P(2*I)
ELSE
RR(I,2)=0.
END IF
END DO

!Assembling Element Stiffness Matrices


ALLOCATE(GKS(NEQ,NEQ))
ALLOCATE(RKS(NEQ,NEQ))
ALLOCATE(KE(NEQEL,NEQEL))
ALLOCATE(SUMI(NEQEL,NEQEL))
ALLOCATE(XT(2,NNODE))
ALLOCATE(JP(NEQEL))
ALLOCATE(PBE(NEQEL))
ALLOCATE(SUMN(NEQEL))
DO I=1,NEQ
DO J=1,NEQ
GKS(I,J)=0.0
END DO
END DO
DO I=1,NEL
MT=MAT(I)
BX=BF(I,1)
BY=BF(I,2)
DO J=1,NNODE
JJ=JEL(I,J)
XT(1,J)=XY(JJ,1)
XT(2,J)=XY(JJ,2)
END DO
E=PMAT(MT,1)
V=PMAT(MT,2)
T=PMAT(MT,3)

CALL ELEM_STIF_MATRIX(XT,E,V,T,BX,BY,PROTYPE,KE,PBE)

DO J=1,NNODE
JJ=JEL(I,J)
JP(2*J-1)=2*JJ-1
JP(2*J)=2*JJ
END DO

DO J=1,NEQEL
DO K=1,NEQEL
SUMI(J,K)=GKS(JP(J),JP(K))
END DO
END DO
DO J=1,NEQEL
DO K=1,NEQEL
GKS(JP(J),JP(K))=KE(J,K)
END DO
END DO
DO J=1,NEQEL
DO K=1,NEQEL
GKS(JP(J),JP(K))=SUMI(J,K)+GKS(JP(J),JP(K))
END DO
END DO

!Reforming Force Array


DO J=1,NEQEL
SUMN(J)=P(JP(J))
END DO
DO J=1,NEQEL
P(JP(J))=PBE(J)
END DO
DO J=1,NEQEL
P(JP(J))=SUMN(J)+P(JP(J))
END DO
END DO

DO I=1,NEQ
DO J=1,NEQ
RKS(I,J)=GKS(I,J)
END DO
END DO

!Applying Boundary Conditions


DO I=1,NJ
I2=2*I
I1=I2-1
Q=1.0E10
IF(JRR(I,1).EQ.1) THEN
IF(JRDIS(I,1).NE.0)THEN
GKS(I1,I1)=GKS(I1,I1)+Q
P(I1)=Q*JRDIS(I,1)
ELSE
DO J=1,NEQ
GKS(I1,J)=0.
GKS(J,I1)=0.
END DO
GKS(I1,I1)=1.
P(I1)=0.
END IF
END IF
IF(JRR(I,1).EQ.2)THEN
GKS(I1,I1)=GKS(I1,I1)+JKS(I,1)
END IF
IF(JRR(I,2).EQ.1) THEN
IF(JRDIS(I,2).NE.0)THEN
GKS(I2,I2)=GKS(I2,I2)+Q
P(I2)=Q*JRDIS(I,2)
ELSE
DO J=1,NEQ
GKS(I2,J)=0.
GKS(J,I2)=0.
END DO
GKS(I2,I2)=1.
P(I2)=0.
END IF
END IF
IF(JRR(I,2).EQ.2)THEN
GKS(I2,I2)=GKS(I2,I2)+JKS(I,2)
END IF
END DO
DO J=1,NEQ
U(J)=P(J)
END DO

!Solving N-Equations By Gauss Elimination Method


ALLOCATE(XX(NEQ))
CALL GAUSS(GKS,NEQ,U,XX)

WRITE(6,100)
WRITE(6,600)
DO I=1,NJ
WRITE(6,610)I,XX(2*I-1),XX(2*I)
END DO

!Computing Element Forces


ALLOCATE(UEL(NEQEL))
ALLOCATE(GST(3,NJ))
ALLOCATE(STE(3,NNODE))
ALLOCATE(KP(NNODE))
WRITE(6,620)

DO I=1,NEL
DO J=1,NNODE
JJ=JEL(I,J)
XT(1,J)=XY(JJ,1)
XT(2,J)=XY(JJ,2)
END DO
DO J=1,NEQEL
UEL(J)=U(JP(J))
END DO

CALL STRESS(MT,XT,PMAT,UEL,PROTYPE,STE)

DO J=1,NNODE
KP(J)=JEL(I,J)
END DO
DO J=1,3
DO K=1,NNODE
SUMI(J,K)=GST(J,KP(K))
END DO
END DO
DO J=1,3
DO K=1,NNODE
GST(J,KP(K))=STE(J,K)
END DO
END DO
DO J=1,3
DO K=1,NNODE
GST(J,KP(K))=SUMI(J,K)+GST(J,KP(K))
END DO
END DO
END DO
DO I=1,NJ
WRITE(6,630) I,GST(1,I),GST(2,I),GST(3,I)
END DO

!Computing Reactions
DO I=1,NJ
IF(JRR(I,1).NE.0.0) THEN
DO J=1,NEQ
RR(I,1)=RR(I,1)+RKS(2*I-1,J)*U(J)
END DO
END IF
END DO
DO I=1,NJ
IF(JRR(I,2).NE.0.0) THEN
DO J=1,NEQ
RR(I,2)=RR(I,2)+RKS(2*I,J)*U(J)
END DO
END IF
END DO
WRITE(6,640)
DO I=1,NJ
IF (JRR(I,1).NE.0.OR.JRR(I,2).NE.0) THEN
WRITE(6,650) I,RR(I,1),RR(I,2)
ENDIF
END DO

!Informing End of Analyzing


WRITE(*,660)
STOP

!FORMATS
500 FORMAT(//1X,'NUMBER OF JOINTS=',I3,&
/1X,'NUMBER OF ELEMENTS=',I3,&
/1X,'NUMBER OF ELEMENT NODES=',I3,&
/1X,'NUMBER OF MATERIALS=',I3,&
/1X,'NUMBER OF RESTRAINED JOINTS=',I3,&
/1X,'NUMBER OF SPRING JOINTS=',I3,&
/1X,'NUMBER OF LOADED JOINTS=',I3,&
/1X,'NUMBER OF BODY FORCED ELEMENTS=',I3)
510 FORMAT(//1X,'JOINT DATA', &
//1X,'JOINT',10X,'X',14X,'Y',14X,'RESTRAINTS',10X,'SUP. DISPLCEMENT')
520 FORMAT(1X,I4,5X,F10.3,5X,F10.3,8X,F5.2,4X,F5.2,8X,F5.2,4X,F5.2)
530 FORMAT(//1X,'ELEMENT DATA',&
//1X,'ELEMENT',7X,'T',8X,'E',10X,'V')
540 FORMAT(1X,I4,4X,F5.2,2X,F10.3,6X,F5.2)
550 FORMAT(//1X,'JOINT LOADS',&
//1X,"JOINT",15X,"PX",15X,"PY")
560 FORMAT(1X,I4,10X,F10.3,7X,F10.3)
570 FORMAT(//1X,'BODY FORCES',&
//1X,"ELEMENT",13X,"BFX",14X,"BFY")
580 FORMAT(//1X,'TRACTIONS',&
//1X,"LINE",12X,'START JNT',6X,'END JNT',8X,'TRX',8X,'TRY')
590 FORMAT(1X,I4,12X,I4,10X,I4,6X,F10.3,1X,F10.3)
100 FORMAT(4/7X,'****ANALYSIS RESULTS****')
600 FORMAT(//1X,'JOINT DISPLACEMENTS',&
//1X,'JOINT',9X,'X-DISP',10X,'Y-DISP')
610 FORMAT(1X,I4,4X,F12.5,4X,F12.5)
620 FORMAT(//1X,'JOINT STRESS',&
//1X,'JOINT',7X,'X STRESS',10X,'Y STRESS',10X,'XY STRESS')
630 FORMAT(1X,I4,7X,F10.3,9X,F10.3,9X,F10.3)
640 FORMAT(//1X,'REACTIONS',&
//1X,'JOINT',15X,'RX',15X,'RY')
650 FORMAT(1X,I4,9X,F11.3,6X,F11.3)
660 FORMAT(//1X,'ANALYSIS COMPLETED.SEE THE RESULTS IN THE OUTPUT FILE')
120 FORMAT(/1X,'OK')

CONTAINS

!Element Stiffness Matrix Generator Subroutine


SUBROUTINE ELEM_STIF_MATRIX(XT,E,V,T,BX,BY,PROTYPE,KE,PBE)
REAL,DIMENSION(2,NNODE),INTENT(IN)::XT
REAL,DIMENSION(NEQEL,NEQEL),INTENT(OUT)::KE
REAL,DIMENSION(NEQEL),INTENT(INOUT)::PBE
REAL,DIMENSION(4,4)::XINT,WINT
REAL,DIMENSION(3,3)::D
REAL,DIMENSION(3,NEQEL)::B,DB
REAL,DIMENSION(2,2)::DJ,DJI
REAL,DIMENSION(NNODE,2)::DFX,DFXI
REAL,DIMENSION(NNODE)::FN
REAL,INTENT(INOUT)::E,V,T,BX,BY
INTEGER,INTENT(INOUT)::PROTYPE
REAL::FAC,X1,X2,WI,WJ,WSTAR,DETJ,FACX,FACY,SUM,SEN
INTEGER::NINT,I,J,K,LI,LJ,I1,I2

DO J=1,4
DO K=1,4
XINT(J,K)=0
END DO
END DO
DO J=1,4
DO K=1,4
WINT(J,K)=0
END DO
END DO
DO J=1,3
DO K=1,3
D(J,K)=0
END DO
END DO

XINT(2,1)=-0.577350269
XINT(2,2)=0.577350269
XINT(3,1)=-0.774596669
XINT(3,3)=0.774596669
XINT(4,1)=-0.861136312
XINT(4,2)=-0.339981043
XINT(4,3)=0.339981043
XINT(4,4)=0.861136312

WINT(1,1)=2
WINT(2,1)=1
WINT(2,2)=1
WINT(3,1)=0.555555555
WINT(3,2)=0.888888888
WINT(3,3)=0.555555555
WINT(4,1)=0.347854845
WINT(4,2)=0.652145155
WINT(4,3)=0.652145155
WINT(4,4)=0.347854845

IF(PROTYPE.EQ.11)THEN
FAC=E/(1-V**2)
D(1,1)=FAC
D(1,2)=FAC*V
D(2,1)=D(1,2)
D(2,2)=D(1,1)
D(3,3)=FAC*(1-V)/2
ELSE IF(PROTYPE.EQ.22)THEN
FAC=E/((1-(2*V))*(1+V))
D(1,1)=FAC*(1-V)
D(1,2)=FAC*V
D(2,1)=D(1,2)
D(2,2)=D(1,1)
D(3,3)=FAC*(1-2*V)/2
ELSE
PRINT *,"Please Verify Problem Type. Type (11) for Plane Stress &
and (22) for Plane Strain."
END IF
DO J=1,NEQEL
DO K=1,NEQEL
KE(J,K)=0.0
END DO
END DO
DO J=1,3
DO K=1,NEQEL
B(J,K)=0.0
END DO
END DO
IF(NNODE.EQ.4)THEN
NINT=2
ELSE
NINT=4
END IF
DO 1000 LJ=1,NINT
X2=XINT(LJ,NINT)
WJ=WINT(LJ,NINT)
DO 1000 LI=1,NINT
X1=XINT(LI,NINT)
WI=WINT(LI,NINT)
WSTAR=WI*WJ

CALL SHAPE_FUNC(X1,X2,FN,DFXI)
CALL MULT(XT,DFXI,DJ,2,2,NNODE)

DETJ=DJ(1,1)*DJ(2,2)-DJ(1,2)*DJ(2,1)
IF(DETJ.LE.0.0)THEN
WRITE(*,*)'STOP!!!DETJ<=0.0'
STOP
END IF

DJI(1,1)=DJ(2,2)/DETJ
DJI(2,2)=DJ(1,1)/DETJ
DJI(1,2)=-DJ(1,2)/DETJ
DJI(2,1)=-DJ(2,1)/DETJ

CALL MULT(DFXI,DJI,DFX,NNODE,2,2)

DO I=1,NNODE
I2=2*I
I1=I2-1
B(1,I1)=DFX(I,1)
B(2,I2)=DFX(I,2)
B(3,I1)=B(2,I2)
B(3,I2)=B(1,I1)
END DO

CALL MULT(D,B,DB,3,NEQEL,3)

FAC=T*DETJ*WSTAR

DO I=1,NEQEL
DO J=1,NEQEL
SUM=0.0
DO K=1,3
SEN=B(K,I)*DB(K,J)
SUM=SUM+SEN
END DO
KE(I,J)=SUM*FAC
END DO
END DO

!Equalizing Body Forces to nodal Forces


FACX=BX*DETJ*WSTAR
FACY=BY*DETJ*WSTAR
DO I=1,NNODE
I2=2*I
I1=I2-1
PBE(I1)=PBE(I1)+FN(I)*FACX
PBE(I2)=PBE(I2)+FN(I)*FACY
END DO
1000 CONTINUE
RETURN
END SUBROUTINE ELEM_STIF_MATRIX

!Gaussian Method N Equation Solver Subroutine


SUBROUTINE GAUSS(A,N,B,X)
IMPLICIT NONE
INTEGER,INTENT(IN)::N
INTEGER::I,J
INTEGER,DIMENSION(N)::INDX
REAL,INTENT(INOUT),DIMENSION(N,N)::A
REAL,INTENT(INOUT),DIMENSION(N)::B
REAL,INTENT(OUT),DIMENSION(N)::X
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
CALL REFORMA(A,N,INDX)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
DO I=1,N-1
DO J=I+1,N
B(INDX(J))=B(INDX(J))-A(INDX(J),I)*B(INDX(I))
END DO
END DO
DO I=N,1,-1
X(I)=B(INDX(I))
DO J=I+1,N
X(I)=X(I)-A(INDX(I),J)*X(J)
END DO
X(I)=X(I)/A(INDX(I),I)
END DO
END SUBROUTINE GAUSS
SUBROUTINE REFORMA(A,N,INDX)
IMPLICIT NONE
INTEGER,INTENT(IN)::N
INTEGER::I,J,K,ITMP
INTEGER,INTENT (OUT),DIMENSION(N)::INDX
REAL::C1,PI,PI1,PJ
REAL,INTENT(INOUT),DIMENSION(N,N)::A
REAL,DIMENSION(N)::C
DO I=1,N
INDX(I)=I
END DO
DO I=1,N
C1=0.0
DO J=1,N
C1=AMAX1(C1,ABS(A(I,J)))
END DO
C(I)=C1
END DO
DO J=1,N-1
PI1=0.0
DO I=J,N
PI=ABS(A(INDX(I),J))/C(INDX(I))
IF(PI.GT.PI1)THEN
PI1=PI
K=I
ENDIF
END DO
ITMP=INDX(J)
INDX(J)=INDX(K)
INDX(K)=ITMP
DO I=J+1,N
PJ=A(INDX(I),J)/A(INDX(J),J)
A(INDX(I),J)=PJ
DO K=J+1,N
A(INDX(I),K)=A(INDX(I),K)-PJ*A(INDX(J),K)
END DO
END DO
END DO
END SUBROUTINE REFORMA

!Element Stress Subroutine


SUBROUTINE STRESS(MT,XT,PMAT,UEL,PROTYPE,STE)
REAL,DIMENSION(2,NNODE),INTENT(IN)::XT
REAL,DIMENSION(NMAT,3),INTENT(IN)::PMAT
REAL,DIMENSION(NEQEL),INTENT(IN)::UEL
INTEGER,INTENT(IN)::PROTYPE,MT
REAL,DIMENSION(3,NNODE),INTENT(OUT)::STE
REAL,DIMENSION(3)::STJ
REAL,DIMENSION(3,3)::D
REAL,DIMENSION(3,NEQEL)::B
REAL,DIMENSION(2,2)::DJ,DJI
REAL,DIMENSION(NNODE,2)::DFXI,DFX
REAL,DIMENSION(NNODE)::FN
REAL,DIMENSION(3,2)::BE,DBE
REAL,DIMENSION(9,2)::XI
REAL,DIMENSION(2,1)::UE
REAL::E,V,T,DETJ,FAC,X1,X2
INTEGER::I,J,LI
DO I=1,9
DO J=1,2
XI(I,J)=0.0
END DO
END DO
XI(1,1)=1.0
XI(1,2)=-1.0
XI(2,1)=1.0
XI(2,2)=1.0
XI(3,1)=-1.0
XI(3,2)=1.0
XI(4,1)=-1.0
XI(4,2)=-1.0
XI(5,1)=1.0
XI(6,2)=1.0
XI(7,1)=-1.0
XI(8,2)=-1.0

E=PMAT(MT,1)
V=PMAT(MT,2)
T=PMAT(MT,3)

IF(PROTYPE.EQ.11)THEN
FAC=E/(1-V**2)
D(1,1)=FAC
D(1,2)=FAC*V
D(2,1)=D(1,2)
D(2,2)=D(1,1)
D(3,3)=FAC*(1-V)/2
ELSE IF(PROTYPE.EQ.22)THEN
FAC=E/((1-(2*V))*(1+V))
D(1,1)=FAC*(1-V)
D(1,2)=FAC*V
D(2,1)=D(1,2)
D(2,2)=D(1,1)
D(3,3)=FAC*(1-2*V)/2
ELSE
PRINT *,"Please Verify Problem Type. Type (11) for Plane Stress &
and (22) for Plane Strain."
END IF
B=0.0
DO LI=1,NNODE
X1=XI(LI,1)
X2=XI(LI,2)
CALL SHAPE_FUNC(X1,X2,FN,DFXI)
CALL MULT(XT,DFXI,DJ,2,2,NNODE)

DETJ=DJ(1,1)*DJ(2,2)-DJ(1,2)*DJ(2,1)
IF(DETJ.LE.0.0)THEN
WRITE(*,*)'STOP!!!DETJ<=0.0'
STOP
END IF

DJI(1,1)=DJ(2,2)/DETJ
DJI(2,2)=DJ(1,1)/DETJ
DJI(1,2)=-DJ(1,2)/DETJ
DJI(2,1)=-DJ(2,1)/DETJ

CALL MULT(DFXI,DJI,DFX,NNODE,2,2)

DO I=1,NNODE
I2=2*I
I1=I2-1
B(1,I1)=DFX(I,1)
B(2,I2)=DFX(I,2)
B(3,I1)=B(2,I2)
B(3,I2)=B(1,I1)
END DO

DO I=1,3
DO J=1,2
BE(I,J)=0.0
END DO
END DO
BE(1,1)=B(1,2*LI-1)
BE(2,2)=B(1,2*LI)
BE(3,1)=BE(1,1)
BE(3,2)=BE(2,2)

CALL MULT(D,BE,DBE,3,2,3)

UE(1,1)=UEL(2*LI-1)
UE(2,1)=UEL(2*LI)

CALL MULT(DBE,UE,STJ,3,1,2)

DO J=1,3
STE(J,LI)=STJ(J)
END DO
END DO
END SUBROUTINE STRESS

!Shape Function Producer Subroutine


SUBROUTINE SHAPE_FUNC(X1,X2,FN,DFXI)
REAL,DIMENSION(NNODE,2),INTENT(OUT)::DFXI
REAL,DIMENSION(NNODE),INTENT(OUT)::FN
REAL,DIMENSION(9)::FNB
REAL,DIMENSION(9,2)::DFNBXI
REAL,INTENT(IN)::X1,X2

FNB(1)=(1+X1)*(1-X2)/4
FNB(2)=(1+X1)*(1+X2)/4
FNB(3)=(1-X1)*(1+X2)/4
FNB(4)=(1-X1)*(1-X2)/4
FNB(5)=(1+X1)*(1-X2**2)/2
FNB(6)=(1+X2)*(1-X1**2)/2
FNB(7)=(1-X1)*(1-X2**2)/2
FNB(8)=(1-X2)*(1-X1**2)/2
FNB(9)=(1-X1**2)*(1-X2**2)

DFNBXI(1,1)=(1-X2)/4
DFNBXI(1,2)=-(1+X1)/4
DFNBXI(2,1)=(1+X2)/4
DFNBXI(2,2)=(1+X1)/4
DFNBXI(3,1)=-(1+X2)/4
DFNBXI(3,2)=(1-X1)/4
DFNBXI(4,1)=-(1-X2)/4
DFNBXI(4,2)=-(1-X1)/4
DFNBXI(5,1)=(1-X2**2)/2
DFNBXI(5,2)=-(X2+X1*X2)
DFNBXI(6,1)=-(X1+X1*X2)
DFNBXI(6,2)=(1-X1**2)/2
DFNBXI(7,1)=-(1-X2**2)/2
DFNBXI(7,2)=-(X2-X1*X2)
DFNBXI(8,1)=-(X1-X2*X1)
DFNBXI(8,2)=-(1-X1**2)/2
DFNBXI(9,1)=-2*X1*(1-X2**2)
DFNBXI(9,2)=-2*X2*(1-X1**2)

IF(NNODE.EQ.4)THEN
FN(1)=FNB(1)
FN(2)=FNB(2)
FN(3)=FNB(3)
FN(4)=FNB(4)

DFXI(1,1)=DFNBXI(1,1)
DFXI(1,2)=DFNBXI(1,2)
DFXI(2,1)=DFNBXI(2,1)
DFXI(2,2)=DFNBXI(2,2)
DFXI(3,1)=DFNBXI(3,1)
DFXI(3,2)=DFNBXI(3,2)
DFXI(4,1)=DFNBXI(4,1)
DFXI(4,2)=DFNBXI(4,2)
END IF
IF(NNODE.EQ.8)THEN
FN(1)=FNB(1)-FNB(5)/2-FNB(8)/2
FN(2)=FNB(2)-FNB(5)/2-FNB(6)/2
FN(3)=FNB(3)-FNB(6)/2-FNB(7)/2
FN(4)=FNB(4)-FNB(7)/2-FNB(8)/2
FN(5)=FNB(5)
FN(6)=FNB(6)
FN(7)=FNB(7)
FN(8)=FNB(8)

DFXI(1,1)=DFNBXI(1,1)-DFNBXI(5,1)/2-DFNBXI(8,1)/2
DFXI(1,2)=DFNBXI(1,2)-DFNBXI(5,2)/2-DFNBXI(8,2)/2
DFXI(2,1)=DFNBXI(2,1)-DFNBXI(5,1)/2-DFNBXI(6,1)/2
DFXI(2,2)=DFNBXI(2,2)-DFNBXI(5,2)/2-DFNBXI(6,2)/2
DFXI(3,1)=DFNBXI(3,1)-DFNBXI(6,1)/2-DFNBXI(7,1)/2
DFXI(3,2)=DFNBXI(3,2)-DFNBXI(6,2)/2-DFNBXI(7,2)/2
DFXI(4,1)=DFNBXI(4,1)-DFNBXI(7,1)/2-DFNBXI(8,1)/2
DFXI(4,2)=DFNBXI(4,2)-DFNBXI(7,2)/2-DFNBXI(8,2)/2
DFXI(5,1)=DFNBXI(5,1)
DFXI(5,2)=DFNBXI(5,2)
DFXI(6,1)=DFNBXI(6,1)
DFXI(6,2)=DFNBXI(6,2)
DFXI(7,1)=DFNBXI(7,1)
DFXI(7,2)=DFNBXI(7,2)
DFXI(8,1)=DFNBXI(8,1)
DFXI(8,2)=DFNBXI(8,2)
END IF
IF(NNODE.EQ.9)THEN
FN(1)=FNB(1)-FNB(5)/2-FNB(8)/2+FNB(9)/4
FN(2)=FNB(2)-FNB(5)/2-FNB(6)/2+FNB(9)/4
FN(3)=FNB(3)-FNB(6)/2-FNB(7)/2+FNB(9)/4
FN(4)=FNB(4)-FNB(7)/2-FNB(8)/2+FNB(9)/4
FN(5)=FNB(5)-FNB(9)/2
FN(6)=FNB(6)-FNB(9)/2
FN(7)=FNB(7)-FNB(9)/2
FN(8)=FNB(8)-FNB(9)/2
FN(9)=FNB(9)

DFXI(1,1)=DFNBXI(1,1)-DFNBXI(5,1)/2-DFNBXI(8,1)/2+DFNBXI(9,1)/4
DFXI(1,2)=DFNBXI(1,2)-DFNBXI(5,2)/2-DFNBXI(8,2)/2+DFNBXI(9,2)/4
DFXI(2,1)=DFNBXI(2,1)-DFNBXI(5,1)/2-DFNBXI(6,1)/2+DFNBXI(9,1)/4
DFXI(2,2)=DFNBXI(2,2)-DFNBXI(5,2)/2-DFNBXI(6,2)/2+DFNBXI(9,2)/4
DFXI(3,1)=DFNBXI(3,1)-DFNBXI(6,1)/2-DFNBXI(7,1)/2+DFNBXI(9,1)/4
DFXI(3,2)=DFNBXI(3,2)-DFNBXI(6,2)/2-DFNBXI(7,2)/2+DFNBXI(9,2)/4
DFXI(4,1)=DFNBXI(4,1)-DFNBXI(7,1)/2-DFNBXI(8,1)/2+DFNBXI(9,1)/4
DFXI(4,2)=DFNBXI(4,2)-DFNBXI(7,2)/2-DFNBXI(8,2)/2+DFNBXI(9,2)/4
DFXI(5,1)=DFNBXI(5,1)-DFNBXI(9,1)/2
DFXI(5,2)=DFNBXI(5,2)-DFNBXI(9,2)/2
DFXI(6,1)=DFNBXI(6,1)-DFNBXI(9,1)/2
DFXI(6,2)=DFNBXI(6,2)-DFNBXI(9,2)/2
DFXI(7,1)=DFNBXI(7,1)-DFNBXI(9,1)/2
DFXI(7,2)=DFNBXI(7,2)-DFNBXI(9,2)/2
DFXI(8,1)=DFNBXI(8,1)-DFNBXI(9,1)/2
DFXI(8,2)=DFNBXI(8,2)-DFNBXI(9,2)/2
DFXI(9,1)=DFNBXI(9,1)
DFXI(9,2)=DFNBXI(9,2)
END IF
END SUBROUTINE SHAPE_FUNC

!Multiplier Subroutine
SUBROUTINE MULT(A,B,C,M,N,S)
INTEGER,INTENT(IN)::M,N,S
REAL,DIMENSION(M,S),INTENT(IN)::A
REAL,DIMENSION(S,N),INTENT(IN)::B
REAL,DIMENSION(M,N),INTENT(OUT)::C
INTEGER::I,J,K
REAL::SUM,SEN
DO I=1,M
DO J=1,N
SUM=0.0
DO K=1,S
SEN=A(I,K)*B(K,J)
SUM=SUM+SEN
END DO
C(I,J)=SUM
END DO
END DO
END SUBROUTINE MULT
END PROGRAM ISOPARAMETRIC

EXAMPLE NO.1

INPUT FILE

EXAMPLE1,11,4
6212010
JOINT-COORDINATES
1 0.0 0.0
2 2.0 0.0
3 4.0 0.0
4 0.0 3.0
5 2.0 3.0
6 4.0 3.0
MATERIAL-DATA
1 1000.0 0.3 0.2
ELEMENT-DATA
11
12
15
14
22
23
26
25
RESTRAINED-JOINTS-DATA
1 1 1 0.0 0.0
3 0 1 0.0 0.0
SPRING-JOINTS
JOINT-LOADS
5 0.0 -10.0
BODY-FORCES

OUTPUT FILE

EXAMPLE1

PROBLEM TYPE:PLAIN STRESS


NUMBER OF JOINTS= 6
NUMBER OF ELEMENTS= 2
NUMBER OF ELEMENT NODES= 4
NUMBER OF MATERIALS= 1
NUMBER OF RESTRAINED JOINTS= 2
NUMBER OF SPRING JOINTS= 0
NUMBER OF LOADED JOINTS= 1
NUMBER OF BODY FORCED ELEMENTS= 0

JOINT DATA

JOINT X Y RESTRAINTS SUP. DISPLCEMENT


1 .000 .000 1.00 1.00 .00 .00
2 2.000 .000 .00 .00 .00 .00
3 4.000 .000 .00 1.00 .00 .00
4 .000 3.000 .00 .00 .00 .00
5 2.000 3.000 .00 .00 .00 .00
6 4.000 3.000 .00 .00 .00 .00

ELEMENT DATA

ELEMENT T E V
1 .20 1000.000 .30
2 .20 1000.000 .30

JOINT LOADS

JOINT PX PY
5 .000 -10.000

BODY FORCES

ELEMENT BFX BFY

****ANALYSIS RESULTS****

JOINT DISPLACEMENTS

JOINT X-DISP Y-DISP


1 .00000 .00000
2 ************ 954499.50000
3 293051.20000 .00000
4 ************ ************
5 ************ ************
6 370894.60000 612307.60000

JOINT STRESS

JOINT X STRESS Y STRESS XY STRESS


1 .000 .000 .000
2 .000 .000 .000
3 .000 .000 .000
4 -3663.004 -1098.901 -1282.052
5 -3663.004 -1098.901 -1282.052
6 .000 .000 .000

REACTIONS

JOINT RX RY
1 2.483 30.455
3 .000 148.810

EXAMPLE NO.2

INPUT FILE

EXAMPLE2,11,8
37,8,1,2,2,5,1
JOINT-COORDINATES
1 0.0 0.0
2 1.0 0.0
3 2.0 0.0
4 3.0 0.0
5 4.0 0.0
6 0.0 1.0
7 1.0 1.0
8 2.0 1.0
9 3.0 1.0
10 4.0 1.0
11 0.0 2.0
12 1.0 2.0
13 2.0 2.0
14 3.0 2.0
15 4.0 2.0
16 0.5 0.0
17 1.5 0.0
18 2.5 0.0
19 3.5 0.0
20 0.0 0.5
21 1.0 0.5
22 2.0 0.5
23 3.0 0.5
24 4.0 0.5
25 0.5 1.0
26 1.5 1.0
27 2.5 1.0
28 3.5 1.0
29 0.0 1.5
30 1.0 1.5
31 2.0 1.5
32 3.0 1.5
33 4.0 1.5
34 0.5 2.0
35 1.5 2.0
36 2.5 2.0
37 3.5 2.0
MATERIAL-DATA
1 1000.0 0.3 0.02
ELEMENT-DATA
11
12
17
16
1 16
1 21
1 25
1 20
22
23
28
27
2 17
2 22
2 26
2 21
33
34
39
38
3 18
3 23
3 27
3 22
44
45
4 10
49
4 19
4 24
4 28
4 23
56
57
5 12
5 11
5 25
5 30
5 34
5 29
67
68
6 13
6 12
6 26
6 31
6 35
6 30
78
79
7 14
7 13
7 27
7 32
7 36
7 31
89
8 10
8 15
8 14
8 28
8 33
8 37
8 32
RESTRAINED-JOINTS-DATA
1 1 1 0.1 0.0
19 0 1 0.0 0.8
SPRING-JOINTS
3 0 2 0.0 250.0
24 2 0 150.0 0.0
LOADED-JOINTS
6 20.0 0.0
12 0.0 -25.0
36 0.0 -30.0
33 -12.0 0.0
17 0.0 -18.0
BODY-FORCES
4 5.0 0.0

OUTPUT FILE
EXAMPLE2

PROBLEM TYPE:PLAIN STRESS

NUMBER OF JOINTS= 37
NUMBER OF ELEMENTS= 8
NUMBER OF ELEMENT NODES= 8
NUMBER OF MATERIALS= 1
NUMBER OF RESTRAINED JOINTS= 2
NUMBER OF SPRING JOINTS= 2
NUMBER OF LOADED JOINTS= 5
NUMBER OF BODY FORCED ELEMENTS= 1

JOINT DATA

JOINT X Y RESTRAINTS SUP. DISPLCEMENT


1 .000 .000 1.00 1.00 .10 .00
2 1.000 .000 .00 .00 .00 .00
3 2.000 .000 .00 2.00 .00 .00
4 3.000 .000 .00 .00 .00 .00
5 4.000 .000 .00 .00 .00 .00
6 .000 1.000 .00 .00 .00 .00
7 1.000 1.000 .00 .00 .00 .00
8 2.000 1.000 .00 .00 .00 .00
9 3.000 1.000 .00 .00 .00 .00
10 4.000 1.000 .00 .00 .00 .00
11 .000 2.000 .00 .00 .00 .00
12 1.000 2.000 .00 .00 .00 .00
13 2.000 2.000 .00 .00 .00 .00
14 3.000 2.000 .00 .00 .00 .00
15 4.000 2.000 .00 .00 .00 .00
16 .500 .000 .00 .00 .00 .00
17 1.500 .000 .00 .00 .00 .00
18 2.500 .000 .00 .00 .00 .00
19 3.500 .000 .00 1.00 .00 .80
20 .000 .500 .00 .00 .00 .00
21 1.000 .500 .00 .00 .00 .00
22 2.000 .500 .00 .00 .00 .00
23 3.000 .500 .00 .00 .00 .00
24 4.000 .500 2.00 .00 .00 .00
25 .500 1.000 .00 .00 .00 .00
26 1.500 1.000 .00 .00 .00 .00
27 2.500 1.000 .00 .00 .00 .00
28 3.500 1.000 .00 .00 .00 .00
29 .000 1.500 .00 .00 .00 .00
30 1.000 1.500 .00 .00 .00 .00
31 2.000 1.500 .00 .00 .00 .00
32 3.000 1.500 .00 .00 .00 .00
33 4.000 1.500 .00 .00 .00 .00
34 .500 2.000 .00 .00 .00 .00
35 1.500 2.000 .00 .00 .00 .00
36 2.500 2.000 .00 .00 .00 .00
37 3.500 2.000 .00 .00 .00 .00

ELEMENT DATA
ELEMENT T E V
1 .20 1000.000 .30
2 .20 1000.000 .30
3 .20 1000.000 .30
4 .20 1000.000 .30
5 .20 1000.000 .30
6 .20 1000.000 .30
7 .20 1000.000 .30
8 .20 1000.000 .30

JOINT LOADS

JOINT PX PY
6 20.000 .000
12 .000 -25.000
17 .000 -18.000
33 -12.000 .000
36 .000 -30.000

BODY FORCES

ELEMENT BFX BFY


4 5.000 .000

****ANALYSIS RESULTS****

JOINT DISPLACEMENTS

JOINT X-DISP Y-DISP


1 .10000 .00000
2 ************ ************
3 ************ .31710
4 ************ ************
5 ************ ************
6 ************ ************
7 ************ ************
8 ************ ************
9 ************ ************
10 ************ ************
11 ************ ************
12 ************ ************
13 ************ ************
14 ************ ************
15 ************ ************
16 ************ ************
17 ************ ************
18 ************ ************
19 ************ .80000
20 ************ ************
21 ************ ************
22 ************ ************
23 ************ ************
24 -.57148 ************
25 ************ ************
26 ************ ************
27 ************ ************
28 ************ ************
29 ************ ************
30 ************ ************
31 ************ ************
32 ************ ************
33 ************ ************
34 ************ ************
35 ************ ************
36 ************ ************
37 ************ ************

JOINT STRESS

JOINT X STRESS Y STRESS XY STRESS


1 141209.000 42362.710 49423.160
2 ********** -92974.880 **********
3 ********** -92974.880 **********
4 ********** -92974.880 **********
5 ********** ********** **********
6 141246.000 42373.790 49436.080
7 ********** -83031.660 -96870.270
8 ********** -83031.660 -96870.270
9 ********** -83031.660 -96870.270
10 ********** ********** **********
11 36.907 11.072 12.917
12 33144.090 9943.227 11600.430
13 33144.090 9943.227 11600.430
14 33144.090 9943.227 11600.430
15 33107.180 9932.154 11587.510
16 .000 .000 .000
17 .000 .000 .000
18 .000 .000 .000
19 .000 .000 .000
20 -31785.870 -9535.761 -11125.050
21 ********** -30863.740 -36007.700
22 ********** -30863.740 -36007.700
23 ********** -30863.740 -36007.700
24 -71093.270 -21327.980 -24882.640
25 .000 .000 .000
26 .000 .000 .000
27 .000 .000 .000
28 .000 .000 .000
29 -31785.870 -9535.761 -11125.050
30 ********** -30863.740 -36007.700
31 ********** -30863.740 -36007.700
32 ********** -30863.740 -36007.700
33 -71093.270 -21327.980 -24882.640
34 .000 .000 .000
35 .000 .000 .000
36 .000 .000 .000
37 .000 .000 .000

REACTIONS

JOINT RX RY
1 *********** ***********
3 .000 39.740
19 .000 ***********
24 *********** .000

EXAMPLE NO.3

INPUT FILE

EXAMPLE3,22,4
45,28,1,4,2,7,2
JOINT-COORDINATES
1 0.0 0.0
2 1.0 0.0
3 2.0 0.0
4 6.0 0.0
5 7.0 0.0
6 8.0 0.0
7 0.0 1.0
8 1.0 1.0
9 2.0 1.0
10 6.0 1.0
11 7.0 1.0
12 8.0 1.0
13 0.0 2.0
14 1.0 2.0
15 2.0 2.0
16 6.0 2.0
17 7.0 2.0
18 8.0 2.0
19 0.0 3.0
20 1.0 3.0
21 2.0 3.0
22 6.0 3.0
23 7.0 3.0
24 8.0 3.0
25 0.0 4.0
26 1.0 4.0
27 3.0 4.0
28 4.0 4.0
29 5.0 4.0
30 6.0 4.0
31 8.0 4.0
32 0.0 5.0
33 1.0 5.0
34 3.0 5.0
35 4.0 5.0
36 5.0 5.0
37 6.0 5.0
38 8.0 5.0
39 0.0 6.0
40 1.0 6.0
41 3.0 6.0
42 4.0 6.0
43 5.0 6.0
44 6.0 6.0
45 8.0 6.0
MATERIAL-DATA
1 1000.0 0.3 0.2
ELEMENT-DATA
11
12
18
17
22
23
29
28
34
35
3 11
3 10
45
46
4 12
4 11
57
58
5 14
5 13
68
69
6 15
6 14
7 10
7 11
7 17
7 16
8 11
8 12
8 18
8 17
9 13
9 14
9 20
9 19
10 14
10 15
10 21
10 20
11 16
11 17
11 23
11 22
12 17
12 18
12 24
12 23
13 19
13 20
13 26
13 25
14 20
14 21
14 27
14 26
15 22
15 23
15 30
15 29
16 23
16 24
16 31
16 30
17 25
17 26
17 33
17 32
18 26
18 27
18 34
18 33
19 27
19 28
19 35
19 34
20 28
20 29
20 36
20 35
21 29
21 30
21 37
21 36
22 30
22 31
22 38
22 37
23 32
23 33
23 40
23 39
24 33
24 34
24 41
24 40
25 34
25 35
25 42
25 41
26 35
26 36
26 43
26 42
27 36
27 37
27 44
27 43
28 37
28 38
28 45
28 44
RESTRAINED-JOINTS-DATA
1 1 1 0.0 0.0
2 1 1 0.5 0.0
5 1 1 0.0 0.8
6 1 1 0.0 0.0
SPRING-JOINTS
3 0 2 0.0 250.0
4 0 2 0.0 150.0
LOADED-JOINTS
39 0.0 -50.0
40 0.0 -40.0
41 0.0 -30.0
42 0.0 -50.0
43 0.0 -30.0
44 0.0 -40.0
45 0.0 -50.0
BODY-FORCES
18 0.0 15.0
19 -10.0 0.0
20 0.0 -20.0
21 25.0 0.0

OUTPUT FILE

EXAMPLE3

PROBLEM TYPE:PLAIN STRAIN

NUMBER OF JOINTS= 45
NUMBER OF ELEMENTS= 28
NUMBER OF ELEMENT NODES= 4
NUMBER OF MATERIALS= 1
NUMBER OF RESTRAINED JOINTS= 4
NUMBER OF SPRING JOINTS= 2
NUMBER OF LOADED JOINTS= 7
NUMBER OF BODY FORCED ELEMENTS= 2

JOINT DATA

JOINT X Y RESTRAINTS SUP. DISPLCEMENT


1 .000 .000 1.00 1.00 .00 .00
2 1.000 .000 1.00 1.00 .50 .00
3 2.000 .000 .00 2.00 .00 .00
4 6.000 .000 .00 2.00 .00 .00
5 7.000 .000 1.00 1.00 .00 .80
6 8.000 .000 1.00 1.00 .00 .00
7 .000 1.000 .00 .00 .00 .00
8 1.000 1.000 .00 .00 .00 .00
9 2.000 1.000 .00 .00 .00 .00
10 6.000 1.000 .00 .00 .00 .00
11 7.000 1.000 .00 .00 .00 .00
12 8.000 1.000 .00 .00 .00 .00
13 .000 2.000 .00 .00 .00 .00
14 1.000 2.000 .00 .00 .00 .00
15 2.000 2.000 .00 .00 .00 .00
16 6.000 2.000 .00 .00 .00 .00
17 7.000 2.000 .00 .00 .00 .00
18 8.000 2.000 .00 .00 .00 .00
19 .000 3.000 .00 .00 .00 .00
20 1.000 3.000 .00 .00 .00 .00
21 2.000 3.000 .00 .00 .00 .00
22 6.000 3.000 .00 .00 .00 .00
23 7.000 3.000 .00 .00 .00 .00
24 8.000 3.000 .00 .00 .00 .00
25 .000 4.000 .00 .00 .00 .00
26 1.000 4.000 .00 .00 .00 .00
27 3.000 4.000 .00 .00 .00 .00
28 4.000 4.000 .00 .00 .00 .00
29 5.000 4.000 .00 .00 .00 .00
30 6.000 4.000 .00 .00 .00 .00
31 8.000 4.000 .00 .00 .00 .00
32 .000 5.000 .00 .00 .00 .00
33 1.000 5.000 .00 .00 .00 .00
34 3.000 5.000 .00 .00 .00 .00
35 4.000 5.000 .00 .00 .00 .00
36 5.000 5.000 .00 .00 .00 .00
37 6.000 5.000 .00 .00 .00 .00
38 8.000 5.000 .00 .00 .00 .00
39 .000 6.000 .00 .00 .00 .00
40 1.000 6.000 .00 .00 .00 .00
41 3.000 6.000 .00 .00 .00 .00
42 4.000 6.000 .00 .00 .00 .00
43 5.000 6.000 .00 .00 .00 .00
44 6.000 6.000 .00 .00 .00 .00
45 8.000 6.000 .00 .00 .00 .00

ELEMENT DATA

ELEMENT T E V
1 .20 1000.000 .30
2 .20 1000.000 .30
3 .20 1000.000 .30
4 .20 1000.000 .30
5 .20 1000.000 .30
6 .20 1000.000 .30
7 .20 1000.000 .30
8 .20 1000.000 .30
9 .20 1000.000 .30
10 .20 1000.000 .30
11 .20 1000.000 .30
12 .20 1000.000 .30
13 .20 1000.000 .30
14 .20 1000.000 .30
15 .20 1000.000 .30
16 .20 1000.000 .30
17 .20 1000.000 .30
18 .20 1000.000 .30
19 .20 1000.000 .30
20 .20 1000.000 .30
21 .20 1000.000 .30
22 .20 1000.000 .30
23 .20 1000.000 .30
24 .20 1000.000 .30
25 .20 1000.000 .30
26 .20 1000.000 .30
27 .20 1000.000 .30
28 .20 1000.000 .30

JOINT LOADS

JOINT PX PY
39 .000 -50.000
40 .000 -40.000
41 .000 -30.000
42 .000 -50.000
43 .000 -30.000
44 .000 -40.000
45 .000 -50.000

BODY FORCES

ELEMENT BFX BFY


18 .000 15.000
19 -10.000 .000

****ANALYSIS RESULTS****

JOINT DISPLACEMENTS

JOINT X-DISP Y-DISP


1 .00000 .00000
2 .50001 .00000
3 3177.85800 133.82550
4 -150.86730 -31.01843
5 .00000 .80000
6 .00000 .00000
7 12575.73000 56232.34000
8 9281.56300 -16980.65000
9 962.57950 7030.54700
10 -498.86740 -1162.51600
11 -14.98224 -374.63430
12 -150.87320 198.44940
13 -23764.56000 ************
14 -8047.10300 76935.49000
15 3789.35700 -13211.41000
16 -523.96310 -2019.98000
17 -1101.57900 -882.19760
18 -659.86220 462.08930
19 65802.25000 ************
20 12582.51000 ************
21 -30042.52000 101545.60000
22 -4141.67000 -372.59260
23 -772.23130 -2097.14400
24 -2823.19400 991.85140
25 ************ ************
26 ************ ************
27 41284.37000 ************
28 -35573.50000 88135.80000
29 3502.36800 -39720.26000
30 -10159.96000 -582.57950
31 -3767.03100 66.18999
32 ************ ************
33 372437.80000 ************
34 ************ ************
35 91787.95000 ************
36 -49546.11000 103664.50000
37 4447.02000 -39441.94000
38 -14349.77000 10154.65000
39 ************ ************
40 ************ ************
41 716038.10000 ************
42 ************ ************
43 136963.10000 ************
44 -67129.93000 121117.10000
45 761.00150 -32742.38000

JOINT STRESS

JOINT X STRESS Y STRESS XY STRESS


1 -12645.300 -5419.415 -3612.943
2 463.709 198.732 132.488
3 13109.010 5618.147 3745.431
4 -12645.300 -5419.415 -3612.943
5 463.709 198.732 132.488
6 13109.010 5618.147 3745.431
7 -11934.110 -5114.619 -3409.746
8 20666.610 8857.123 5904.747
9 32600.730 13971.740 9314.493
10 -11934.110 -5114.619 -3409.746
11 20666.610 8857.123 5904.747
12 32600.730 13971.740 9314.493
13 -11934.110 -5114.619 -3409.746
14 20666.610 8857.123 5904.747
15 32600.730 13971.740 9314.493
16 -11934.110 -5114.619 -3409.746
17 20666.610 8857.123 5904.747
18 32600.730 13971.740 9314.493
19 -11934.110 -5114.619 -3409.746
20 20666.610 8857.123 5904.747
21 32600.730 13971.740 9314.493
22 -11934.110 -5114.619 -3409.746
23 20666.610 8857.123 5904.747
24 32600.730 13971.740 9314.493
25 -11934.110 -5114.619 -3409.746
26 26633.670 11414.430 7609.621
27 3655.063 1566.456 1044.304
28 463.709 198.732 132.488
29 1174.898 503.528 335.685
30 26633.670 11414.430 7609.621
31 16300.360 6985.870 4657.247
32 -11934.110 -5114.619 -3409.746
33 26633.670 11414.430 7609.621
34 4366.253 1871.251 1247.501
35 20666.610 8857.123 5904.747
36 20666.610 8857.123 5904.747
37 26633.670 11414.430 7609.621
38 16300.360 6985.870 4657.247
39 711.189 304.796 203.197
40 19847.310 8505.991 5670.661
41 10457.050 4481.592 2987.728
42 20202.910 8658.390 5772.259
43 20202.910 8658.390 5772.259
44 19847.310 8505.991 5670.661
45 9745.858 4176.797 2784.531

REACTIONS

JOINT RX RY
1 *********** ***********
2 *********** ***********
3 .000 ***********
4 .000 ***********
5 *********** ***********
6 *********** ***********

EXAMPLE NO.4

INPUT FILE

EXAMPLE4,11,9
39,6,1,3,2,14,3
JOINT-COORDINATES
1 2.0 0.0
2 4.0 0.0
3 2.0 2.0
4 4.0 2.0
5 2.0 4.0
6 4.0 4.0
7 0.0 6.0
8 2.0 6.0
9 4.0 6.0
10 6.0 6.0
11 0.0 8.0
12 2.0 8.0
13 4.0 8.0
14 6.0 8.0
15 3.0 0.0
16 2.0 1.0
17 3.0 1.0
18 4.0 1.0
19 3.0 2.0
20 2.0 3.0
21 3.0 3.0
22 4.0 3.0
23 3.0 4.0
24 2.0 5.0
25 3.0 5.0
26 4.0 5.0
27 1.0 6.0
28 3.0 6.0
29 5.0 6.0
30 0.0 7.0
31 1.0 7.0
32 2.0 7.0
33 3.0 7.0
34 4.0 7.0
35 5.0 7.0
36 6.0 7.0
37 1.0 8.0
38 3.0 8.0
39 5.0 8.0
MATERIAL-DATA
1 1000.0 0.3 0.02
ELEMENT-DATA
11
12
14
13
1 15
1 18
1 19
1 16
1 17
23
24
26
25
2 19
2 22
2 23
2 20
2 21
35
36
39
38
3 23
3 26
3 28
3 24
3 25
47
48
4 12
4 11
4 27
4 32
4 37
4 30
4 31
58
59
5 13
5 12
5 28
5 34
5 38
5 32
5 33
69
6 10
6 14
6 13
6 29
6 36
6 39
6 34
6 35
RESTRAINED-JOINTS-DATA
1 1 1 0.0 0.0
2 1 1 0.0 0.0
15 1 1 0.0 0.0
SPRING-JOINTS
4 2 0 100.0 0.0
6 2 0 100.0 0.0
LOADED-JOINTS
16 100.0 0.0
3 200.0 0.0
20 300.0 0.0
5 400.0 0.0
24 500.0 0.0
7 600.0 0.0
30 700.0 0.0
11 800.0 -100.0
12 0.0 -100.0
13 0.0 -100.0
14 0.0 -100.0
37 0.0 -100.0
38 0.0 -100.0
39 0.0 -100.0
BODY-FORCES
17 0.0 -20.0
21 0.0 -20.0
25 0.0 -20.0

OUTPUT FILE

EXAMPLE4

PROBLEM TYPE:PLAIN STRESS

NUMBER OF JOINTS= 39
NUMBER OF ELEMENTS= 6
NUMBER OF ELEMENT NODES= 9
NUMBER OF MATERIALS= 1
NUMBER OF RESTRAINED JOINTS= 3
NUMBER OF SPRING JOINTS= 2
NUMBER OF LOADED JOINTS= 14
NUMBER OF BODY FORCED ELEMENTS= 3

JOINT DATA

JOINT X Y RESTRAINTS SUP. DISPLCEMENT


1 2.000 .000 1.00 1.00 .00 .00
2 4.000 .000 1.00 1.00 .00 .00
3 2.000 2.000 .00 .00 .00 .00
4 4.000 2.000 2.00 .00 .00 .00
5 2.000 4.000 .00 .00 .00 .00
6 4.000 4.000 2.00 .00 .00 .00
7 .000 6.000 .00 .00 .00 .00
8 2.000 6.000 .00 .00 .00 .00
9 4.000 6.000 .00 .00 .00 .00
10 6.000 6.000 .00 .00 .00 .00
11 .000 8.000 .00 .00 .00 .00
12 2.000 8.000 .00 .00 .00 .00
13 4.000 8.000 .00 .00 .00 .00
14 6.000 8.000 .00 .00 .00 .00
15 3.000 .000 1.00 1.00 .00 .00
16 2.000 1.000 .00 .00 .00 .00
17 3.000 1.000 .00 .00 .00 .00
18 4.000 1.000 .00 .00 .00 .00
19 3.000 2.000 .00 .00 .00 .00
20 2.000 3.000 .00 .00 .00 .00
21 3.000 3.000 .00 .00 .00 .00
22 4.000 3.000 .00 .00 .00 .00
23 3.000 4.000 .00 .00 .00 .00
24 2.000 5.000 .00 .00 .00 .00
25 3.000 5.000 .00 .00 .00 .00
26 4.000 5.000 .00 .00 .00 .00
27 1.000 6.000 .00 .00 .00 .00
28 3.000 6.000 .00 .00 .00 .00
29 5.000 6.000 .00 .00 .00 .00
30 .000 7.000 . 00 .00 .00 .00
31 1.000 7.000 .00 .00 .00 .00
32 2.000 7.000 .00 .00 .00 .00
33 3.000 7.000 .00 .00 .00 .00
34 4.000 7.000 .00 .00 .00 .00
35 5.000 7.000 .00 .00 .00 .00
36 6.000 7.000 .00 .00 .00 .00
37 1.000 8.000 .00 .00 .00 .00
38 3.000 8.000 .00 .00 .00 .00
39 5.000 8.000 .00 .00 .00 .00

ELEMENT DATA

ELEMENT T E V
1 .2 1000.000 .30
2 .2 1000.000 .30
3 .2 1000.000 .30
4 .2 1000.000 .30
5 .2 1000.000 .30
6 .2 1000.000 .30

JOINT LOADS

JOINT PX PY
3 200.000 .000
5 400.000 .000
7 600.000 .000
11 800.000 -100.000
12 .000 -100.000
13 .000 -100.000
14 .000 -100.000
16 100.000 .000
20 300.000 .000
24 500.000 .000
30 700.000 .000
37 .000 -100.000
38 .000 -100.000
39 .000 -100.000

****ANALYSIS RESULTS****

JOINT DISPLACEMENTS

JOINT X-DISP Y-DISP


1 .00000 .00000
2 .00000 .00000
3 -3.45372 16.61054
4 -2.48289 -24.36824
5 88.39258 87.21264
6 52.37027 -96.33440
7 383.27919 493.01820
8 365.24566 153.14022
9 361.09787 -163.65168
10 361.77411 -515.58223
11 726.60884 502.24783
12 707.22967 160.70250
13 704.66625 -172.46129
14 708.52052 -518.00461
15 0.00000 0.00000
16 -6.43683 3.52006
17 -7.86317 -1.57135
18 -5.97284 -6.99525
19 -5.81124 -3.05008
20 21.68191 47.56414
21 14.52446 -6.61229
22 20.66836 -53.08561
23 73.59808 -4.55364
24 207.46394 125.98405
25 199.84186 -2.62149
26 205.41129 -137.96054
27 372.88006 327.73742
28 362.05723 -5.35517
29 361.15390 -343.33492
30 545.00825 498.20969
31 542.79482 327.63469
32 538.72042 158.83764
33 534.57743 -5.20376
34 534.35160 -170.30691
35 534.62922 -342.92873
36 534.09480 -516.97675
37 714.20453 327.90112
38 704.72761 -5.01955
39 706.68851 -343.44634

JOINT STRESS

JOINT X STRESS Y STRESS XY STRESS


1 -417.0855 -1390.2852 -4287.2307
2 -595.5122 -1985.0408 -4117.0164
3 178.3091 17929.1953 -4284.1466
4 -656.3442 -22758.7598 -5355.9888
5 1781.2513 44530.3242 -1638.7881
6 -43515.175 -63569.049 -21465.6695
7 -11045.0947 2454.6394 -3395.8801
8 2309.4536 22041.3701 7131.5687
9 -5672.4346 -19425.3582 -456.8119
10 471.3699 -1436.4368 1053.3957
11 -15473.1885 -1180.4992 5236.7759
12 -4698.4189 -1460.9518 923.8123
13 1305.2738 487.6282 209.0470
14 1630.2542 -355.4504 -333.3163
15 -533.2908 -1777.6361 -4931.0496
16 -651.7574 8109.7443 -2558.4646
17 -247.8230 -1599.3887 -3139.7207
18 -117.1084 -12219.2544 -2627.5409
19 61.1942 -1414.0765 -5184.5775
20 -3536.0407 34240.2338 -4655.7066
21 -804.7357 -993.2002 -4084.6989
22 2197.4029 -35323.8554 -5844.3015
23 -18187.2854 -587.1075 -5127.2869
24 -4756.8147 31536.7462 5072.2101
25 -1259.9488 -778.7462 4714.3384
26 2272.0842 -32977.0154 6022.3076
27 -10003.2494 -3288.2790 -296.8154
28 -3949.3050 -6251.3759 8386.6252
29 657.7437 1065.4172 -685.3603
30 111.5349 4648.2730 77.2503
31 -3427.8665 -946.5082 375.4641
32 -4253.3396 2505.1378 1186.1263
33 -2345.1287 -535.7331 2601.1202
34 451.9819 -4269.2128 2365.4426
35 -159.4667 -103.5500 -218.3133
36 -1432.7535 -1641.0132 -533.8114
37 -10499.2129 -2698.7562 532.5107
38 -1342.3433 -202.1051 916.6427
39 1794.8182 -441.0686 -546.3034

REACTIONS

JOINT RX RY
1 267.390 151.239
2 182.343 99.709
4 248.288 0.000
6 -5237.026 0.000
15 939.003 449.050

You might also like