28 character*8 lakon(*),lakonl
29 character*20 label,sideload(*)
31 integer i,j,k,ne0,ne,indexe,ipkon(*),imat,mi(*),ielmat(mi(3),*),
32 & ncmat_,ntmat_,kon(*),nope,iloc,jfaces,ifaces,nelems,ifacem,
33 & nelemm,jfacem,islavsurf(2,*),nopes,nopem,konl(20),iflag,
34 & mint2d,iamplitude,isector,nload,nload_,nelemload(2,*),nam,
35 & iamload(2,*),idefload(*)
37 real*8 elcon(0:ncmat_,ntmat_,*),pressure,stx(6,mi(1),*),
38 & pmastsurf(6,*),area,springarea(2,*),pl(3,20),co(3,*),
39 & vold(0:mi(2),*),areaslav,xi,et,vels(3),veold(0:mi(2),*),
40 & xsj2m(3),xs2m(3,7),shp2m(7,9),xsj2s(3),xs2s(3,7),shp2s(7,9),
41 & areamast,pslavsurf(3,*),
value,velm(3),um,xloadact(2,*),weight,
65 vnorm=elcon(11,1,imat)
72 shear=dsqrt(stx(5,1,i)**2+stx(6,1,i)**2)
73 if(vnorm.lt.0.d0)
then 78 if(shear.lt.um*pressure*0.95) cycle
85 nopem=ichar(lakonl(8:8))-48
88 iloc=kon(indexe+nope+1)
89 jfaces=kon(indexe+nope+2)
93 ifaces=islavsurf(1,jfaces)
94 nelems=int(ifaces/10.d0)
95 jfaces=ifaces-10*nelems
99 ifacem=int(pmastsurf(3,iloc))
100 nelemm=int(ifacem/10.d0)
101 jfacem=ifacem-10*nelemm
105 area=springarea(1,iloc)
110 konl(j)=kon(indexe+j)
112 pl(k,j)=co(k,konl(j))+vold(k,konl(j))
120 elseif(nopes.eq.6)
then 122 elseif(nopes.eq.4)
then 137 elseif(nopes.eq.6)
then 141 elseif(nopes.eq.4)
then 153 call shape8q(xi,et,pl(1,nopem+1),xsj2s,xs2s,shp2s,iflag)
154 elseif(nopes.eq.4)
then 155 call shape4q(xi,et,pl(1,nopem+1),xsj2s,xs2s,shp2s,iflag)
156 elseif(nopes.eq.6)
then 157 call shape6tri(xi,et,pl(1,nopem+1),xsj2s,xs2s,shp2s,
160 call shape3tri(xi,et,pl(1,nopem+1),xsj2s,xs2s,shp2s,
164 areaslav=areaslav+dsqrt(xsj2s(1)**2+
170 write(label(2:2),
'(i1)') jfaces
172 if(vnorm.gt.0.d0)
then 173 value=um*pressure*vnorm*eta*f*area/areaslav
174 call loadadd(nelems,label,
value,nelemload,sideload,xloadact,
175 & nload,nload_,iamload,iamplitude,nam,isector,
187 call shape8q(xi,et,pl(1,nopem+1),xsj2s,xs2s,shp2s,iflag)
188 elseif(nopes.eq.4)
then 189 call shape4q(xi,et,pl(1,nopem+1),xsj2s,xs2s,shp2s,iflag)
190 elseif(nopes.eq.6)
then 191 call shape6tri(xi,et,pl(1,nopem+1),xsj2s,xs2s,shp2s,
194 call shape3tri(xi,et,pl(1,nopem+1),xsj2s,xs2s,shp2s,
201 vels(k)=vels(k)+shp2s(4,j)*
202 & veold(k,konl(nope+j))
212 call shape8q(xi,et,pl,xsj2m,xs2m,shp2m,iflag)
213 elseif(nopem.eq.4)
then 214 call shape4q(xi,et,pl,xsj2m,xs2m,shp2m,iflag)
215 elseif(nopem.eq.6)
then 216 call shape6tri(xi,et,pl,xsj2m,xs2m,shp2m,iflag)
218 call shape3tri(xi,et,pl,xsj2m,xs2m,shp2m,iflag)
224 velm(k)=velm(k)+shp2m(4,j)*
229 vnorm=dsqrt((vels(1)-velm(1))**2+
230 & (vels(2)-velm(2))**2+
231 & (vels(3)-velm(3))**2)
232 value=um*pressure*vnorm*eta*f*area/areaslav
233 call loadadd(nelems,label,
value,nelemload,sideload,xloadact,
234 & nload,nload_,iamload,iamplitude,nam,isector,
242 elseif(nopem.eq.6)
then 244 elseif(nopem.eq.4)
then 259 elseif(nopem.eq.6)
then 263 elseif(nopem.eq.4)
then 275 call shape8q(xi,et,pl,xsj2m,xs2m,shp2m,iflag)
276 elseif(nopem.eq.4)
then 277 call shape4q(xi,et,pl,xsj2m,xs2m,shp2m,iflag)
278 elseif(nopem.eq.6)
then 279 call shape6tri(xi,et,pl,xsj2m,xs2m,shp2m,iflag)
281 call shape3tri(xi,et,pl,xsj2m,xs2m,shp2m,iflag)
284 areamast=areamast+dsqrt(xsj2m(1)**2+
290 write(label(2:2),
'(i1)') jfacem
295 value=um*pressure*vnorm*eta*(1.d0-f)*area/areamast
296 call loadadd(nelemm,label,
value,nelemload,sideload,xloadact,
297 & nload,nload_,iamload,iamplitude,nam,isector,
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 loadadd(nelement, label, value, nelemload, sideload, xload, nload, nload_, iamload, iamplitude, nam, isector, idefload)
Definition: loadadd.f:21
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