1! 2! CalculiX - A 3-dimensional finite element program 3! Copyright (C) 1998-2021 Guido Dhondt 4! 5! This program is free software; you can redistribute it and/or 6! modify it under the terms of the GNU General Public License as 7! published by the Free Software Foundation(version 2); 8! 9! 10! This program is distributed in the hope that it will be useful, 11! but WITHOUT ANY WARRANTY; without even the implied warranty of 12! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13! GNU General Public License for more details. 14! 15! You should have received a copy of the GNU General Public License 16! along with this program; if not, write to the Free Software 17! Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 18! 19 subroutine depvars(inpc,textpart,nelcon,nmat, 20 & nstate_,irstrt,istep,istat,n,iline,ipol,inl,ipoinp,inp, 21 & ncocon,ipoinpc,ier) 22! 23! reading the input deck: *DEPVAR 24! 25 implicit none 26! 27 character*1 inpc(*) 28 character*132 textpart(16) 29! 30 integer nelcon(2,*),nmat,istep,nstate_,ncocon(2,*),ipoinpc(0:*), 31 & n,key,istat,nstate,irstrt(*),iline,ipol,inl,ipoinp(2,*), 32 & inp(3,*),i,ier 33! 34 if((istep.gt.0).and.(irstrt(1).ge.0)) then 35 write(*,*) '*ERROR reading *DEPVAR: *DEPVAR should be placed' 36 write(*,*) ' before all step definitions' 37 ier=1 38 return 39 endif 40! 41 if(nmat.eq.0) then 42 write(*,*) '*ERROR reading *DEPVAR: *DEPVAR should be preceded' 43 write(*,*) ' by a *MATERIAL card' 44 ier=1 45 return 46 endif 47! 48 do i=2,n 49 write(*,*) 50 & '*WARNING reading *DEPVAR: parameter not recognized:' 51 write(*,*) ' ', 52 & textpart(i)(1:index(textpart(i),' ')-1) 53 call inputwarning(inpc,ipoinpc,iline, 54 &"*DEPVAR%") 55 enddo 56! 57 call getnewline(inpc,textpart,istat,n,key,iline,ipol,inl, 58 & ipoinp,inp,ipoinpc) 59 if((istat.lt.0).or.(key.eq.1)) then 60 write(*,*) '*ERROR reading *DEPVAR: incomplete definition' 61 ier=1 62 return 63 endif 64 read(textpart(1)(1:10),'(i10)',iostat=istat) nstate 65 if(istat.gt.0) then 66 call inputerror(inpc,ipoinpc,iline, 67 & "*DEPVAR%",ier) 68 return 69 endif 70 nstate_=max(nstate_,nstate) 71! 72 call getnewline(inpc,textpart,istat,n,key,iline,ipol,inl, 73 & ipoinp,inp,ipoinpc) 74! 75 return 76 end 77 78