Civil Engineering Reference
In-Depth Information
There are 8 equations and the skyline storage is 23
The buckling load = 0.6003E+02
The buckling mode = 0.5725E+00
0.9138E-01
0.1282E-05
0.8854E-06
-0.5725E+00
-0.9138E-01
-0.1282E-05
0.5725E+00
Converged in 26 iterations
Figure 4.39
Results from second Program 4.6 example
Program 4.7 Analysis of plates using 4-node rectangular plate elements. Homoge-
neous material with identical elements. Mesh numbered in
x
-or
y
-direction.
PROGRAM p47
!-------------------------------------------------------------------------
! Program 4.7 Analysis of plates using 4-node rectangular plate elements.
! Homogeneous material with identical elements.
! Mesh numbered in x- or y-direction.
!-------------------------------------------------------------------------
USE main; USE geom; IMPLICIT NONE
INTEGER,PARAMETER::iwp=SELECTED_REAL_KIND(15)
INTEGER::fixed_freedoms,i,iel,k,loaded_nodes,ndim=2,ndof=16,nels,neq,
&
nip=16,nn,nod=4,nodof=4,nprops=2,np_types,nr,nxe,nye
REAL(iwp)::aa,bb,d,d4=4.0_iwp,d12=12.0_iwp,e,one=1.0_iwp,
&
penalty=1.0e20_iwp,th,two=2.0_iwp,v,zero=0.0_iwp
CHARACTER(LEN=15)::element='quadrilateral'
!-----------------------dynamic arrays------------------------------------
INTEGER,ALLOCATABLE::etype(:),g(:),g_g(:,:),g_num(:,:),kdiag(:),nf(:,:), &
no(:),node(:),num(:),sense(:)
REAL(iwp),ALLOCATABLE::bm(:),coord(:,:),dtd(:,:),d2x(:),d2xy(:),d2y(:), &
g_coord(:,:),km(:,:),kv(:),loads(:),points(:,:),prop(:,:),x_coords(:), &
y_coords(:),value(:),weights(:)
!-----------------------input and initialisation--------------------------
OPEN(10,FILE='fe95.dat'); OPEN(11,FILE='fe95.res')
READ(10,*)nxe,nye,np_types,aa,bb,th
CALL mesh_size(element,nod,nels,nn,nxe,nye)
ALLOCATE(nf(nodof,nn),g_coord(ndim,nn),g_num(nod,nels),g(ndof),bm(3), &
g_g(ndof,nels),coord(nod,ndim),km(ndof,ndof),dtd(ndof,ndof),d2x(ndof), &
d2y(ndof),d2xy(ndof),num(nod),x_coords(nxe+1),y_coords(nye+1),
&
points(nip,ndim),weights(nip),prop(nprops,np_types),etype(nels))
READ(10,*)prop; etype=1; IF(np_types>1)read(10,*)etype
DO i=1,nxe+1; x_coords(i)=(i-1)*aa; END DO
DO i=1,nye+1; y_coords(i)=(i-1)*bb; END DO
nf=1; READ(10,*)nr,(k,nf(:,k),i=1,nr); CALL formnf(nf); neq=MAXVAL(nf)
ALLOCATE(kdiag(neq),loads(0:neq)); kdiag=0
!-----------------------loop the elements to find global array sizes------
elements_1: DO iel=1,nels
CALL geom_rect(element,iel,x_coords,y_coords,coord,num,'x')
CALL num_to_g(num,nf,g); CALL fkdiag(kdiag,g); g_num(:,iel)=num
g_coord(:,num)=TRANSPOSE(coord); g_g(:,iel)=g
END DO elements_1
CALL mesh(g_coord,g_num,12)
Search WWH ::




Custom Search