Civil Engineering Reference
In-Depth Information
w 1 = 0.060 s 1
Figure 10.8 Fundamental mode shape from second Program 10.2 example
Program 10.3 Eigenvalue analysis of an elastic solid in plane strain using 4-node
rectangular quadrilaterals. Lanczos Method. Consistent mass. Mesh numbered in x -
or y -direction.
PROGRAM p103
!-------------------------------------------------------------------------
! Program 10.3: Eigenvalue analysis of an elastic solid in plane strain
! using 4-node rectangular quadrilaterals. Lanczos Method.
! Consistent mass. Mesh numbered in x- or y-direction.
!-------------------------------------------------------------------------
USE main; USE geom; IMPLICIT NONE
INTEGER,PARAMETER::iwp=SELECTED_REAL_KIND(15)
INTEGER::i,iel,iflag=-1,iters,jflag,k,lalfa,leig,lp=6,lx,lz,nband=0,
&
ndim=2,ndof,neig=0,nels,neq,nip=4,nmodes,nn,nod,nodof=2,nprops=3,
&
np_types,nr,nst=3,nxe,nye
REAL(iwp)::acc,det,el,er,zero=0.0_iwp
CHARACTER(LEN=15)::element='quadrilateral'
!----------------------------- dynamic arrays-----------------------------
INTEGER,ALLOCATABLE::etype(:),g(:),g_g(:,:),g_num(:,:),jeig(:,:),nf(:,:),&
nu(:),num(:)
REAL(iwp),ALLOCATABLE::alfa(:),bee(:,:),beta(:),coord(:,:),dee(:,:), &
del(:),der(:,:),deriv(:,:),diag(:),ecm(:,:),eig(:),fun(:),g_coord(:,:),&
jac(:,:),kb(:,:),km(:,:),mb(:,:),mm(:,:),points(:,:),prop(:,:),ua(:), &
udiag(:),va(:),v_store(:,:),weights(:),w1(:),x(:),x_coords(:),y(:,:), &
y_coords(:),z(:,:)
!---------------------------input and initialisation----------------------
OPEN(10,FILE='fe95.dat'); OPEN(11,FILE='fe95.res')
READ(10,*)nxe,nye,nod,np_types
CALL mesh_size(element,nod,nels,nn,nxe,nye); ndof=nod*nodof
ALLOCATE(nf(nodof,nn),points(nip,ndim),dee(nst,nst),g_coord(ndim,nn), &
coord(nod,ndim),fun(nod),jac(ndim,ndim),weights(nip),g_num(nod,nels), &
der(ndim,nod),deriv(ndim,nod),bee(nst,ndof),num(nod),km(ndof,ndof),
&
g(ndof),g_g(ndof,nels),mm(ndof,ndof),ecm(ndof,ndof),
&
prop(nprops,np_types),x_coords(nxe+1),y_coords(nye+1),etype(nels))
READ(10,*)prop; etype=1; IF(np_types>1)READ(10,*)etype
READ(10,*)x_coords,y_coords
nf=1; READ(10,*)nr,(k,nf(:,k),i=1,nr); CALL formnf(nf); neq=MAXVAL(nf)
READ(10,*)nmodes,el,er,lalfa,laig,lx,lz,acc
ALLOCATE(eig(leig),x(lx),del(lx),nu(lx),jeig(2,leig),alfa(lalfa),
&
beta(lalfa),z(lz,leig))
!-------- loop the elements to find nband and set up global arrays -------
elements_1: DO iel=1,nels
CALL geom_rect(element,iel,x_coords,y_coords,coord,num,'y')
Search WWH ::




Custom Search