38       character*8 lakon(*),lakonl
    39       character*80 amat,matname(*)
    41       integer kon(*),konl(26),nea,neb,mi(*),mint2d,nopes,
    42      &  nelcon(2,*),nrhcon(*),nalcon(2,*),ielmat(mi(3),*),
    43      &  ielorien(mi(3),*),ntmat_,ipkon(*),ne0,iflag,null,
    44      &  istep,iinc,mt,ne,mattyp,ithermal(2),iprestr,i,ii,j,k,m1,m2,jj,
    45      &  i1,m3,kk,nener,indexe,nope,norien,iperturb(*),iout,
    46      &  icmd,ihyper,nmethod,kode,imat,mint3d,iorien,ielas,
    47      &  istiff,ncmat_,nstate_,ikin,ilayer,nlayer,ki,kl,ielprop(*),
    48      &  nplicon(0:ntmat_,*),nplkcon(0:ntmat_,*),npmat_,calcul_qa,
    49      &  nopered,mortar,jfaces,iloc,igauss,idesvar,ndesi,nodedesi(*),
    50      &  nobject,iobject,iactive,node,istartdesi(*),ialdesi(*),ij
    52       real*8 co(3,*),shp(4,26),stiini(6,mi(1),*),xener(*),
    53      &  stx(6,mi(1),*),xl(3,26),vl(0:mi(2),26),stre(6),prop(*),
    54      &  elcon(0:ncmat_,ntmat_,*),rhcon(0:1,ntmat_,*),xs2(3,7),
    55      &  alcon(0:6,ntmat_,*),vini(0:mi(2),*),
thickness,
    56      &  alzero(*),orab(7,*),elas(21),rho,qa(4),
    57      &  fnl(3,10),beta(6),q(0:mi(2),26),xl2(3,8),
    58      &  vkl(0:3,3),t0(*),t1(*),prestr(6,mi(1),*),
    59      &  ckl(3,3),vold(0:mi(2),*),eloc(9),veold(0:mi(2),*),
    60      &  springarea(2,*),elconloc(21),eth(6),xkl(3,3),voldl(0:mi(2),26),
    61      &  xikl(3,3),ener(mi(1),*),emec(6),enerini(mi(1),*),
    62      &  emec0(6),veoldl(0:mi(2),26),xsj2(3),shp2(7,8),
    63      &  e,un,al,um,am1,xi,et,ze,tt,exx,eyy,ezz,exy,exz,eyz,
    64      &  xsj,vj,t0l,t1l,dtime,weight,pgauss(3),vij,time,ttime,
    65      &  plicon(0:2*npmat_,ntmat_,*),plkcon(0:2*npmat_,ntmat_,*),
    66      &  xstiff(27,mi(1),*),xstate(nstate_,mi(1),*),plconloc(802),
    67      &  vokl(3,3),xstateini(nstate_,mi(1),*),vikl(3,3),
    68      &  gs(8,4),a,reltime,tlayer(4),dlayer(4),xlayer(mi(3),4),
    69      &  thicke(mi(3),*),emeini(6,mi(1),*),clearini(3,9,*),
    70      &  pslavsurf(3,*),pmastsurf(6,*),distmin,xenerel,g0(iobject),
    71      &  dgdx(ndesi,nobject),sti(6,mi(1),*),xdesi(3,*)
   101             if(ipkon(i).lt.0) cycle
   105             if(lakonl(1:1).eq.
'F') cycle
   106             if(lakonl(1:7).eq.
'DCOUP3D') cycle
   108             if(lakonl(7:8).ne.
'LC') 
then   118                if(nelcon(1,imat).lt.0) 
then   131                   if(ielmat(k,i).ne.0) 
then   139                if(lakonl(4:5).eq.
'20') 
then   149                      call shape8q(xi,et,xl2,xsj2,xs2,shp2,iflag)
   167                elseif(lakonl(4:5).eq.
'15') 
then   177                      call shape6tri(xi,et,xl2,xsj2,xs2,shp2,iflag)
   201             if(lakonl(1:5).eq.
'C3D8I') 
then   203             elseif(lakonl(4:5).eq.
'20') 
then   206             elseif(lakonl(4:4).eq.
'2') 
then   208             elseif(lakonl(4:4).eq.
'8') 
then   210             elseif(lakonl(4:5).eq.
'10') 
then   212             elseif(lakonl(4:5).eq.
'14') 
then   214             elseif(lakonl(4:4).eq.
'4') 
then   216             elseif(lakonl(4:5).eq.
'15') 
then   218             elseif(lakonl(4:4).eq.
'6') 
then   220             elseif((lakonl(1:1).eq.
'E').and.(lakonl(7:7).ne.
'F')) 
then   225                if(lakonl(7:7).eq.
'C') 
then   234                   elseif(mortar.eq.0) 
then   238                      nope=ichar(lakonl(8:8))-47
   239                      konl(nope+1)=kon(indexe+nope+1)
   245                   nope=ichar(lakonl(8:8))-47
   253             if(idesvar.gt.0) 
then    256                   if(node.eq.nodedesi(idesvar)) 
then   263             if(lakonl(4:5).eq.
'8R') 
then   265             elseif(lakonl(4:7).eq.
'20RB') 
then   266                if((lakonl(8:8).eq.
'R').or.(lakonl(8:8).eq.
'C')) 
then   270      &                 null,xi,et,ze,weight)
   272             elseif((lakonl(4:4).eq.
'8').or.(lakonl(4:6).eq.
'26R').or.
   273      &              (lakonl(4:6).eq.
'20R')) 
then   274                if(lakonl(7:8).eq.
'LC') 
then   279             elseif(lakonl(4:4).eq.
'2') 
then   281             elseif((lakonl(4:5).eq.
'10').or.(lakonl(4:5).eq.
'14')) 
then   283             elseif(lakonl(4:4).eq.
'4') 
then   285             elseif(lakonl(4:5).eq.
'15') 
then   286                if(lakonl(7:8).eq.
'LC') 
then   291             elseif(lakonl(4:4).eq.
'6') 
then   293             elseif(lakonl(1:1).eq.
'E') 
then   298                konl(j)=kon(indexe+j)
   300                   xl(k,j)=co(k,konl(j))
   301                   vl(k,j)=vold(k,konl(j))
   302                   voldl(k,j)=vold(k,konl(j))
   308             if(idesvar.gt.0) 
then    311      &                 xl(j,iactive)+xdesi(j,idesvar)
   322                if(lakonl(7:7).eq.
'A') 
then   325                   if(ithermal(1).eq.1) 
then   326                      t0l=(t0(konl(1))+t0(konl(2)))/2.d0
   327                      t1l=(t1(konl(1))+t1(konl(2)))/2.d0
   328                   elseif(ithermal(1).ge.2) 
then   329                      t0l=(t0(konl(1))+t0(konl(2)))/2.d0
   330                      t1l=(vold(0,konl(1))+vold(0,konl(2)))/2.d0
   336                if(lakonl(2:2).eq.
'S') 
then   337                   if((lakonl(7:7).eq.
'A').or.(lakonl(7:7).eq.
'1').or.
   338      &                 (lakonl(7:7).eq.
'2').or.((mortar.eq.0).and.
   339      &                 ((nmethod.ne.1).or.(iperturb(1).ge.2).or.
   340      &                  (iout.ne.-1))))
then   342      &                    elas,fnl,ncmat_,ntmat_,nope,lakonl,t1l,kode,
   343      &                    elconloc,plicon,nplicon,npmat_,ener(1,i),
   344      &                    nener,stx(1,1,i),mi,springarea(1,konl(nope+1))
   345      &                    ,nmethod,ne0,nstate_,xstateini,xstate,reltime,
   346      &                    ielas,ener(1,i+ne))
   347                   elseif((mortar.eq.1).and.
   348      &                    ((nmethod.ne.1).or.(iperturb(1).ge.2).or.
   350                      iloc=kon(indexe+nope+1)
   351                      jfaces=kon(indexe+nope+2)
   352                      igauss=kon(indexe+nope+1)
   354      &                    fnl,ncmat_,ntmat_,nope,lakonl,t1l,kode,
   355      &                    elconloc,plicon,nplicon,npmat_,ener(1,i),
   356      &                    nener,stx(1,1,i),mi,springarea(1,iloc),
   357      &                    nmethod,ne0,nstate_,xstateini,xstate,reltime,
   358      &                    ielas,iloc,jfaces,igauss,pslavsurf,pmastsurf,
   359      &                    clearini,ener(1,i+ne))
   373                if(lakonl(4:5).eq.
'8R') 
then   378                elseif(lakonl(4:7).eq.
'20RB') 
then   379                   if((lakonl(8:8).eq.
'R').or.(lakonl(8:8).eq.
'C')) 
then   383                      weight=weight3d13(jj)
   386      &                    jj,xi,et,ze,weight)
   388                elseif((lakonl(4:4).eq.
'8').or.
   389      &                 (lakonl(4:6).eq.
'20R').or.(lakonl(4:6).eq.
'26R'))
   391                   if(lakonl(7:8).ne.
'LC') 
then   412                               dlayer(k)=dlayer(k)+xlayer(ilayer-1,k)
   416                      ze=2.d0*(dlayer(ki)+(ze+1.d0)/
   417      &                    2.d0*xlayer(ilayer,ki))/tlayer(ki)-1.d0
   418                      weight=weight*xlayer(ilayer,ki)/tlayer(ki)
   422                      imat=ielmat(ilayer,i)
   425                         iorien=ielorien(ilayer,i)
   430                      if(nelcon(1,imat).lt.0) 
then   436                elseif(lakonl(4:4).eq.
'2') 
then   441                elseif((lakonl(4:5).eq.
'10').or.(lakonl(4:5).eq.
'14'))
   447                elseif(lakonl(4:4).eq.
'4') 
then   452                elseif(lakonl(4:5).eq.
'15') 
then   453                   if(lakonl(7:8).ne.
'LC') 
then   465                      weight=weight3d10(kl)
   474                               dlayer(k)=dlayer(k)+xlayer(ilayer-1,k)
   478                      ze=2.d0*(dlayer(ki)+(ze+1.d0)/
   479      &                    2.d0*xlayer(ilayer,ki))/tlayer(ki)-1.d0
   480                      weight=weight*xlayer(ilayer,ki)/tlayer(ki)
   484                      imat=ielmat(ilayer,i)
   487                         iorien=ielorien(ilayer,i)
   492                      if(nelcon(1,imat).lt.0) 
then   498                elseif(lakonl(4:4).eq.
'6') 
then   506                if(lakonl(1:5).eq.
'C3D8R') 
then   508                elseif(lakonl(1:5).eq.
'C3D8I') 
then   509                   call shape8hu(xi,et,ze,xl,xsj,shp,iflag)
   510                elseif(nope.eq.20) 
then   512                   if(lakonl(7:7).eq.
'A') 
then   514                   elseif((lakonl(7:7).eq.
'E').or.
   515      &                    (lakonl(7:7).eq.
'S')) 
then   518                      call shape20h(xi,et,ze,xl,xsj,shp,iflag)
   520                elseif(nope.eq.26) 
then   521                   call shape26h(xi,et,ze,xl,xsj,shp,iflag,konl)
   522                elseif(nope.eq.8) 
then   523                   call shape8h(xi,et,ze,xl,xsj,shp,iflag)
   524                elseif(nope.eq.10) 
then   526                elseif(nope.eq.14) 
then   527                   call shape14tet(xi,et,ze,xl,xsj,shp,iflag,konl)
   528                elseif(nope.eq.4) 
then   529                   call shape4tet(xi,et,ze,xl,xsj,shp,iflag)
   530                elseif(nope.eq.15) 
then   531                   call shape15w(xi,et,ze,xl,xsj,shp,iflag)
   533                   call shape6w(xi,et,ze,xl,xsj,shp,iflag)
   549                         vkl(m2,m3)=vkl(m2,m3)+shp(m3,m1)*vl(m2,m1)
   561                if((iperturb(1).eq.1).or.(iperturb(1).eq.-1))
then   571                            vokl(m2,m3)=vokl(m2,m3)+
   572      &                          shp(m3,m1)*voldl(m2,m1)
   587                exy=vkl(1,2)+vkl(2,1)
   588                exz=vkl(1,3)+vkl(3,1)
   589                eyz=vkl(2,3)+vkl(3,2)
   591                if(iperturb(2).eq.1) 
then   595                   exx=exx+(vkl(1,1)**2+vkl(2,1)**2+vkl(3,1)**2)/2.d0
   596                   eyy=eyy+(vkl(1,2)**2+vkl(2,2)**2+vkl(3,2)**2)/2.d0
   597                   ezz=ezz+(vkl(1,3)**2+vkl(2,3)**2+vkl(3,3)**2)/2.d0
   598                   exy=exy+vkl(1,1)*vkl(1,2)+vkl(2,1)*vkl(2,2)+
   600                   exz=exz+vkl(1,1)*vkl(1,3)+vkl(2,1)*vkl(2,3)+
   602                   eyz=eyz+vkl(1,2)*vkl(1,3)+vkl(2,2)*vkl(2,3)+
   609                elseif(iperturb(1).eq.1) 
then   610                   exx=exx+vokl(1,1)*vkl(1,1)+vokl(2,1)*vkl(2,1)+
   612                   eyy=eyy+vokl(1,2)*vkl(1,2)+vokl(2,2)*vkl(2,2)+
   614                   ezz=ezz+vokl(1,3)*vkl(1,3)+vokl(2,3)*vkl(2,3)+
   616                   exy=exy+vokl(1,1)*vkl(1,2)+vokl(1,2)*vkl(1,1)+
   617      &                 vokl(2,1)*vkl(2,2)+vokl(2,2)*vkl(2,1)+
   618      &                 vokl(3,1)*vkl(3,2)+vokl(3,2)*vkl(3,1)
   619                   exz=exz+vokl(1,1)*vkl(1,3)+vokl(1,3)*vkl(1,1)+
   620      &                 vokl(2,1)*vkl(2,3)+vokl(2,3)*vkl(2,1)+
   621      &                 vokl(3,1)*vkl(3,3)+vokl(3,3)*vkl(3,1)
   622                   eyz=eyz+vokl(1,2)*vkl(1,3)+vokl(1,3)*vkl(1,2)+
   623      &                 vokl(2,2)*vkl(2,3)+vokl(2,3)*vkl(2,2)+
   624      &                 vokl(3,2)*vkl(3,3)+vokl(3,3)*vkl(3,2)
   629                if(iperturb(1).ne.-1) 
then   641      &                 (vokl(1,1)**2+vokl(2,1)**2+vokl(3,1)**2)/2.d0
   643      &                 (vokl(1,2)**2+vokl(2,2)**2+vokl(3,2)**2)/2.d0
   645      &                 (vokl(1,3)**2+vokl(2,3)**2+vokl(3,3)**2)/2.d0
   646                   eloc(4)=(vokl(1,2)+vokl(2,1)+vokl(1,1)*vokl(1,2)+
   647      &                 vokl(2,1)*vokl(2,2)+vokl(3,1)*vokl(3,2))/2.d0
   648                   eloc(5)=(vokl(1,3)+vokl(3,1)+vokl(1,1)*vokl(1,3)+
   649      &                 vokl(2,1)*vokl(2,3)+vokl(3,1)*vokl(3,3))/2.d0
   650                   eloc(6)=(vokl(2,3)+vokl(3,2)+vokl(1,2)*vokl(1,3)+
   651      &                 vokl(2,2)*vokl(2,3)+vokl(3,2)*vokl(3,3))/2.d0
   659                if((kode.eq.-50).or.(kode.le.-100)) 
then   664                   xkl(1,1)=vkl(1,1)+1.0d0
   665                   xkl(2,2)=vkl(2,2)+1.0d0
   666                   xkl(3,3)=vkl(3,3)+1.0d0
   677                   vj=xkl(1,1)*(xkl(2,2)*xkl(3,3)-xkl(2,3)*xkl(3,2))
   678      &                 -xkl(1,2)*(xkl(2,1)*xkl(3,3)-xkl(2,3)*xkl(3,1))
   679      &                 +xkl(1,3)*(xkl(2,1)*xkl(3,2)-xkl(2,2)*xkl(3,1))
   686                      ckl(1,1)=(xkl(2,2)*xkl(3,3)-xkl(2,3)*xkl(3,2))/vj
   687                      ckl(2,2)=(xkl(1,1)*xkl(3,3)-xkl(1,3)*xkl(3,1))/vj
   688                      ckl(3,3)=(xkl(1,1)*xkl(2,2)-xkl(1,2)*xkl(2,1))/vj
   689                      ckl(1,2)=(xkl(1,3)*xkl(3,2)-xkl(1,2)*xkl(3,3))/vj
   690                      ckl(1,3)=(xkl(1,2)*xkl(2,3)-xkl(2,2)*xkl(1,3))/vj
   691                      ckl(2,3)=(xkl(2,1)*xkl(1,3)-xkl(1,1)*xkl(2,3))/vj
   692                      ckl(2,1)=(xkl(3,1)*xkl(2,3)-xkl(2,1)*xkl(3,3))/vj
   693                      ckl(3,1)=(xkl(2,1)*xkl(3,2)-xkl(2,2)*xkl(3,1))/vj
   694                      ckl(3,2)=(xkl(3,1)*xkl(1,2)-xkl(1,1)*xkl(3,2))/vj
   707                if(kode.le.-100) 
then   724                            vikl(m2,m3)=vikl(m2,m3)
   725      &                          +shp(m3,m1)*vini(m2,konl(m1))
   733                   xikl(1,1)=vikl(1,1)+1
   734                   xikl(2,2)=vikl(2,2)+1.
   735                   xikl(3,3)=vikl(3,3)+1.
   745                   vij=xikl(1,1)*(xikl(2,2)*xikl(3,3)
   746      &                 -xikl(2,3)*xikl(3,2))
   747      &                 -xikl(1,2)*(xikl(2,1)*xikl(3,3)
   748      &                 -xikl(2,3)*xikl(3,1))
   749      &                 +xikl(1,3)*(xikl(2,1)*xikl(3,2)
   750      &                 -xikl(2,2)*xikl(3,1))
   755                      stre(m1)=stiini(m1,jj,i)
   762                if(iprestr.eq.1) 
then   764                      beta(kk)=-prestr(kk,jj,i)
   772                if(ithermal(1).ge.1) 
then   779                   if(ithermal(1).eq.1) 
then   780                      if((lakonl(4:5).eq.
'8 ').or.
   781      &                    (lakonl(4:5).eq.
'8I')) 
then   783                            t0l=t0l+t0(konl(i1))/8.d0
   784                            t1l=t1l+t1(konl(i1))/8.d0
   786                      elseif((lakonl(4:6).eq.
'20 ').or.
   787      &                       (lakonl(4:6).eq.
'26 ')) 
then   789                         call lintemp(t0,t1,konl,nopered,jj,t0l,t1l)
   790                      elseif(lakonl(4:6).eq.
'10T') 
then   795                            t0l=t0l+shp(4,i1)*t0(konl(i1))
   796                            t1l=t1l+shp(4,i1)*t1(konl(i1))
   799                   elseif(ithermal(1).ge.2) 
then   800                      if((lakonl(4:5).eq.
'8 ').or.
   801      &                    (lakonl(4:5).eq.
'8I')) 
then   803                            t0l=t0l+t0(konl(i1))/8.d0
   804                            t1l=t1l+vold(0,konl(i1))/8.d0
   806                      elseif((lakonl(4:6).eq.
'20 ').or.
   807      &                       (lakonl(4:6).eq.
'26 ')) 
then   809                         call lintemp_th(t0,vold,konl,nopered,jj,t0l,t1l,
   811                      elseif(lakonl(4:6).eq.
'10T') 
then   816                            t0l=t0l+shp(4,i1)*t0(konl(i1))
   817                            t1l=t1l+shp(4,i1)*vold(0,konl(i1))
   828                if((iorien.gt.0).or.(kode.le.-100)) 
then   832                         pgauss(j)=pgauss(j)+shp(4,i1)*co(j,konl(i1))
   844      &              nalcon,imat,amat,iorien,pgauss,orab,ntmat_,
   845      &              elas,rho,i,ithermal,alzero,mattyp,t0l,t1l,ihyper,
   846      &              istiff,elconloc,eth,kode,plicon,nplicon,
   847      &              plkcon,nplkcon,npmat_,plconloc,mi(1),dtime,jj,
   852                if(ithermal(1).ne.0) 
then   854                      emec(m1)=eloc(m1)-eth(m1)
   861                if(kode.le.-100) 
then   863                      emec0(m1)=emeini(m1,jj,i)
   869                if(iprestr.eq.2) 
then   871                      emec(m1)=emec(m1)-prestr(m1,jj,i)
   877                call mechmodel(elconloc,elas,emec,kode,emec0,ithermal,
   878      &              icmd,beta,stre,xkl,ckl,vj,xikl,vij,
   879      &              plconloc,xstate,xstateini,ielas,
   880      &              amat,t1l,dtime,time,ttime,i,jj,nstate_,mi(1),
   881      &              iorien,pgauss,orab,eloc,mattyp,qa(3),istep,iinc,
   882      &              ipkon,nmethod,iperturb,qa(4))
   884                if(((nmethod.ne.4).or.(iperturb(1).ne.0)).and.
   885      &              (nmethod.ne.5)) 
then   887                      xstiff(m1,jj,i)=elas(m1)
   891                if(iperturb(1).eq.-1) 
then   902                   eloc(1)=exx-vokl(1,1)
   903                   eloc(2)=eyy-vokl(2,2)
   904                   eloc(3)=ezz-vokl(3,3)
   905                   eloc(4)=exy-(vokl(1,2)+vokl(2,1))
   906                   eloc(5)=exz-(vokl(1,3)+vokl(3,1))
   907                   eloc(6)=eyz-(vokl(2,3)+vokl(3,2))
   913                      al=un*um/(1.d0-2.d0*un)
   915                      am1=al*(eloc(1)+eloc(2)+eloc(3))
   916                      stre(1)=am1+2.d0*um*eloc(1)
   917                      stre(2)=am1+2.d0*um*eloc(2)
   918                      stre(3)=am1+2.d0*um*eloc(3)
   922                   elseif(mattyp.eq.2) 
then   923                      stre(1)=eloc(1)*elas(1)+eloc(2)*elas(2)
   925                      stre(2)=eloc(1)*elas(2)+eloc(2)*elas(3)
   927                      stre(3)=eloc(1)*elas(4)+eloc(2)*elas(5)
   929                      stre(4)=eloc(4)*elas(7)
   930                      stre(5)=eloc(5)*elas(8)
   931                      stre(6)=eloc(6)*elas(9)
   932                   elseif(mattyp.eq.3) 
then   933                      stre(1)=eloc(1)*elas(1)+eloc(2)*elas(2)+
   934      &                    eloc(3)*elas(4)+eloc(4)*elas(7)+
   935      &                    eloc(5)*elas(11)+eloc(6)*elas(16)
   936                      stre(2)=eloc(1)*elas(2)+eloc(2)*elas(3)+
   937      &                    eloc(3)*elas(5)+eloc(4)*elas(8)+
   938      &                    eloc(5)*elas(12)+eloc(6)*elas(17)
   939                      stre(3)=eloc(1)*elas(4)+eloc(2)*elas(5)+
   940      &                    eloc(3)*elas(6)+eloc(4)*elas(9)+
   941      &                    eloc(5)*elas(13)+eloc(6)*elas(18)
   942                      stre(4)=eloc(1)*elas(7)+eloc(2)*elas(8)+
   943      &                    eloc(3)*elas(9)+eloc(4)*elas(10)+
   944      &                    eloc(5)*elas(14)+eloc(6)*elas(19)
   945                      stre(5)=eloc(1)*elas(11)+eloc(2)*elas(12)+
   946      &                    eloc(3)*elas(13)+eloc(4)*elas(14)+
   947      &                    eloc(5)*elas(15)+eloc(6)*elas(20)
   948                      stre(6)=eloc(1)*elas(16)+eloc(2)*elas(17)+
   949      &                    eloc(3)*elas(18)+eloc(4)*elas(19)+
   950      &                    eloc(5)*elas(20)+eloc(6)*elas(21)
   957                if(idesvar.eq.0) 
then   958                   xenerel=xenerel+weight*xsj*enerini(jj,i)
   964      &              ((eloc(1)-eth(1)-emeini(1,jj,i))*
   965      &              (stre(1)+stiini(1,jj,i))+
   966      &              (eloc(2)-eth(2)-emeini(2,jj,i))*
   967      &              (stre(2)+stiini(2,jj,i))+
   968      &              (eloc(3)-eth(3)-emeini(3,jj,i))*
   969      &              (stre(3)+stiini(3,jj,i)))/2.d0+
   970      &         (eloc(4)-eth(4)-emeini(4,jj,i))*(stre(4)+stiini(4,jj,i))+
   971      &         (eloc(5)-eth(5)-emeini(5,jj,i))*(stre(5)+stiini(5,jj,i))+
   972      &         (eloc(6)-eth(6)-emeini(6,jj,i))*(stre(6)+stiini(6,jj,i))
   974                   xenerel=xenerel+weight*xsj*ener(jj,i)
   982             if(idesvar.eq.0) 
then   984                g0(iobject)=g0(iobject)+xenerel
   986                dgdx(idesvar,iobject)=dgdx(idesvar,iobject)
 subroutine shape20h_pl(xi, et, ze, xl, xsj, shp, iflag)
Definition: shape20h_pl.f:20
 
subroutine shape6w(xi, et, ze, xl, xsj, shp, iflag)
Definition: shape6w.f:20
 
subroutine linscal10(scal, konl, scall, idim, shp)
Definition: linscal10.f:20
 
subroutine shape8q(xi, et, xl, xsj, xs, shp, iflag)
Definition: shape8q.f:20
 
subroutine springforc_n2f(xl, konl, vl, imat, elcon, nelcon, elas, fnl, ncmat_, ntmat_, nope, lakonl, t1l, kode, elconloc, plicon, nplicon, npmat_, senergy, nener, cstr, mi, springarea, nmethod, ne0, nstate_, xstateini, xstate, reltime, ielas, venergy, ielorien, orab, norien, nelem)
Definition: springforc_n2f.f:24
 
subroutine mechmodel(elconloc, elas, emec, kode, emec0, ithermal, icmd, beta, stre, xkl, ckl, vj, xikl, vij, plconloc, xstate, xstateini, ielas, amat, t1l, dtime, time, ttime, iel, iint, nstate_, mi, iorien, pgauss, orab, eloc, mattyp, pnewdt, istep, iinc, ipkon, nmethod, iperturb, depvisc)
Definition: mechmodel.f:24
 
subroutine shape14tet(xi, et, ze, xl, xsj, shp, iflag, konl)
Definition: shape14tet.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_ax(xi, et, ze, xl, xsj, shp, iflag)
Definition: shape20h_ax.f:20
 
subroutine lintemp_th(t0, vold, konl, nope, jj, t0l, t1l, mi)
Definition: lintemp_th.f:20
 
subroutine materialdata_me(elcon, nelcon, rhcon, nrhcon, alcon, nalcon, imat, amat, iorien, pgauss, orab, ntmat_, elas, rho, iel, ithermal, alzero, mattyp, t0l, t1l, ihyper, istiff, elconloc, eth, kode, plicon, nplicon, plkcon, nplkcon, npmat_, plconloc, mi, dtime, iint, xstiff, ncmat_)
Definition: materialdata_me.f:23
 
subroutine lintemp(t0, t1, konl, nope, jj, t0l, t1l)
Definition: lintemp.f:20
 
subroutine shape20h(xi, et, ze, xl, xsj, shp, iflag)
Definition: shape20h.f:20
 
subroutine str2mat(str, ckl, vj, cauchy)
Definition: str2mat.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 cauchy(n, x, l, u, nbd, g, iorder, iwhere, t, d, xcp, m, wy, ws, sy, wt, theta, col, head, p, c, wbp, v, nseg, iprint, sbgnrm, info, epsmch)
Definition: lbfgsb.f:1225
 
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 springforc_f2f(xl, vl, imat, elcon, nelcon, elas, fnl, ncmat_, ntmat_, nope, lakonl, t1l, kode, elconloc, plicon, nplicon, npmat_, senergy, nener, cstr, mi, springarea, nmethod, ne0, nstate_, xstateini, xstate, reltime, ielas, iloc, jfaces, igauss, pslavsurf, pmastsurf, clearini, venergy, kscale, konl, iout, nelem)
Definition: springforc_f2f.f:26
 
subroutine shape26h(xi, et, ze, xl, xsj, shp, iflag, konl)
Definition: shape26h.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