60      numnp,numlstet,lmlstet,meshcoor,nstart,nend) 
 
   69   REAL*8 meshcoor(3,numnp)
 
   71   INTEGER lmlstet(10,numlstet)   
 
   72   INTEGER ielem , nx, ny, nz
 
   75   INTEGER ndof, nnode, ndim,  nmat, nsurf, nload
 
   78   REAL*8 meshpos(3,10), meshvel(3,10), meshacc(3,10), &
 
   79        sload(4,1,3), bforce(3), elmass(30,30), elstiff(30,30), &
 
   80        eldamp(30,30), elload(30), elstiff2(30,30)
 
   83   INTEGER ndim_v, ndim_s, nintk_v, nintk_s,knode,  &
 
   84        knodr, knodc,
i,
j,rindx,cindx,
k,mm,ll, &
 
   85        fp(2,6),iface,igauss, grindx,grindy,grindz
 
   88   parameter(ndim_v = 3, ndim_s = 2, nintk_v = 4,nintk_s = 3) 
 
   93   DOUBLE PRECISION shfn(10,10), shdx(3,10,10), dv(10), dvsum, &
 
   94        delta(3,3), mvgss(3), magss(3), mcgss(3,3), two, &
 
   95        wsp1,wsparr(3),trmcgss,wsp2,wsp3,wsp4,one,lambda, &
 
   96        mu,third,wsp5,vxi(10),veta(10),vzeta(10),wt_lstet, &
 
   97        sxi(4,6),seta(4,6),szeta(4,6),shdxi(3,10,10), &
 
   98        wsparr1(3),shdx_av(3,10),
zero, half 
 
  100   DOUBLE PRECISION disp(30), velo(30), rimsi(30), dimsi(30)
 
  101   DOUBLE PRECISION multiplier , ajacin(3,3), surfnormal(3,4)
 
  102   DOUBLE PRECISION factor 
 
  104   INTEGER :: nstart, nend
 
  106   parameter(
zero = 0.d0, one = 1.d0, two = 2.d0)
 
  107   DATA delta/1.d0,0.d0,0.d0,0.d0,1.d0,0.d0,0.d0,0.d0,1.d0/
 
  120   multiplier = 1.d0/6.d0        
 
  136   vxi(  1) = 0.13819660d0
 
  137   veta( 1) = 0.13819660d0
 
  138   vzeta(1) = 0.13819660d0
 
  141   vxi(  2) = 0.58541020d0
 
  142   veta( 2) = 0.13819660d0
 
  143   vzeta(2) = 0.13819660d0
 
  146   vxi(  3) = 0.13819660d0
 
  147   veta( 3) = 0.58541020d0
 
  148   vzeta(3) = 0.13819660d0
 
  151   vxi(  4) = 0.13819660d0
 
  152   veta( 4) = 0.13819660d0
 
  153   vzeta(4) = 0.58541020d0
 
  157   DO ielem = nstart, nend
 
  166         nx = lmlstet(
i,ielem)*3-2
 
  167         ny = lmlstet(
i,ielem)*3-1
 
  168         nz = lmlstet(
i,ielem)*3
 
  169         meshpos(1,
i)=meshcoor(1,lmlstet(
i,ielem))
 
  170         meshpos(2,
i)=meshcoor(2,lmlstet(
i,ielem))
 
  171         meshpos(3,
i)=meshcoor(3,lmlstet(
i,ielem))
 
  172         disp(
i*3-2) =d_bar(nx)
 
  173         disp(
i*3-1) =d_bar(ny)
 
  174         disp(
i*3  ) =d_bar(nz)
 
  178      CALL 
shcalc_3d10(shfn, shdx, dv, dvsum, shdx_av, meshpos, &
 
  179           ndim,nnode,nintk_v,vxi,veta,vzeta,shdxi,ajacin)
 
  184      factor=multiplier*wt_lstet
 
  185      DO igauss = 1, nintk_v
 
  188               elstiff(knodr,knodc) = elstiff(knodr,knodc) + &
 
  189                    ( shdx(1,knodr,igauss)*shdx(1,knodc,igauss)+ &
 
  190                    shdx(2,knodr,igauss)*shdx(2,knodc,igauss)+ &
 
  191                    shdx(3,knodr,igauss)*shdx(3,knodc,igauss) &
 
  198         nx = lmlstet(
i,ielem)*3-2
 
  199         ny = lmlstet(
i,ielem)*3-1
 
  200         nz = lmlstet(
i,ielem)*3
 
  202            r_bar(nx)=r_bar(nx)+ elstiff(
i,
j)*disp(
j*3-2)
 
  203            r_bar(ny)=r_bar(ny)+ elstiff(
i,
j)*disp(
j*3-1)
 
  204            r_bar(nz)=r_bar(nz)+ elstiff(
i,
j)*disp(
j*3-0)
 
void zero()
Sets all entries to zero (more efficient than assignement). 
subroutine shcalc_3d10(shfn, shdx, dv, dvsum, shdx_av, meshpos, ndim, nnode, nintk, xi, eta, zeta, shdxi, wsp2)
subroutine v3d10_r_bar(d_bar, R_bar, numnp, numlstet, lmlstet, meshcoor, nstart, nend)