32       character*80 matname(*)
    33       character*81 set(*),elset
    34       character*132 textpart(16)
    36       integer nelcon(2,*),nmat,ntmat_,ntmat,npmat_,npmat,istep,mi(*),
    37      &  n,key,i,nplicon(0:ntmat_,*),ncmat_,istat,istartset(*),
    38      &  iendset(*),irstrt,iline,ipol,inl,ipoinp(2,*),inp(3,*),nmat_,
    39      &  ialset(*),ipos,nset,j,k,ielmat(mi(3),*),ielorien(mi(3),*),
    42       real*8 plicon(0:2*npmat_,ntmat_,*),xfreq,temperature,
    43      &  elcon(0:ncmat_,ntmat_,*)
    50       if((istep.gt.0).and.(irstrt.ge.0)) 
then    51          write(*,*) 
'*ERROR reading *DASHPOT: *DASHPOT should be placed'    52          write(*,*) 
'  before all step definitions'    57       if(nmat.gt.nmat_) 
then    58          write(*,*) 
'*ERROR reading *DASHPOT: increase nmat_'    61       matname(nmat)(1:7)=
'DASHPOT'    63          matname(nmat)(i:i)=
' '    67          if(textpart(i)(1:6).eq.
'ELSET=') 
then    68             elset=textpart(i)(7:86)
    74      &        
'*WARNING reading *DASHPOT: parameter not recognized:'    76      &                 textpart(i)(1:index(textpart(i),
' ')-1)
    85       call getnewline(inpc,textpart,istat,n,key,iline,ipol,inl,
    87       if((istat.lt.0).or.(key.eq.1)) 
return    88       read(textpart(2)(1:20),
'(f20.0)',iostat=istat)
    90       if(istat.gt.0) 
call inputerror(inpc,ipoinpc,iline,
    92       if(xfreq.gt.0.d0) frequency=.true.
    95       if(.not.frequency) 
then   101             call getnewline(inpc,textpart,istat,n,key,iline,ipol,inl,
   102      &           ipoinp,inp,ipoinpc)
   103             if((istat.lt.0).or.(key.eq.1)) 
exit   106             if(ntmat.gt.ntmat_) 
then   107                write(*,*) 
'*ERROR reading *DASHPOT: increase ntmat_'   111                read(textpart(i)(1:20),
'(f20.0)',iostat=istat)
   112      &                 elcon(i,ntmat,nmat)
   113                if(istat.gt.0) 
call inputerror(inpc,ipoinpc,iline,
   116             if(textpart(3)(1:1).ne.
' ') 
then   117                read(textpart(3)(1:20),
'(f20.0)',iostat=istat)
   118      &                   elcon(0,ntmat,nmat)
   119                if(istat.gt.0) 
call inputerror(inpc,ipoinpc,iline,
   122                elcon(0,ntmat,nmat)=0.d0
   131             call getnewline(inpc,textpart,istat,n,key,iline,ipol,inl,
   132      &           ipoinp,inp,ipoinpc)
   133             if((istat.lt.0).or.(key.eq.1)) 
exit   134             read(textpart(3)(1:20),
'(f20.0)',iostat=istat) temperature
   135             if(istat.gt.0) 
call inputerror(inpc,ipoinpc,iline,
   143                if(ntmat.gt.ntmat_) 
then   144                   write(*,*) 
'*ERROR reading *DASHPOT: increase ntmat_'   147                nplicon(0,nmat)=ntmat
   148                plicon(0,ntmat,nmat)=temperature
   152             elseif(plicon(0,ntmat,nmat).ne.temperature) 
then   155                if(ntmat.gt.ntmat_) 
then   156                   write(*,*) 
'*ERROR reading *DASHPOT: increase ntmat_'   159                nplicon(0,nmat)=ntmat
   160                plicon(0,ntmat,nmat)=temperature
   163                read(textpart(i)(1:20),
'(f20.0)',iostat=istat) 
   164      &              plicon(2*npmat+i,ntmat,nmat)
   165                if(istat.gt.0) 
call inputerror(inpc,ipoinpc,iline,
   169             if(npmat.gt.npmat_) 
then   170                write(*,*) 
'*ERROR reading *DASHPOT: increase npmat_'   173             nplicon(ntmat,nmat)=npmat
   178          write(*,*)
'*ERROR reading *DASHPOT: *DASHPOT card without data'   182          if(set(i).eq.elset) 
exit   186          write(*,*) 
'*ERROR reading *DASHPOT: element set ',elset
   187          write(*,*) 
'       has not yet been defined. '   195       do j=istartset(i),iendset(i)
   196          if(ialset(j).gt.0) 
then   197             ielmat(1,ialset(j))=nmat
   198             ielorien(1,ialset(j))=0
   203                if(k.ge.ialset(j-1)) 
exit 
subroutine getnewline(inpc, textpart, istat, n, key, iline, ipol, inl, ipoinp, inp, ipoinpc)
Definition: getnewline.f:21