16.6 Computer Program for Finite Element Free Vibration Analysis of Plates
599
Table 16.9 (continued)
hj = 0.555555555555556
go to 170
140 if(j-2) 160,150,160
150 eta = 0.0
hj = 0.888888888888889
go to 170
160 eta = 0.774596669241483
hj = 0.555555555555556
170 return
end
c**********************************************************************
c
SUBROUTINE ASSEM
c***********************************************************************
subroutine assem(iim,nbh,stiff,nod,stifo,nenp,nelm,nn,nfree)
dimension stifo(1),stiff(nenp,nenp), nod(40,8)
ii=iim
do 55 i=1,nn
iii = nod(ii,i)
ii1=iii-1
m=nfree*ii1
mi=nfree*(i-1)
do 55 j=1,nn
jjj=nod(ii,j)
jj1=jjj-1
n=nfree*jj1
nj= nfree*(j-1)
do 50 k=1,nfree
mmi=m+k
mmm= mmi-1
imi=mi+k
do 50 l=1,nfree
nnj= n+l
jnj= nj+l
if (nnj.gt.mmi) go to 50
if ( mmi-nbh) 35,35,40
35
kjj= mmm*(mmm+1)/2+nnj
kkj=kjj
go to 45
40
kkj=nbh*(nbh+1)/2
lrow = (mmm-nbh+1)*nbh+nnj-MMI
kkj= kkj+lrow
45
continue
stifo(kkj)= stifo(kkj)+stiff(imi,jnj)
50 continue
55 continue
return
end
c**************************************************************************
c
end of subroutine assem
c**************************************************************************
subroutine masmat(sfd,zac,hi,hj,rho,sum,elmas,nn)
dimension sfd(1),elmas(1)
do 10 ii=1,nn
s=sfd(ii)*sfd(ii)*zac*hi*hj
elmas(ii) = elmas(ii)+s
sum= sum+s
10
continue
return
end
c****************************************************************************
c
end of subroutine masmat
c****************************************************************************
(continued)
599
Table 16.9 (continued)
hj = 0.555555555555556
go to 170
140 if(j-2) 160,150,160
150 eta = 0.0
hj = 0.888888888888889
go to 170
160 eta = 0.774596669241483
hj = 0.555555555555556
170 return
end
c**********************************************************************
c
SUBROUTINE ASSEM
c***********************************************************************
subroutine assem(iim,nbh,stiff,nod,stifo,nenp,nelm,nn,nfree)
dimension stifo(1),stiff(nenp,nenp), nod(40,8)
ii=iim
do 55 i=1,nn
iii = nod(ii,i)
ii1=iii-1
m=nfree*ii1
mi=nfree*(i-1)
do 55 j=1,nn
jjj=nod(ii,j)
jj1=jjj-1
n=nfree*jj1
nj= nfree*(j-1)
do 50 k=1,nfree
mmi=m+k
mmm= mmi-1
imi=mi+k
do 50 l=1,nfree
nnj= n+l
jnj= nj+l
if (nnj.gt.mmi) go to 50
if ( mmi-nbh) 35,35,40
35
kjj= mmm*(mmm+1)/2+nnj
kkj=kjj
go to 45
40
kkj=nbh*(nbh+1)/2
lrow = (mmm-nbh+1)*nbh+nnj-MMI
kkj= kkj+lrow
45
continue
stifo(kkj)= stifo(kkj)+stiff(imi,jnj)
50 continue
55 continue
return
end
c**************************************************************************
c
end of subroutine assem
c**************************************************************************
subroutine masmat(sfd,zac,hi,hj,rho,sum,elmas,nn)
dimension sfd(1),elmas(1)
do 10 ii=1,nn
s=sfd(ii)*sfd(ii)*zac*hi*hj
elmas(ii) = elmas(ii)+s
sum= sum+s
10
continue
return
end
c****************************************************************************
c
end of subroutine masmat
c****************************************************************************
(continued)
