Civil Engineering Reference
In-Depth Information
IF(numpe==npes) THEN
OPEN (10,FILE='p1210.dat',STATUS= 'OLD',ACTION='READ')
READ (10,*) aa,bb,cc,sbary,e,v,rho,pload, &
nels,nxe,nze,nip,loaded_nodes,dtim,nstep,npri
END IF
CALL bcast_inputdata_p1210(numpe,npes,nels,nxe,nze,nip,loaded_nodes,
&
aa,bb,cc,rho,e,v,sbary,pload,nstep,dtim,npri)
CALL calc_nels_pp; ndof=nod*nodof ; ntot = ndof ; neq_temp = 0
nn_temp = 0 ;nr = 3*nxe*nze+2*nxe+2*nze+1 ; nye = nels/nxe/nze
nres = 3*(nye*(nxe+1)*(nze+1)+nr*(nye-1)+(nxe+1))
ALLOCATE (rest(nr,nodof+1), points(nip,ndim),weights(nip),num(nod), &
p_g_co_pp(nod,ndim,nels_pp),dee(nst,nst),coord(nod,ndim), &
tensor_pp(nst,nip,nels_pp),no(loaded_nodes), pl(nst,nst), &
etensor_pp(nst,nip,nels_pp),jac(ndim,ndim),der(ndim,nod), &
deriv(ndim,nod),g_num_pp(nod,nels_pp),bee(nst,ntot),eld(ntot),&
eps(nst),sigma(nst),emm(ntot),bload(ntot),eload(ntot),g(ntot),&
stress(nst),val(loaded_nodes),g_g_pp(ntot,nels_pp),
&
mm_tmp(ntot,nels_pp),pmul_pp(ntot,nels_pp),
&
utemp_pp(ntot,nels_pp),no_local_temp(loaded_nodes))
tensor_pp=.0_iwp; etensor_pp=.0_iwp; mm_tmp=.0_iwp; pmul_pp=.0_iwp
utemp_pp=.0_iwp
rest = 0; DO i=1,nr; rest(i,1) = i; END DO
; ielpe = iel_start
no = nres; val = pload
!----------- loop the elements to set up global arrays -------------------
elements_0:DO iel = 1 , nels_pp
CALL geometry_20bxz(ielpe,nxe,nze,aa,bb,cc,coord,num)
CALL find_g(num,g,rest) ; g_num_pp(:,iel) = num
i = MAXVAL(g) ; j = MAXVAL(num)
IF(i > neq_temp) neq_temp=i; IF(j > nn_temp)nn_temp = j
p_g_co_pp(:,:,iel)=coord; g_g_pp(:,iel)=g;ielpe=ielpe+1
end do elements_0
neq = reduce(neq_temp); nn = reduce(nn_temp)
CALL calc_neq_pp ; CALL make_ggl(g_g_pp)
DO i = 1 , neq_pp; IF(nres==ieq_start+i-1) THEN; it=numpe; is=i; END IF
END DO
IF(numpe==it) THEN
OPEN (11,FILE='p1210.res',STATUS='REPLACE',ACTION='WRITE')
WRITE(11,'(A,I5,A)') "This job ran on ",npes, " processors"
WRITE(11,'(A)') "Global coordinates and node numbers "
DO i= 1, nels_pp , nels_pp - 1
WRITE(11,'(A,I8)')"Element ",i ; num = g_num_pp(:,i)
DO k = 1,nod;WRITE(11,'(A,I8,3E12.4)')
&
" Node",num(k),p_g_co_pp(k,:,i); END DO
END DO
WRITE(11,'(A,3(I8,A))') "There are ",nn," nodes",nr," restrained and",&
neq," equations"
WRITE(11,*) "Time after setup is :", elap_time( ) - timest(1)
END IF
ALLOCATE(bdylds_pp(neq_pp),x1_pp(neq_pp),d1x1_pp(neq_pp),
&
d2x1_pp(neq_pp),mm_pp(neq_pp))
bdylds_pp=.0_iwp; x1_pp=0.0_iwp; d1x1_pp=0.0_iwp
d2x1_pp=0.0_iwp; mm_pp=0.0_iwp ; CALL sample(element,points,weights)
!--------------------calculate diagonal mass matrix ----------------------
elements_1: DO iel = 1 , nels_pp
coord = p_g_co_pp(:,:,iel); volume= .0_iwp
gauss_pts_1: DO i = 1 , nip
CALL shape_der (der,points,i); jac = MATMUL(der,coord)
det = determinant(jac); volume=volume+det*weights(i)*rho
Search WWH ::




Custom Search