28       character*1 type,inpc(*)
    29       character*81 set(*),noset,submset,globset,facialset,
    31       character*132 textpart(16),jobnamec(*)
    33       integer nset,nset_,nalset,nalset_,istep,istat,n,key,i,nk,
    34      &  j,istartset(*),iendset(*),ialset(*),ipos,iline,ipol,inl,
    35      &  ipoinp(2,*),inp(3,*),l,k,kstart,kend,ipoinpc(0:*),
    36      &  iglobset,kincrement,nsubmodel,kflag,idummy,nalsetold,ntie,ntie_,
    37      &  nlength,namta(3,*),nam,nam_,namtot_
    39       real*8 tietol(3,*),amta(2,*)
    45      &          
'*ERROR reading *SUBMODEL: *SURFACE should be placed'    46          write(*,*) 
'  before all step definitions'    51       if(ntie.gt.ntie_) 
then    52          write(*,*) 
'*ERROR in ties: increase ntie_'    67             write(*,*) 
'*ERROR reading *SUBMODEL: increase nam_'    72      &           
'*ERROR reading *SUBMODEL: increase namtot_'    87       submset(1:8)=
'SUBMODEL'    88       if(nsubmodel.lt.10) 
then    90          write(submset(11:11),
'(i1)') nsubmodel
    91       elseif(nsubmodel.lt.100) 
then    93          write(submset(10:11),
'(i2)') nsubmodel
    94       elseif(nsubmodel.lt.1000) 
then    95          write(submset(9:11),
'(i3)') nsubmodel
    97          write(*,*) 
'*ERROR reading *SUBMODEL: no more than 999'    98          write(*,*) 
'       submodels allowed'   106          if(textpart(i)(1:5).eq.
'TYPE=') 
then   107             if(textpart(i)(6:12).eq.
'SURFACE') 
then   109             elseif(textpart(i)(6:9).eq.
'NODE') 
then   113      &          
'*ERROR reading *SUBMODEL: unknown type'   116          elseif(textpart(i)(1:12).eq.
'GLOBALELSET=') 
then   117             globset(1:80)=textpart(i)(13:92)
   119             ipos=index(globset,
' ')
   120             globset(ipos:ipos)=
'E'   122                if(set(iglobset).eq.globset) 
exit   124             if(iglobset.gt.nset) 
then   126      &            
'*ERROR reading *SUBMODEL: global element set ',
   128                write(*,*) 
'       does not exist'   131             do j=istartset(iglobset),iendset(iglobset)
   132                if(ialset(j).lt.0) 
then   134      &               
'*ERROR reading *SUBMODEL: global element set ',
   136                   write(*,*) 
'       was defined using GENERATE;'   137                   write(*,*) 
'       this is not allowed'   141          elseif(textpart(i)(1:6).eq.
'INPUT=') 
then   142             jobnamec(4)(1:126)=textpart(i)(7:132)
   143             jobnamec(4)(127:132)=
'      '   145                if(jobnamec(4)(j:j).eq.
'"') 
then   147                      if(jobnamec(4)(k:k).eq.
'"') 
then   153                      jobnamec(4)(k-1:k-1)=jobnamec(4)(k:k)
   155                   jobnamec(4)(126:126)=
' '   160      &        
'*WARNING reading *SUBMODEL: parameter not recognized:'   162      &                 textpart(i)(1:index(textpart(i),
' ')-1)
   186       if(nset.gt.nset_) 
then   187          write(*,*) 
'*ERROR in submsets: increase nset_'   191       istartset(nset)=nalset+1
   199             call getnewline(inpc,textpart,istat,n,key,iline,ipol,inl,
   200      &           ipoinp,inp,ipoinpc)
   201             if((istat.lt.0).or.(key.eq.1)) 
then   202                if(iendset(nset).eq.0) 
then   203                   write(*,*) 
'*ERROR reading *SUBMODEL: nodal'   204                   write(*,*) 
'       submodel contains no nodes'   211                if(nalset+1.gt.nalset_) 
then   213      &               
'*ERROR reading *SUBMODEL: increase nalset_'   217                read(textpart(l)(1:10),
'(i10)',iostat=istat)
   220                   noset=textpart(l)(1:80)
   222                   ipos=index(noset,
' ')
   225                      if(set(i).eq.noset) 
then   226                         do j=istartset(i),iendset(i)
   227                            if(ialset(j).gt.0) 
then   229                               if(nalset.gt.nalset_) 
then   231      &                   
'*ERROR reading *SUBMODEL: increase nalset_'   234                               ialset(nalset)=ialset(j)
   236                               kstart=ialset(nalset-1)
   239                               kincrement=-ialset(j)
   240                               do k=kstart+kincrement,kend,kincrement
   242                                  if(nalset.gt.nalset_) 
then   244      &                     
'*ERROR reading *SUBMODEL: increase nalset_'   257                      write(*,*) 
'*ERROR reading *SUBMODEL: node set ',
   259                      write(*,*) 
'       does not exist'   263                   if(ialset(nalset+1).gt.nk) 
then   264                      write(*,*) 
'*WARNING reading *SUBMODEL: value ',
   266                      write(*,*) 
'         in set ',set(nset),
' > nk'   280             call getnewline(inpc,textpart,istat,n,key,iline,ipol,inl,
   281      &           ipoinp,inp,ipoinpc)
   285             if((istat.lt.0).or.(key.eq.1)) 
then   286                if(iendset(nset).eq.0) 
then   287                   write(*,*) 
'*ERROR reading *SUBMODEL: facial'   288                   write(*,*) 
'       submodel contains no faces'   295                write(*,*) 
'*ERROR reading *SUBMODEL: no more than'   296                write(*,*) 
'       one entry per line allowed for'   297                write(*,*) 
'       a facial submodel interface'   301             facialset(1:80)=textpart(1)(1:80)
   303             ipos=index(facialset,
' ')
   304             facialset(ipos:ipos)=
'T'   306                if(set(i).eq.facialset) 
then   307                   do j=istartset(i),iendset(i)
   309                      if(nalset.gt.nalset_) 
then   311      &                   
'*ERROR in reading *SUBMODEL: increase nalset_'   314                      ialset(nalset)=ialset(j)
   323       tieset(1,ntie)(81:81)=
'S'   327       write(tieset(2,ntie)(1:10),
'(i10)') nset
   328       tieset(2,ntie)(11:11)=
type   329       nlength=iendset(nset)-istartset(nset)+1
   330       call isortii(ialset(istartset(nset)),idummy,nlength,kflag)
   334       write(tieset(3,ntie)(1:10),
'(i10)') iglobset
   339       if(iglobset.eq.0) 
return   344       do j=istartset(iglobset),iendset(iglobset)
   345          if(ialset(j).gt.0) 
then   347             if(nalset.gt.nalset_) 
then   349      &              
'*ERROR in surfaces: increase nalset_'   352             ialset(nalset)=ialset(j)
   354             kstart=ialset(nalset-1)
   357             kincrement=-ialset(j)
   358             do k=kstart+kincrement,kend,kincrement
   360                if(nalset.gt.nalset_) 
then   362      &                 
'*ERROR in surfaces: increase nalset_'   369       istartset(iglobset)=nalsetold
   370       iendset(iglobset)=nalset
   374       nlength=iendset(iglobset)-istartset(iglobset)+1
   375       call isortii(ialset(istartset(iglobset)),idummy,nlength,kflag)
 
subroutine isortii(ix, iy, n, kflag)
Definition: isortii.f:6
 
subroutine getnewline(inpc, textpart, istat, n, key, iline, ipol, inl, ipoinp, inp, ipoinpc)
Definition: getnewline.f:21