26       character*8 lakon(*),lakonl
    28       integer ipkon(*),nelem,kon(*),mi(*),nope,indexe,i,j,k,
    29      &  konl(20),mint3d,jj,iflag,ne,ki,kl,ilayer,nlayer,kk,
    30      &  nopes,ielmat(mi(3),*),mint2d,null,ielprop(*)
    32       real*8 ener(mi(1),*),enerinttot,enerint,co(3,*),prop(*),
    33      &  xl(3,20),xi,et,ze,xsj,shp(4,20),weight,enerkintot,enerkin,
    34      &  a,gs(8,4),dlayer(4),tlayer(4),
thickness,energyini(*),
    35      &  thicke(mi(3),*),xlayer(mi(3),4),shp2(7,8),xs2(3,7),xsj2(3),
    36      &  xl2(3,8),energy(*),enerelctot,enervictot,enerelc,enervic
    46       enervictot=energyini(4)
    49          if(ipkon(nelem).lt.0) cycle
    54          if(lakonl(1:5).eq.
'C3D8I') 
then    56          elseif(lakonl(4:4).eq.
'2') 
then    58          elseif(lakonl(4:4).eq.
'8') 
then    60          elseif(lakonl(4:5).eq.
'10') 
then    62          elseif(lakonl(4:4).eq.
'4') 
then    64          elseif(lakonl(4:5).eq.
'15') 
then    66          elseif(lakonl(4:5).eq.
'6') 
then    74          if(lakonl(7:8).eq.
'LC') 
then    80                if(ielmat(k,nelem).ne.0) 
then    85             if(lakonl(4:4).eq.
'2') 
then    97                   call shape8q(xi,et,xl2,xsj2,xs2,shp2,iflag)
   114             elseif(lakonl(4:5).eq.
'15') 
then   126                   call shape6tri(xi,et,xl2,xsj2,xs2,shp2,iflag)
   148             konl(j)=kon(indexe+j)
   150                xl(k,j)=co(k,konl(j))
   159          if(lakonl(4:5).eq.
'8R') 
then   161          elseif(lakonl(4:7).eq.
'20RB') 
then   162             if((lakonl(8:8).eq.
'R').or.(lakonl(8:8).eq.
'C')) 
then   166      &              null,xi,et,ze,weight)
   168          elseif((lakonl(4:4).eq.
'8').or.
   169      &           (lakonl(4:6).eq.
'20R')) 
then   170             if(lakonl(7:8).eq.
'LC') 
then   175          elseif(lakonl(4:4).eq.
'2') 
then   177          elseif(lakonl(4:5).eq.
'10') 
then   179          elseif(lakonl(4:4).eq.
'4') 
then   181          elseif(lakonl(4:5).eq.
'15') 
then   182             if(lakonl(7:8).eq.
'LC') 
then   187          elseif(lakonl(4:5).eq.
'6') 
then   189          elseif(lakonl(1:2).eq.
'ES') 
then   190             if(lakonl(7:7).eq.
'C') 
then   191                enerelc=ener(1,nelem)
   192                enervic=ener(1,nelem+ne)
   194                enerint=ener(1,nelem)
   202             if(lakonl(4:5).eq.
'8R') 
then   207             elseif(lakonl(4:7).eq.
'20RB') 
then   208                if((lakonl(8:8).eq.
'R').or.(lakonl(8:8).eq.
'C')) 
then   212                   weight=weight3d13(kk)
   215      &                 kk,xi,et,ze,weight)
   217             elseif((lakonl(4:4).eq.
'8').or.
   218      &              (lakonl(4:6).eq.
'20R'))
   220                if(lakonl(7:8).ne.
'LC') 
then   241                            dlayer(i)=dlayer(i)+xlayer(ilayer-1,i)
   245                   ze=2.d0*(dlayer(ki)+(ze+1.d0)/2.d0*xlayer(ilayer,ki))/
   247                   weight=weight*xlayer(ilayer,ki)/tlayer(ki)
   249             elseif(lakonl(4:4).eq.
'2') 
then   254             elseif(lakonl(4:5).eq.
'10') 
then   259             elseif(lakonl(4:4).eq.
'4') 
then   264             elseif(lakonl(4:5).eq.
'15') 
then   265                if(lakonl(7:8).ne.
'LC') 
then   277                   weight=weight3d10(kl)
   286                            dlayer(i)=dlayer(i)+xlayer(ilayer-1,i)
   290                   ze=2.d0*(dlayer(ki)+(ze+1.d0)/2.d0*xlayer(ilayer,ki))/
   292                   weight=weight*xlayer(ilayer,ki)/tlayer(ki)
   301             if(lakonl(1:5).eq.
'C3D8R') 
then   303             elseif(lakonl(1:5).eq.
'C3D8I') 
then   304                call shape8hu(xi,et,ze,xl,xsj,shp,iflag)
   305             elseif(nope.eq.20) 
then   306                call shape20h(xi,et,ze,xl,xsj,shp,iflag)
   307             elseif(nope.eq.8) 
then   308                call shape8h(xi,et,ze,xl,xsj,shp,iflag)
   309             elseif(nope.eq.10) 
then   311             elseif(nope.eq.4) 
then   312                call shape4tet(xi,et,ze,xl,xsj,shp,iflag)
   313             elseif(nope.eq.15) 
then   314                call shape15w(xi,et,ze,xl,xsj,shp,iflag)
   316                call shape6w(xi,et,ze,xl,xsj,shp,iflag)
   319             enerint=enerint+weight*xsj*ener(jj,nelem)
   320             enerkin=enerkin+weight*xsj*ener(jj,nelem+ne)
   323          enerinttot=enerinttot+enerint
   324          enerkintot=enerkintot+enerkin
   325          enerelctot=enerelctot+enerelc
   326          enervictot=enervictot+enervic
 subroutine shape6w(xi, et, ze, xl, xsj, shp, iflag)
Definition: shape6w.f:20
 
subroutine shape8q(xi, et, xl, xsj, xs, shp, iflag)
Definition: shape8q.f:20
 
subroutine shape10tet(xi, et, ze, xl, xsj, shp, iflag)
Definition: shape10tet.f:20
 
subroutine shape8h(xi, et, ze, xl, xsj, shp, iflag)
Definition: shape8h.f:20
 
subroutine shape15w(xi, et, ze, xl, xsj, shp, iflag)
Definition: shape15w.f:20
 
subroutine shape20h(xi, et, ze, xl, xsj, shp, iflag)
Definition: shape20h.f:20
 
subroutine shape8hr(xl, xsj, shp, gs, a)
Definition: shape8hr.f:20
 
subroutine beamintscheme(lakonl, mint3d, npropstart, prop, kk, xi, et, ze, weight)
Definition: beamintscheme.f:21
 
subroutine shape4tet(xi, et, ze, xl, xsj, shp, iflag)
Definition: shape4tet.f:20
 
subroutine shape8hu(xi, et, ze, xl, xsj, shp, iflag)
Definition: shape8hu.f:20
 
subroutine shape6tri(xi, et, xl, xsj, xs, shp, iflag)
Definition: shape6tri.f:20
 
subroutine thickness(dgdx, nobject, nodedesiboun, ndesiboun, objectset, xo, yo, zo, x, y, z, nx, ny, nz, co, ifree, ndesia, ndesib, iobject, ndesi, dgdxglob, nk)
Definition: thickness.f:22