598
16 Computer Programs in Vibration Analysis
Table 16.9 (continued)
dxz=0.
dyz=0.
dxe=0.
dye=0.
do 521 ij=1,nn
dxz= dxz+sfdz(ij)*xg(ij)
dyz= dyz+sfdz(ij)*yg(ij)
dxe= dxe+sfde(ij)*xg(ij)
dye= dye+ sfde(ij)*yg(ij)
521
continue
zac= dxz*dye-dyz*dxe
zac=abs(zac)
call masmat (sfd,zac,hi,hj,rho,sum,elmas,nn)
do 50 ij=1,nn
50
elmas(ij)=elmas(ij)*rho/sum
dxzi=dye/zac
dyzi=-dye/zac
dxei=-dxe/zac
dyei=dxz/zac
do 522 ii=1,nn
k=nfree*ii-2
dnx= sfdz(ii)*dxzi+ sfde(ii)*dyzi
dny= sfdz(ii)*dxei+ sfde(ii)*dyei
bb(1,k+1)= -dnx
bb(2,k+2)=-dny
bb(3,k+1)=-dny
bb(3,k+2)=-dnx
bb(4,k)= dnx
bb(4,k+1)= -sfd(ii)
bb(5,k)= dny
522
bb(5,k+2) =-sfd(ii)
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
(continued)
Précédent

- 606/628

Suivant