28       character*132 textpart(16)
    30       integer nelcon(2,*),nmat,ntmat,ntmat_,istep,istat,ncocon(2,*),
    31      &  n,key,i,ncmat_,nconstants,imax,isum,j,iperturb(*),iumat,
    32      &  irstrt,iline,ipol,inl,ipoinp(2,*),inp(3,*),imech,ipoinpc(0:*)
    34       real*8 elcon(0:ncmat_,ntmat_,*),cocon(0:6,ntmat_,*)
    41       if((istep.gt.0).and.(irstrt.ge.0)) 
then    42          write(*,*)
'*ERROR in usermaterials: *USER MATERIAL should be'    43          write(*,*) 
'  placed before all step definitions'    48          write(*,*) 
'*ERROR in usermaterials: *USER MATERIAL should be'    49          write(*,*) 
'  preceded by a *MATERIAL card'    56          if(textpart(i)(1:10).eq.
'CONSTANTS=') 
then    57             read(textpart(i)(11:20),
'(i10)',iostat=istat) nconstants
    58             if(istat.gt.0) 
call inputerror(inpc,ipoinpc,iline,
    60          elseif(textpart(i)(1:12).eq.
'TYPE=THERMAL') 
then    64      &        
'*WARNING in usermaterials: parameter not recognized:'    66      &                 textpart(i)(1:index(textpart(i),
' ')-1)
    83          nelcon(1,nmat)=-100-nconstants
    87             do j=1,(nconstants)/8+1
    89                   call getnewline(inpc,textpart,istat,n,key,iline,ipol,
    90      &                 inl,ipoinp,inp,ipoinpc)
    91                   if((istat.lt.0).or.(key.eq.1)) 
return    94                   if(ntmat.gt.ntmat_) 
then    96      &                    
'*ERROR in usermaterials: increase ntmat_'   100                   call getnewline(inpc,textpart,istat,n,key,iline,ipol,
   101      &                 inl,ipoinp,inp,ipoinpc)
   102                   if((istat.lt.0).or.(key.eq.1)) 
then   104      &                 
'*ERROR in usermaterials: anisotropic definition'   105                      write(*,*) 
'  is not complete. '   112                if(8*j.gt.nconstants+1) 
then   113                   imax=nconstants-8*j+9
   116                   if(isum+i.le.nconstants) 
then   117                      read(textpart(i)(1:20),
'(f20.0)',iostat=istat) 
   118      &                    elcon(isum+i,ntmat,nmat)
   120                      read(textpart(i)(1:20),
'(f20.0)',iostat=istat) 
   121      &                    elcon(0,ntmat,nmat)
   123                   if(istat.gt.0) 
call inputerror(inpc,ipoinpc,iline,
   135          if(nconstants.gt.6) 
then   136             write(*,*) 
'*ERROR in usermaterials: number of'   137             write(*,*) 
'       thermal constants cannot exceed 6'   138             write(*,*) 
'       change the source code or'   139             write(*,*) 
'       contact the author'   142          ncocon(1,nmat)=-100-nconstants
   145             call getnewline(inpc,textpart,istat,n,key,iline,ipol,
   146      &           inl,ipoinp,inp,ipoinpc)
   147             if((istat.lt.0).or.(key.eq.1)) 
return   150             if(ntmat.gt.ntmat_) 
then   152      &              
'*ERROR in usermaterials: increase ntmat_'   157                if(i.le.nconstants) 
then   158                   read(textpart(i)(1:20),
'(f20.0)',iostat=istat) 
   159      &                 cocon(i,ntmat,nmat)
   161                   read(textpart(i)(1:20),
'(f20.0)',iostat=istat) 
   162      &                 cocon(0,ntmat,nmat)
   164                if(istat.gt.0) 
call inputerror(inpc,ipoinpc,iline,
 
subroutine getnewline(inpc, textpart, istat, n, key, iline, ipol, inl, ipoinp, inp, ipoinpc)
Definition: getnewline.f:21