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