Civil Engineering Reference
In-Depth Information
END DO gauss_pts_1
CALL fsparv(kv,km,g,kdiag)
END DO elements_2
loads=zero; READ(10,*)loaded_nodes,(k,loads(nf(:,k)),i=1,loaded_nodes)
!-----------------------equation solution---------------------------------
CALL sparin(kv,kdiag); CALL spabac(kv,loads,kdiag); loads(0)=zero
WRITE(11,'(/A)')" Node r-disp z-disp t-disp"
DO k=1,nn; WRITE(11,'(I5,3E12.4)')k,loads(nf(:,k)); END DO
!-----------------------recover stresses at nip integrating points--------
nip=1; DEALLOCATE(points,weights); ALLOCATE(points(nip,ndim),weights(nip))
CALL sample(element,points,weights)
WRITE(11,'(/A,I2,A)')" The integration point (nip=",nip,") stresses are:"
WRITE(11,'(A,A)')" Element
r-coord
z-coord",
&
"
sig_r
sig_z
sig_t"
WRITE(11,'(A,A)')"
",
&
"
tau_rz
tau_zt
tau_tr"
elements_3: DO iel=1,nels
CALL deemat(dee,prop(1,etype(iel)),prop(2,etype(iel))); num=g_num(:,iel)
coord=TRANSPOSE(g_coord(:,num)); g=g_g(:,iel); eld=loads(g)
int_pts_2: DO i=1,nip
CALL shape_fun(fun,points,i); CALL shape_der(der,points,i)
gc=MATMUL(fun,coord); jac=MATMUL(der,coord); CALL invert(jac)
deriv=MATMUL(jac,der)
CALL bmat_nonaxi(bee,radius,coord,deriv,fun,iflag,lth)
bee(1:4,:)=bee(1:4,:)*ca; bee(5:6,:)=bee(5:6,:)*sa
sigma=MATMUL(dee,MATMUL(bee,eld))
WRITE(11,'(I5,5X,5E12.4)')iel,gc,sigma(:3)
WRITE(11,'(34X,3E12.4)')sigma(4:6)
END DO int_pts_2
END DO elements_3
CALL dismsh(loads,nf,0.05_iwp,g_coord,g_num,13)
CALL vecmsh(loads,nf,0.05_iwp,0.1_iwp,g_coord,g_num,14)
STOP
END PROGRAM p52
New scalar integers:
iflag
1 for “symmetry”, -1 for “antisymmetry”
harmonic on which loads are to be applied
lth
nre
number of elements in r -direction
nze
number of elements in z -direction
New scalar reals:
ca
set to cos(chi)
angle for stress output
chi
set to π
pi
r -coordinate of Gauss point
radius
set to sin(chi)
sa
New dynamic real arrays:
r coords r -coordinates of mesh layout
z coords z -coordinates of mesh layout
Search WWH ::




Custom Search