29 integer i,j,imat,ncmat_,ntmat_,k,l,nope,iflag,iperturb(*),
30 & nmethod,mi(*),nasym,jfaces,igauss,nopem,nopes,nopep
32 real*8 xl(3,19),elas(21),pproj(3),shp2m(7,9),al(3),s(60,60),
33 & voldl(0:mi(2),19),pl(3,19),xn(3),c3,elcon(0:ncmat_,ntmat_,*),
34 & xm(3),dval(3,19),fpu(3,3,19),xi,et,dal(3,3,19),xs2(3,7),xk,
35 & stickslope,springarea(2),tu(3,3,19),clear,reltime,
36 & xsj2s(3),xs2s(3,7),shp2s(7,9),weight,pslavsurf(3,*),
37 & pmastsurf(6,*),clearini(3,9,*)
43 read(lakonl(8:8),
'(i1)') nopem
56 pl(j,i)=xl(j,i)+voldl(j,i)
64 pl(j,i)=xl(j,i)+voldl(j,i)+clearini(j,i-nopem,jfaces)
71 read(lakonl(8:8),
'(i1)') nopem
74 xi=pslavsurf(1,igauss)
75 et=pslavsurf(2,igauss)
76 weight=pslavsurf(3,igauss)
79 call shape9q(xi,et,pl(1,nopem+1),xsj2s,xs2s,shp2s,iflag)
80 elseif(nopes.eq.8)
then 81 call shape8q(xi,et,pl(1,nopem+1),xsj2s,xs2s,shp2s,iflag)
82 elseif(nopes.eq.4)
then 83 call shape4q(xi,et,pl(1,nopem+1),xsj2s,xs2s,shp2s,iflag)
84 elseif(nopes.eq.6)
then 85 call shape6tri(xi,et,pl(1,nopem+1),xsj2s,xs2s,shp2s,iflag)
86 elseif(nopes.eq.7)
then 87 call shape7tri(xi,et,pl(1,nopem+1),xsj2s,xs2s,shp2s,iflag)
89 call shape3tri(xi,et,pl(1,nopem+1),xsj2s,xs2s,shp2s,iflag)
101 pl(k,nopep)=pl(k,nopep)+shp2s(4,j)*pl(k,nopem+j)
102 voldl(k,nopep)=voldl(k,nopep)+shp2s(4,j)*voldl(k,nopem+j)
106 xi=pmastsurf(1,igauss)
107 et=pmastsurf(2,igauss)
112 call shape9q(xi,et,pl,xm,xs2,shp2m,iflag)
113 elseif(nopem.eq.8)
then 114 call shape8q(xi,et,pl,xm,xs2,shp2m,iflag)
115 elseif(nopem.eq.4)
then 116 call shape4q(xi,et,pl,xm,xs2,shp2m,iflag)
117 elseif(nopem.eq.6)
then 118 call shape6tri(xi,et,pl,xm,xs2,shp2m,iflag)
119 elseif(nopem.eq.7)
then 120 call shape7tri(xi,et,pl,xm,xs2,shp2m,iflag)
122 call shape3tri(xi,et,pl,xm,xs2,shp2m,iflag)
131 pproj(i)=pproj(i)+shp2m(4,j)*pl(i,j)
139 al(i)=pl(i,nopep)-pproj(i)
160 dal(j,j,i)=-shp2m(4,i)
169 xn(1)=pmastsurf(4,igauss)
170 xn(2)=pmastsurf(5,igauss)
171 xn(3)=pmastsurf(6,igauss)
175 clear=al(1)*xn(1)+al(2)*xn(2)+al(3)*xn(3)
176 if(nmethod.eq.1)
then 177 clear=clear-springarea(2)*(1.d0-reltime)
180 elas(2)=-springarea(1)*elcon(5,1,imat)
181 elas(1)=elas(2)*clear
191 dval(i,k)=xn(1)*dal(1,i,k)+xn(2)*dal(2,i,k)+xn(3)*dal(3,i,k)
196 dval(i,nopep)=xn(1)*dal(1,i,nopep)+xn(2)*dal(2,i,nopep)+
197 & xn(3)*dal(3,i,nopep)
207 fpu(i,j,k)=-c3*xn(i)*dval(j,k)
213 fpu(i,j,nopep)=-c3*xn(i)*dval(j,nopep)
219 if(elcon(8,1,imat).gt.0.d0)
then 221 stickslope=elcon(8,1,imat)*elcon(5,1,imat)
225 xk=stickslope*springarea(1)
231 dval(i,k)=xn(1)*dal(1,i,k)+xn(2)*dal(2,i,k)
236 dval(i,nopep)=xn(1)*dal(1,i,nopep)+xn(2)*dal(2,i,nopep)
237 & +xn(3)*dal(3,i,nopep)
245 tu(i,j,k)=dal(i,j,k)-xn(i)*dval(j,k)
251 tu(i,j,nopep)=dal(i,j,nopep)-xn(i)*dval(j,nopep)
260 fpu(i,j,k)=fpu(i,j,k)+xk*tu(i,j,k)
266 fpu(i,j,nopep)=fpu(i,j,nopep)+xk*tu(i,j,nopep)
279 s(i+(k-1)*3,j+(l-1)*3)=-shp2m(4,k)*fpu(i,j,l)
287 do k=nopem+1,nopem+nopes
289 do l=nopem+1,nopem+nopes
291 s(i+(k-1)*3,j+(l-1)*3)=shp2s(4,k-nopem)*
292 & shp2s(4,l-nopem)*fpu(i,j,nopep)
302 do l=nopem+1,nopem+nopes
304 s(i+(k-1)*3,j+(l-1)*3)=-shp2s(4,l-nopem)*
305 & shp2m(4,k)*fpu(i,j,nopep)
313 do k=nopem+1,nopem+nopes
317 s(i+(k-1)*3,j+(l-1)*3)=shp2s(4,k-nopem)*fpu(i,j,l)
327 if((nasym.eq.0).or.((nmethod.eq.4).and.(iperturb(1).le.1)))
then 330 s(i,j)=(s(i,j)+s(j,i))/2.d0
subroutine shape9q(xi, et, xl, xsj, xs, shp, iflag)
Definition: shape9q.f:20
subroutine shape8q(xi, et, xl, xsj, xs, shp, iflag)
Definition: shape8q.f:20
subroutine shape3tri(xi, et, xl, xsj, xs, shp, iflag)
Definition: shape3tri.f:20
subroutine shape7tri(xi, et, xl, xsj, xs, shp, iflag)
Definition: shape7tri.f:20
subroutine shape4q(xi, et, xl, xsj, xs, shp, iflag)
Definition: shape4q.f:20
subroutine shape6tri(xi, et, xl, xsj, xs, shp, iflag)
Definition: shape6tri.f:20