You are on page 1of 5

OPTION BASE 1

READ nm,npk,npu
READ e,nlc
Print "Displacement method of truss analysis"
PRINT "nm =";nm,"npk =";npk,"npu =";npu
PRINT "e=";e
LET np = npk+npu
DIM lk(4,4), k(np,np),x(np,nlc)
DIM k11(npk,npk),k21(npu,npk),invk11(npk,npk)
DIM pk(npk,nlc),p1(npk,nlc),xu(npk,nlc)
DIM pu(npu,nlc), If(1,nlc), sb(nm,np),lx(4,nlc),f(nm,nlc)
REM
REM nxu=npk nxk,{xk}=0, no nsupport settlement
REM ************************
REM * * * [k12]{xk}=0
REM * [k11] * [k12] * npk
REM [k]= * * *
REM ************************
REM * [k21] * [k22] * npu
[k22]{xk}=0
REM ************************
REM
REM np=npk + npu = nxu + nxk
REM {pk} = [k11]{xu}
REM {pu}= [k21]{xu}
REM
PRINT "The local matrix"
FOR i = 1 TO nm
READ memno,np1,np2,np3,np4,h,v,a
LET l=SQR(h*h+v*v)
LET cs=h/l
LET sn=v/l
REM ********************************
REM * build up the local stiffness matrix *
REM ********************************
LET lk(1,1)=cs*cs*a*e/l
LET lk(1,2)=cs*sn*a*e/l
LET lk(1,3)=-cs*cs*a*e/l
LET lk(1,4)=-cs*sn*a*e/l
LET lk(2,1)=lk(1,2)
LET lk(2,2)=sn*sn*a*e/l
LET lk(2,3)=-cs*sn*a*e/l
LET lk(2,4)=-sn*sn*a*e/l
LET lk(3,1)=lk(1,3)
LET lk(3,2)=lk(2,3)
LET lk(3,3)=cs*cs*a*e/l
LET lk(3,4)=cs*sn*a*e/l
LET lk(4,1)=lk(1,4)
LET lk(4,2)=lk(2,4)
LET lk(4,3)=lk(3,4)
LET lk(4,4)=sn*sn*a*e/l
REM *********************************
REM * compile the global stiffness matrix *
REM *********************************
LET k(np1,np1)=k(np1,np1)+lk(1,1)
LET K(np1,np2)=K(np1,np2)+lk(1,2)
LET K(np1,np3)=K(np1,np3)+lk(1,3)
LET K(np1,np4)=K(np1,np4)+lk(1,4)
LET k(np2,np1)=k(np2,np1)+lk(2,1)
LET K(np2,np2)=K(np2,np2)+lk(2,2)
LET K(np2,np3)=K(np2,np3)+lk(2,3)
LET K(np2,np4)=K(np2,np4)+lk(2,4)
LET k(np3,np1)=k(np3,np1)+lk(3,1)
LET K(np3,np2)=K(np3,np2)+lk(3,2)
LET K(np3,np3)=K(np3,np3)+lk(3,3)
LET K(np3,np4)=K(np3,np4)+lk(3,4)
LET k(np4,np1)=k(np4,np1)+lk(4,1)
LET K(np4,np2)=K(np4,np2)+lk(4,2)
LET K(np4,np3)=K(np4,np3)+lk(4,3)
LET K(np4,np4)=K(np4,np4)+lk(4,4)
REM ************************
REM *print mrember information *
REM ************************
PRINT "Member";i
PRINT "HOR=";H, "VER=";V, "LEN=";I,
"COS=";cs,"SIN=";sn
PRINT "NP1=";np1, "NP2=";np2, "NP3=";np3,
"NP4=";np4
REM ************************
REM *print local stiffness matrix *
REM ************************
PRINT "The Local Matrix"
MAT PRINT lk
REM **********************************
REM *compile the force-displacement matrix *
REM **********************************
LET sb(i,np1)=cs*a*e/l
LET sb(i,np2)=sn*a*e/l
LET sb(i,np3)=-cs*a*e/l
LET sb(i,np4)=-sn*a*e/l

NEXT i

REM ********************
REM * print global matrix [k] *
REM ********************
PRINT "The Global Matrix"
MAT PRINT k
REM *****************************
REM *read and print matrix [pk] by row *
REM *****************************
MAT READ pk
PRINT "The Load matrix, Pk"
MAT PRINT pk
REM **************************
REM *partitioning the global matrix *
REM **************************
FOR i = 1 TO npk
FOR j = 1 TO npk
LET k11(i,j) = k(i,j)
NEXT j
NEXT i
PRINT "The matrix k11"
MAT PRINT K11
FOR i = 1 TO npu

FOR j= 1 TO npk
LET k21(i,j)=k(i+npk,j)
NEXT j
NEXT i
PRINT "The matrix k21"
MAT PRINT k21
REM ****************************************
REM * calculate and print displacement matrix, xu *
REM ****************************************
PRINT "The inverse matrix k11"
MAT invk11=INV(k11)
MAT PRINT invk11
MAT xu= invk11*pk
PRINT "The displacement matrix"
MAT PRINT xu
REM **************************************
REM * calculate and print the reaction matrix,pu *
REM **************************************
MAT pu = k21*xu
PRINT "The support reactions"
MAT PRINT pu
FOR i=1 TO npk
FOR j=1 TO nlc
LET x(i,j) = xu(i,j)
LET x(i,j) = xu(i,j)
LET x(i,j) = xu(i,j)
LET x(i,j) = xu(i,j)
NEXT j
NEXT i
REM ******************************************
REM * calculate and print the member force matrix,f *
REM ******************************************
MAT f = sb*x
PRINT "The member forces"
MAT PRINT f
DATA 3,2,6
DATA 200e6,1
DATA 1,3,4,1,2,3,4,0.004
DATA 2,5,6,1,2,0,4,0.003
DATA 3,7,8,1,2,-3,4,0.004
DATA 600
DATA -1200
End

You might also like