29       logical solid,beamshell,out3d
    32       character*8 lakon(*),label
    33       character*81 set(*),elset
    35       character*132 textpart(16)
    37       integer kon(*),istartset(*),iendset(*),ialset(*),ne,ne_,nset,
    38      &  nset_,nalset,nalset_,istep,istat,n,key,i,ielset,js,k,nn,
    39      &  nteller,j,ipkon(*),nkon,nope,indexe,mi(*),ipos,indexy,ixfree,
    40      &  iponor(2,*),nopeexp,iline,ipol,inl,ipoinp(2,*),inp(3,*),
    41      &  iaxial,ipoinpc(0:*),cfd,nlabel,network,iuel(4,*),nuel_,
    42      &  id,four,number,ndof,intpoints
    47          write(*,*) 
'*ERROR reading *ELEMENT: *ELEMENT should be placed'    48          write(*,*) 
'  before all step definitions'    62          if(textpart(i)(1:6).eq.
'ELSET=') 
then    63             elset=textpart(i)(7:86)
    64             if(textpart(i)(87:87).ne.
' ') 
then    65                write(*,*) 
'*ERROR reading *ELEMENT: set name too long'    66                write(*,*) 
'       (more than 80 characters)'    67                write(*,*) 
'       set name:',textpart(i)(1:132)
    75                if(set(js).eq.elset) 
then    79                   if(iendset(js).eq.nalset) 
then    85                      nn=iendset(js)-istartset(js)+1
    86                      if(nalset+nn.gt.nalset_) 
then    88      &                   
'*ERROR reading *ELEMENT: increase nalset_'    92                         ialset(nalset+k)=ialset(istartset(js)+k-1)
    94                      do k=istartset(js),nalset
    95                         ialset(k)=ialset(k+nn)
    98                         if(istartset(k).gt.iendset(js)) 
then    99                            istartset(k)=istartset(k)-nn
   100                            iendset(k)=iendset(k)-nn
   103                      istartset(js)=nalset-nn+1
   113             if(nset.gt.nset_) 
then   114                write(*,*) 
'*ERROR reading *ELEMENT: increase nset_'   118             istartset(js)=nalset+1
   122          elseif(textpart(i)(1:5).eq.
'TYPE=') 
then   123             read(textpart(i)(6:13),
'(a8)') label
   127             if((label(1:2).eq.
'DC').and.(label(1:7).ne.
'DCOUP3D')) 
then   128                label(1:7)=label(2:8)
   133             elseif(label(1:3).eq.
'B21') 
then   135             elseif(label(1:4).eq.
'T2D2') 
then   142             if((label.eq.
'C3D20   ').or.
   143      &         (label.eq.
'CPE8    ').or.
   144      &         (label.eq.
'CPS8    ').or.
   145      &         (label.eq.
'CAX8    ').or.
   146      &         (label.eq.
'M3D8    ').or.
   147      &         (label.eq.
'S8      ').or.
   148      &         (label.eq.
'T3D3    ').or.
   149      &         (label.eq.
'B32     ').or.
   154      &         (label.eq.
'C3D20R  ').or.
   155      &         (label.eq.
'CPE8R   ').or.
   156      &         (label.eq.
'CPS8R   ').or.
   157      &         (label.eq.
'CAX8R   ').or.
   158      &         (label.eq.
'M3D8R   ').or.
   159      &         (label.eq.
'S8R     ').or.
   160      &         (label.eq.
'B32R    ').or.
   165      &         (label.eq.
'C3D8    ').or.
   166      &         (label.eq.
'CPE4    ').or.
   167      &         (label.eq.
'CPS4    ').or.
   168      &         (label.eq.
'CAX4    ').or.
   169      &         (label.eq.
'M3D4    ').or.
   170      &         (label.eq.
'S4      ').or.
   171      &         (label.eq.
'T3D2    ').or.
   172      &         (label.eq.
'B31     ').or.
   177      &         (label.eq.
'C3D8R   ').or.
   178      &         (label.eq.
'CPE4R   ').or.
   179      &         (label.eq.
'CPS4R   ').or.
   180      &         (label.eq.
'CAX4R   ').or.
   181      &         (label.eq.
'M3D4R   ').or.
   182      &         (label.eq.
'S4R     ').or.
   183      &         (label.eq.
'B31R    ').or.
   188      &         (label.eq.
'C3D8I   ').or.
   193      &         (label.eq.
'C3D10   ').or.
   194      &         (label.eq.
'C3D10T  ').or.
   198      &         (label.eq.
'C3D4    ').or.
   203      &         (label.eq.
'C3D15   ').or.
   204      &         (label.eq.
'CPE6    ').or.
   205      &         (label.eq.
'CPS6    ').or.
   206      &         (label.eq.
'CAX6    ').or.
   207      &         (label.eq.
'M3D6    ').or.
   208      &         (label.eq.
'S6      ').or.
   213      &         (label.eq.
'C3D6    ').or.
   214      &         (label.eq.
'CPE3    ').or.
   215      &         (label.eq.
'CPS3    ').or.
   216      &         (label.eq.
'CAX3    ').or.
   217      &         (label.eq.
'M3D3    ').or.
   218      &         (label.eq.
'S3      ').or.
   222      &         (label.eq.
'GAPUNI  ').or.
   226      &         (label.eq.
'SPRINGA ').or.
   227      &         (label.eq.
'SPRING1 ').or.
   228      &         (label.eq.
'SPRING2 ').or.
   232      &         (label.eq.
'DASHPOTA'))
   238             elseif((label.eq.
'F3D8    ').or.
   239      &             (label.eq.
'F3D4    ').or.
   240      &             (label.eq.
'F3D6    ')) 
then   245             elseif(label(1:7).eq.
'DCOUP3D') 
then   249             elseif(label(1:1).eq.
'D') 
then   254             elseif(label(1:4).eq.
'MASS') 
then   258             elseif(label(1:1).eq.
'U') 
then   263                write(*,*) 
'*ERROR reading *ELEMENT:'   264                write(*,*) label,
' is an unknown element type'   268             if(label(1:3).eq.
'CAX') 
then   270             elseif((label(1:2).eq.
'S3').or.
   271      &             (label(1:2).eq.
'S4').or.
   272      &             (label(1:2).eq.
'S6').or.
   273      &             (label(1:2).eq.
'S8').or.
   274      &             (label(1:1).eq.
'B')) 
then   280      &        
'*WARNING reading *ELEMENT: parameter not recognized:'   282      &                 textpart(i)(1:index(textpart(i),
' ')-1)
   288       if(label.eq.
'        ') 
then   289          write(*,*) 
'*ERROR reading *ELEMENT: element type is lacking'   301       if(label(1:5).eq.
'C3D8I') 
then   304       elseif(label(4:5).eq.
'20') 
then   308       elseif((label(1:4).eq.
'CPE8').or.(label(1:4).eq.
'CPS8').or.
   309      &        (label(1:4).eq.
'CAX8').or.(label(1:2).eq.
'S8').or.
   310      &        (label(1:4).eq.
'M3D8')) 
then   313       elseif((label(1:4).eq.
'CPE6').or.(label(1:4).eq.
'CPS6').or.
   314      &        (label(1:4).eq.
'CAX6').or.(label(1:2).eq.
'S6').or.
   315      &        (label(1:4).eq.
'M3D6')) 
then   318       elseif((label(1:3).eq.
'B32').or.
   319      &       (label(1:4).eq.
'T3D3')) 
then   322       elseif((label(1:4).eq.
'B31 ').or.
   323      &       (label(1:4).eq.
'T3D2')) 
then   327       elseif(label(1:4).eq.
'B31R') 
then   330       elseif(label(4:4).eq.
'8') 
then   335       elseif(label(1:3).eq.
'S4 ') 
then   339       elseif((label(1:4).eq.
'CPE4').or.(label(1:4).eq.
'CPS4').or.
   340      &        (label(1:4).eq.
'CAX4').or.(label(1:2).eq.
'S4').or.
   341      &        (label(1:4).eq.
'M3D4')) 
then   344       elseif(label(4:5).eq.
'10') 
then   347       elseif(label(4:4).eq.
'4') 
then   350       elseif(label(4:5).eq.
'15') 
then   353       elseif(label(4:4).eq.
'6') 
then   356       elseif((label(1:4).eq.
'CPE3').or.(label(1:4).eq.
'CPS3').or.
   357      &        (label(1:4).eq.
'CAX3').or.(label(1:2).eq.
'S3').or.
   358      &        (label(1:4).eq.
'M3D3')) 
then   361       elseif(label(1:8).eq.
'DASHPOTA') 
then   365       elseif(label(1:7).eq.
'DCOUP3D') 
then   368       elseif(label(1:1).eq.
'D') 
then   371       elseif(label(1:1).eq.
'G') 
then   375       elseif(label(1:7).eq.
'SPRINGA') 
then   379       elseif(label(1:7).eq.
'SPRING1') 
then   383       elseif(label(1:7).eq.
'SPRING2') 
then   387       elseif(label(1:4).eq.
'MASS') 
then   390       elseif(label(1:1).eq.
'U') 
then   391          number=ichar(label(2:2))*256**3+
   392      &          ichar(label(3:3))*256**2+
   393      &          ichar(label(4:4))*256+
   396          call nidentk(iuel,number,nuel_,id,four)
   401          write(label(6:6),
'(a1)') char(intpoints)
   402          write(label(7:7),
'(a1)') char(ndof)
   403          write(label(8:8),
'(a1)') char(nope)
   407          call getnewline(inpc,textpart,istat,n,key,iline,ipol,inl,
   408      &        ipoinp,inp,ipoinpc)
   409          if((istat.lt.0).or.(key.eq.1)) 
then   421          read(textpart(1)(1:10),
'(i10)',iostat=istat) i
   422          if(istat.gt.0) 
call inputerror(inpc,ipoinpc,iline,
   425             write(*,*) 
'*ERROR reading *ELEMENT: increase ne_'   431          if(ipkon(i).ne.-1) 
then   432             write(*,*) 
'*ERROR reading *ELEMENT: element',i
   433             write(*,*) 
'       is already defined'   448             read(textpart(j)(1:10),
'(i10)',iostat=istat) kon(indexe+j-1)
   449             if(istat.gt.0) 
call inputerror(inpc,ipoinpc,iline,
   453          if(nteller.lt.nope) 
then   455                call getnewline(inpc,textpart,istat,n,key,iline,ipol,inl,
   456      &              ipoinp,inp,ipoinpc)
   457                if((istat.lt.0).or.(key.eq.1)) 
then   459      &              
'*ERROR reading *ELEMENT: element definition'   460                   write(*,*) 
'       incomplete for element ',i
   463                if(nteller+n.gt.nope) n=nope-nteller
   465                   read(textpart(j)(1:10),
'(i10)',iostat=istat) 
   466      &                  kon(indexe+nteller+j)
   467                   if(istat.gt.0) 
call inputerror(inpc,ipoinpc,iline,
   471                if(nteller.eq.nope) 
exit   479             if(nalset+1.gt.nalset_) 
then   480                write(*,*) 
'*ERROR reading *ELEMENT: increase nalset_'   491          if((label(1:2).eq.
'CP').or.(label(1:2).eq.
'CA')) 
then   492             if(indexy.eq.-1) 
then   500                iponor(1,indexe+j)=indexy
 #define max(a, b)
Definition: cascade.c:32
 
#define min(a, b)
Definition: cascade.c:31
 
subroutine getnewline(inpc, textpart, istat, n, key, iline, ipol, inl, ipoinp, inp, ipoinpc)
Definition: getnewline.f:21
 
subroutine nidentk(x, px, n, id, k)
Definition: nidentk.f:27