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