Civil Engineering Reference
In-Depth Information
km=km+MATMUL(MATMUL(TRANSPOSE(bee),dee),bee)*det*weights(i)
!-----------------------update the Gauss Point stresses-------------------
tensor(:,i,iel)=tensor(:,i,iel)+sigma-elso; stress=tensor(:,i,iel)
eload=MATMUL(stress,bee); dload=dload+eload*det*weights(i)
END DO gauss_pts_2
!-----------------------compute the total bodyloads vector----------------
bdylds(g)=bdylds(g)+bload; bdylds(0)=zero; ddylds(g)=ddylds(g)+dload
ddylds(0)=zero; CALL fsparv(kv,km,g,kdiag)
END DO elements_3; CALL sparin(kv,kdiag); tloads=SUM(bdylds)
IF(iters==1)converged=.FALSE.
IF(iters/=1.AND.tloads<ltol)converged=.TRUE.; totd=totd+loads
IF(converged.OR.iters==limit)EXIT
END DO plastic_iters; totd=totd+loads
WRITE(11,'(I5,2E12.4,I5)')iy,ptot,totd(nf(2,no(1))),iters
IF(iters==limit)EXIT
END DO load_increments
CALL dismsh(totd,nf,0.05_iwp,g_coord,g_num,13)
CALL vecmsh(totd,nf,0.05_iwp,0.1_iwp,g_coord,g_num,14)
STOP
END PROGRAM p65
New scalar reals:
bot
holds several dot products
plastic multiplier
λ
dlam
λ
ff holds a value of the yield function
fftol tolerance on yield function
fstiff holds a value of the yield function
ltol tolerance on tloads
top holds a dot product
tloads holds the sum of bdylds
plastic multiplier increment
dslam
New dynamic real arrays:
acat used in development of (6.74)
acatc used in development of (6.74)
caflow used in development of (6.74)
daatd used in development of (6.74)
ddylds global body loads
dl
holds plastic multiplier
λ
for all Gauss points
dload element body loads
dsigma stress increment
qinva used in development of (6.74)
qinvr used in development of (6.74)
qmat used in development of (6.74)
ress used in development of (6.74)
rmat used in development of (6.74)
vmfl von Mises “flow” vector
vmfla used in development of (6.74)
vmflq used in development of (6.74)
vmtemp used in development of (6.74)
Search WWH ::




Custom Search