42 character*20 labmpc(*),solver
43 character*81 set(*),tieset(3,*)
44 character*132 textpart(16)
46 integer nmethod,iperturb,isolver,istep,istat,n,key,i,idrct,
47 & iline,ipol,inl,ipoinp(2,*),inp(3,*),ithermal,ics(*),iexpl,
48 & istartset(*),iendset(*),ialset(*),ipompc(*),nodempc(3,*),
49 & nmpc,nmpc_,ikmpc(*),ilmpc(*),mpcfree,nset,mcs,ipoinpc(0:*),
50 & cfd,iaxial,nelcon(2,*),nmat
52 real*8 tinc,tper,tmin,tmax,cs(17,*),coefmpc(*),ttime,tincf
59 if((iperturb.eq.1).and.(istep.ge.1))
then 60 write(*,*)
'*ERROR reading *STATIC: perturbation analysis is' 61 write(*,*)
' not provided in a *STATIC step. Perform' 62 write(*,*)
' a genuine nonlinear geometric calculation' 63 write(*,*)
' instead (parameter NLGEOM)' 68 write(*,*)
'*ERROR reading *STATIC: *STATIC can only be used' 69 write(*,*)
' within a STEP' 81 if(ithermal.gt.1)
then 90 elseif(isolver.eq.2)
then 91 solver(1:16)=
'ITERATIVESCALING' 92 elseif(isolver.eq.3)
then 93 solver(1:17)=
'ITERATIVECHOLESKY' 94 elseif(isolver.eq.4)
then 96 elseif(isolver.eq.5)
then 98 elseif(isolver.eq.7)
then 103 if(textpart(i)(1:7).eq.
'SOLVER=')
then 104 read(textpart(i)(8:27),
'(a20)') solver
105 elseif((textpart(i)(1:6).eq.
'DIRECT').and.
106 & (textpart(i)(1:9).ne.
'DIRECT=NO'))
then 108 elseif(textpart(i)(1:9).eq.
'TIMERESET')
then 110 elseif(textpart(i)(1:17).eq.
'TOTALTIMEATSTART=')
then 111 read(textpart(i)(18:37),
'(f20.0)',iostat=istat) ttime
114 &
'*WARNING reading *STATIC: parameter not recognized:' 116 & textpart(i)(1:index(textpart(i),
' ')-1)
122 if(solver(1:7).eq.
'SPOOLES')
then 124 elseif(solver(1:16).eq.
'ITERATIVESCALING')
then 126 elseif(solver(1:17).eq.
'ITERATIVECHOLESKY')
then 128 elseif(solver(1:3).eq.
'SGI')
then 130 elseif(solver(1:5).eq.
'TAUCS')
then 132 elseif(solver(1:7).eq.
'PARDISO')
then 135 write(*,*)
'*WARNING reading *STATIC: unknown solver;' 136 write(*,*)
' the default solver is used' 143 if((mcs.eq.0).or.(iaxial.eq.180))
then 144 call getnewline(inpc,textpart,istat,n,key,iline,ipol,inl,
145 & ipoinp,inp,ipoinpc)
157 & iendset,ialset,ipompc,nodempc,coefmpc,nmpc,nmpc_,ikmpc,
158 & ilmpc,mpcfree,mcs,set,nset,labmpc,istep,istat,n,iline,
159 & ipol,inl,ipoinp,inp,nmethod,key,ipoinpc)
167 if((istat.lt.0).or.(key.eq.1))
then 168 if((iperturb.ge.2).or.(cfd.eq.1))
then 169 write(*,*)
'*WARNING reading *STATIC: a nonlinear analysis i 171 write(*,*)
' but no time increment nor step is speci 173 write(*,*)
' the defaults (1,1) are used' 184 if(timereset)ttime=ttime-tper
188 read(textpart(1)(1:20),
'(f20.0)',iostat=istat) tinc
189 if(istat.gt.0)
call inputerror(inpc,ipoinpc,iline,
191 read(textpart(2)(1:20),
'(f20.0)',iostat=istat) tper
192 if(istat.gt.0)
call inputerror(inpc,ipoinpc,iline,
194 read(textpart(3)(1:20),
'(f20.0)',iostat=istat) tmin
195 if(istat.gt.0)
call inputerror(inpc,ipoinpc,iline,
197 read(textpart(4)(1:20),
'(f20.0)',iostat=istat) tmax
198 if(istat.gt.0)
call inputerror(inpc,ipoinpc,iline,
200 read(textpart(5)(1:20),
'(f20.0)',iostat=istat) tincf
201 if(istat.gt.0)
call inputerror(inpc,ipoinpc,iline,
204 if(tper.lt.0.d0)
then 205 write(*,*)
'*ERROR reading *STATIC: step size is negative' 207 elseif(tper.le.0.d0)
then 210 if(tinc.lt.0.d0)
then 211 write(*,*)
'*ERROR reading *STATIC: initial increment size is n 214 elseif(tinc.le.0.d0)
then 217 if(tinc.gt.tper)
then 218 write(*,*)
'*ERROR reading *STATIC: initial increment size exce 224 if(dabs(tmin).lt.1.d-6*tper)
then 225 tmin=
min(tinc,1.d-6*tper)
227 if(dabs(tmax).lt.1.d-10)
then 230 if(tinc.gt.dabs(tmax))
then 231 write(*,*)
'*WARNING reading *STATIC:' 232 write(*,*)
' the initial increment ',tinc
233 write(*,*)
' exceeds the maximum increment ',
235 write(*,*)
' the initial increment is reduced' 236 write(*,*)
' to the maximum value' 241 if(timereset)ttime=ttime-tper
243 call getnewline(inpc,textpart,istat,n,key,iline,ipol,inl,
244 & ipoinp,inp,ipoinpc)
#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 selectcyclicsymmetrymodess(inpc, textpart, cs, ics, tieset, istartset, iendset, ialset, ipompc, nodempc, coefmpc, nmpc, nmpc_, ikmpc, ilmpc, mpcfree, mcs, set, nset, labmpc, istep, istat, n, iline, ipol, inl, ipoinp, inp, nmethod, key, ipoinpc)
Definition: selectcyclicsymmetrymodess.f:24