600
16 Computer Programs in Vibration Analysis
Table 16.9 (continued)
subroutine omas (ii,nn,nfree,nelm,nod,elmas,amaso)
dimension sfd(1),elmas(1),amaso(1),nod(40,8)
do 55 i=1,nn
jj=(nod(ii,i)-1)*nfree+1
amaso(jj)=amaso(jj)+elmas(i)
55
continue
return
end
c****************************************************************************
c
end of subroutine omas
c****************************************************************************
subroutine output (nd,n,nrqd,value,vector,ier,m)
real value(1),vector(nd,m)
do 100 in=1,nrqd
write(8,101)'
eigenvalue for mode(',in,')',value(in)
write(8,*)'
the eigenfvectors are'
write(8,*)'
w
thetax
thetay'
101
format (i5,g15.5)
do 20 ij=1,n,.5
write(8,102)(vector(i,in),i= ij,ij+2)
20
continue
write(8,103)'
error code(ier) = ',ier
102
format(5i5)
103
format (2x,6g13.5)
100
continue
return
end
c***************************************************************************
c***************************************************************************
c
TWO POINT GAUSS INTEGRATION
c***************************************************************************
subroutine gacuv (i,j,zi,eta,hi,hj,nq)
if(nq-2) 70,10,70
10 if(i-1) 30,20,30
20 zi = -0.577350269189626
hi = 1.0
go to 40
30 zi = 0.577350269189626
hi = 1.00
40 if(j-1) 60,50,60
50 eta = -0.577350269189626
hj = 1.0
go to 170
60 eta = 0.577350269189626
hj = 1.0
go to 170
70 if(i-1) 90,80,90
80 zi = -0.774556669241483
hi = 0.555555555555556
go to 120
90 if(i-2) 110,100,110
100 zi = 0.0
hi = 0.888888888888889
go to 120
110 zi = 0.774596669241483
hi = 0.555555555555556
120 if(j-1) 140,130,140
130 eta = -0.774596669241483
hj = 0.555555555555556
go to 170
140 if(j-2) 160,150,160
150 eta = 0.0
hj = 0.888888888888889
(continued)
16 Computer Programs in Vibration Analysis
Table 16.9 (continued)
subroutine omas (ii,nn,nfree,nelm,nod,elmas,amaso)
dimension sfd(1),elmas(1),amaso(1),nod(40,8)
do 55 i=1,nn
jj=(nod(ii,i)-1)*nfree+1
amaso(jj)=amaso(jj)+elmas(i)
55
continue
return
end
c****************************************************************************
c
end of subroutine omas
c****************************************************************************
subroutine output (nd,n,nrqd,value,vector,ier,m)
real value(1),vector(nd,m)
do 100 in=1,nrqd
write(8,101)'
eigenvalue for mode(',in,')',value(in)
write(8,*)'
the eigenfvectors are'
write(8,*)'
w
thetax
thetay'
101
format (i5,g15.5)
do 20 ij=1,n,.5
write(8,102)(vector(i,in),i= ij,ij+2)
20
continue
write(8,103)'
error code(ier) = ',ier
102
format(5i5)
103
format (2x,6g13.5)
100
continue
return
end
c***************************************************************************
c***************************************************************************
c
TWO POINT GAUSS INTEGRATION
c***************************************************************************
subroutine gacuv (i,j,zi,eta,hi,hj,nq)
if(nq-2) 70,10,70
10 if(i-1) 30,20,30
20 zi = -0.577350269189626
hi = 1.0
go to 40
30 zi = 0.577350269189626
hi = 1.00
40 if(j-1) 60,50,60
50 eta = -0.577350269189626
hj = 1.0
go to 170
60 eta = 0.577350269189626
hj = 1.0
go to 170
70 if(i-1) 90,80,90
80 zi = -0.774556669241483
hi = 0.555555555555556
go to 120
90 if(i-2) 110,100,110
100 zi = 0.0
hi = 0.888888888888889
go to 120
110 zi = 0.774596669241483
hi = 0.555555555555556
120 if(j-1) 140,130,140
130 eta = -0.774596669241483
hj = 0.555555555555556
go to 170
140 if(j-2) 160,150,160
150 eta = 0.0
hj = 0.888888888888889
(continued)
