29       character*20 labmpc(*)
    30       character*132 textpart(16)
    32       integer ipompc(*),nodempc(3,*),nmpc,nmpc_,mpcfree,istep,istat,
    33      &  n,i,j,ii,key,nterm,nk,node,ndir,mpcfreeold,ikmpc(*),ilmpc(*),
    34      &  id,idof,iline,ipol,inl,ipoinp(2,*),inp(3,*),ipoinpc(0:*),m
    39          if(textpart(m)(1:5).eq.
'TYPE=') 
then    40             type(1:13)=textpart(m)(6:18)
    41             if(textpart(m)(19:19).ne.
' ') 
then    42                write(*,*) 
'*ERROR reading *NETWORK MPC: type'    43                write(*,*) 
'       of network mpc is too long'    49      &        
'*WARNING reading *NETWORK MPC: parameter not recognized:'    51      &            textpart(m)(1:index(textpart(m),
' ')-1)
    59      &     
'*ERROR reading *NETWORK MPC: *NETWORK MPC should be placed'    60          write(*,*) 
'  before all step definitions'    65          call getnewline(inpc,textpart,istat,n,key,iline,ipol,inl,
    67          if((istat.lt.0).or.(key.eq.1)) 
return    68          read(textpart(1)(1:10),
'(i10)',iostat=istat) nterm
    71          if(nmpc.gt.nmpc_) 
then    72             write(*,*) 
'*ERROR reading *NETWORK MPC: increase nmpc_'    76          labmpc(nmpc)(1:7)=
'NETWORK'    77          labmpc(nmpc)(8:20)=
type(1:13)
    82             call getnewline(inpc,textpart,istat,n,key,iline,ipol,inl,
    84             if((istat.lt.0).or.(key.eq.1)) 
then    86      &           
'*ERROR reading *NETWORK MPC: mpc definition ',nmpc
    87                write(*,*) 
'  is not complete. '    95                read(textpart((i-1)*3+1)(1:10),
'(i10)',iostat=istat) node
    96                if(istat.gt.0) 
call inputerror(inpc,ipoinpc,iline,
    98                if((node.gt.nk).or.(node.le.0)) 
then    99                   write(*,*) 
'*ERROR reading *NETWORK MPC:'   100                   write(*,*) 
'       node ',node,
' is not defined'   104                read(textpart((i-1)*3+2)(1:10),
'(i10)',iostat=istat) ndir
   105                if(istat.gt.0) 
call inputerror(inpc,ipoinpc,iline,
   108                elseif(ndir.eq.8) 
then   110                elseif(ndir.eq.11) 
then   113                   write(*,*) 
'*ERROR reading *NETWORK MPC:'   114                   write(*,*) 
'       direction',ndir,
' is not defined'   118                read(textpart((i-1)*3+3)(1:20),
'(f20.0)',iostat=istat) x
   119                if(istat.gt.0) 
call inputerror(inpc,ipoinpc,iline,
   122                nodempc(1,mpcfree)=node
   123                nodempc(2,mpcfree)=ndir
   130                   call nident(ikmpc,idof,nmpc-1,id)
   132                      if(ikmpc(id).eq.idof) 
then   134      &                       (ikmpc(id))/8+1,ikmpc(id)-8*((ikmpc(id))/8)
   147                mpcfree=nodempc(3,mpcfree)
   148                if(mpcfree.eq.0) 
then   150      &                  
'*ERROR reading *NETWORK MPC: increase memmpc_'   158                nodempc(3,mpcfreeold)=0
   164  100  
format(/,
'*ERROR reading *NETWORK MPC: the DOF corresponding to',
   165      &           /,
'node ',i10,
' in direction',i1,
' is detected on',
   166      &           /,
'the dependent side of two different MPC''s') 
 
subroutine getnewline(inpc, textpart, istat, n, key, iline, ipol, inl, ipoinp, inp, ipoinpc)
Definition: getnewline.f:21
 
subroutine nident(x, px, n, id)
Definition: nident.f:26