29 logical flow_flag,surface
33 character*20 sideload(*),label
34 character*80 amname(*),amplitude
35 character*81 set(*),elset
36 character*132 textpart(16)
38 integer istartset(*),iendset(*),ialset(*),nelemload(2,*),mi(*),
39 & ielmat(mi(3),*),nset,nload,nload_,ntmat_,istep,istat,n,i,
41 & iamload(2,*),nam,iamptemp,ipos,ne,node,iampfilm,iline,ipol,inl,
42 & ipoinp(2,*),inp(3,*),nam_,namtot,namtot_,namta(3,*),idelay1,
43 & idelay2,ipoinpc(0:*)
45 real*8 xload(2,*),xmagfilm,xmagtemp,amta(2,*)
54 write(*,*)
'*ERROR in films: *FILM should only be used' 55 write(*,*)
' within a STEP' 60 if((textpart(i)(1:6).eq.
'OP=NEW').and.(.not.flow_flag))
then 62 if(sideload(j)(1:1).eq.
'F')
then 66 elseif(textpart(i)(1:10).eq.
'AMPLITUDE=')
then 67 read(textpart(i)(11:90),
'(a80)') amplitude
69 if(amname(j).eq.amplitude)
then 75 write(*,*)
'*ERROR in films: nonexistent amplitude' 82 elseif(textpart(i)(1:10).eq.
'TIMEDELAY=')
THEN 84 write(*,*)
'*ERROR in films: the parameter TIME DELAY' 85 write(*,*)
' is used twice in the same keyword' 95 write(*,*)
'*ERROR in films: increase nam_' 100 if(iamptemp.eq.0)
then 101 write(*,*)
'*ERROR in films: time delay must be' 102 write(*,*)
' preceded by the amplitude parameter' 105 namta(3,nam)=sign(iamptemp,namta(3,iamptemp))
110 namtot=namta(2,nam-1)
113 if(namtot.gt.namtot_)
then 114 write(*,*)
'*ERROR films: increase namtot_' 119 read(textpart(i)(11:30),
'(f20.0)',iostat=istat)
121 if(istat.gt.0)
call inputerror(inpc,ipoinpc,iline,
123 elseif(textpart(i)(1:14).eq.
'FILMAMPLITUDE=')
then 124 read(textpart(i)(15:94),
'(a80)') amplitude
126 if(amname(j).eq.amplitude)
then 132 write(*,*)
'*ERROR in films: nonexistent amplitude' 139 elseif(textpart(i)(1:14).eq.
'FILMTIMEDELAY=')
THEN 140 if(idelay2.ne.0)
then 141 write(*,*)
'*ERROR in films: the parameter FILM TIME' 142 write(*,*)
' DELAY is used twice in the same' 143 write(*,*)
' keyword; ' 152 write(*,*)
'*ERROR in films: increase nam_' 157 if(iampfilm.eq.0)
then 158 write(*,*)
'*ERROR in films: film time delay must be' 159 write(*,*)
' preceded by the film amplitude' 160 write(*,*)
' parameter' 163 namta(3,nam)=sign(iampfilm,namta(3,iampfilm))
168 namtot=namta(2,nam-1)
171 if(namtot.gt.namtot_)
then 172 write(*,*)
'*ERROR films: increase namtot_' 177 read(textpart(i)(15:34),
'(f20.0)',iostat=istat)
179 if(istat.gt.0)
call inputerror(inpc,ipoinpc,iline,
183 &
'*WARNING in films: parameter not recognized:' 185 & textpart(i)(1:index(textpart(i),
' ')-1)
192 call getnewline(inpc,textpart,istat,n,key,iline,ipol,inl,
193 & ipoinp,inp,ipoinpc)
194 if((istat.lt.0).or.(key.eq.1))
return 196 read(textpart(2)(1:20),
'(a20)',iostat=istat) label
200 if(label(2:4).eq.
'NEG') label(2:4)=
'1 ' 201 if(label(2:4).eq.
'POS') label(2:4)=
'2 ' 202 if(label(2:2).eq.
'N') label(2:2)=
'5' 203 if(label(2:2).eq.
'P') label(2:2)=
'6' 208 if((label(3:4).ne.
'NU').and.(label(3:4).ne.
'FC'))
then 209 read(textpart(3)(1:20),
'(f20.0)',iostat=istat) xmagtemp
210 if(istat.gt.0)
call inputerror(inpc,ipoinpc,iline,
212 read(textpart(4)(1:20),
'(f20.0)',iostat=istat) xmagfilm
213 if(istat.gt.0)
call inputerror(inpc,ipoinpc,iline,
220 elseif(label(3:4).eq.
'FC')
then 221 read(textpart(3)(1:10),
'(i10)',iostat=istat) node
222 if(istat.gt.0)
call inputerror(inpc,ipoinpc,iline,
225 read(textpart(4)(1:20),
'(f20.0)',iostat=istat) xmagfilm
226 if(istat.gt.0) xmagfilm=-1.d0
228 if(((label(1:2).ne.
'F1').and.(label(1:2).ne.
'F2').and.
229 & (label(1:2).ne.
'F0').and.
230 & (label(1:2).ne.
'F3').and.(label(1:2).ne.
'F4').and.
231 & (label(1:2).ne.
'F5').and.(label(1:2).ne.
'F6')).or.
232 & ((label(3:4).ne.
' ').and.(label(3:4).ne.
'NU').and.
233 & (label(3:4).ne.
'FC')))
then 238 read(textpart(1)(1:10),
'(i10)',iostat=istat) l
241 write(*,*)
'*ERROR in films: element ',l
242 write(*,*)
' is not defined' 246 if((lakon(l)(1:2).eq.
'CP').or.
247 & (lakon(l)(2:2).eq.
'A').or.
248 & (lakon(l)(7:7).eq.
'E').or.
249 & (lakon(l)(7:7).eq.
'S').or.
250 & (lakon(l)(7:7).eq.
'A'))
then 251 if(label(1:2).eq.
'F1')
then 253 elseif(label(1:2).eq.
'F2')
then 255 elseif(label(1:2).eq.
'F3')
then 257 elseif(label(1:2).eq.
'F4')
then 259 elseif(label(1:2).eq.
'F5')
then 261 elseif(label(1:2).eq.
'F6')
then 265 call loadaddt(l,label,xmagfilm,xmagtemp,nelemload,sideload,
266 & xload,nload,nload_,iamload,
267 & iamptemp,iampfilm,nam,node,iload)
269 read(textpart(1)(1:80),
'(a80)',iostat=istat) elset
271 ipos=index(elset,
' ')
274 if(set(i).eq.elset)
exit 283 if(set(i).eq.elset)
exit 287 write(*,*)
'*ERROR in films: element set ' 288 write(*,*)
' or facial surface ',elset
289 write(*,*)
' has not yet been defined. ' 296 l=ialset(istartset(i))
298 write(label(2:2),
'(i1)') l-10*(l/10)
301 if((lakon(l)(1:2).eq.
'CP').or.
302 & (lakon(l)(2:2).eq.
'A').or.
303 & (lakon(l)(7:7).eq.
'E').or.
304 & (lakon(l)(7:7).eq.
'S').or.
305 & (lakon(l)(7:7).eq.
'A'))
then 306 if(label(1:2).eq.
'F1')
then 308 elseif(label(1:2).eq.
'F2')
then 310 elseif(label(1:2).eq.
'F3')
then 312 elseif(label(1:2).eq.
'F4')
then 314 elseif(label(1:2).eq.
'F5')
then 316 elseif(label(1:2).eq.
'F6')
then 321 do j=istartset(i),iendset(i)
322 if(ialset(j).gt.0)
then 325 write(label(2:2),
'(i1)') l-10*(l/10)
328 call loadaddt(l,label,xmagfilm,xmagtemp,nelemload,
329 & sideload,xload,nload,nload_,iamload,
330 & iamptemp,iampfilm,nam,node,iload)
335 if(l.ge.ialset(j-1))
exit 336 call loadaddt(l,label,xmagfilm,xmagtemp,nelemload,
337 & sideload,xload,nload,nload_,iamload,
338 & iamptemp,iampfilm,nam,node,iload)
subroutine loadaddt(nelement, label, valfilm, valtemp, nelemload, sideload, xload, nload, nload_, iamload, iamptemp, iampfilm, nam, node, iload)
Definition: loadaddt.f:22
subroutine getnewline(inpc, textpart, istat, n, key, iline, ipol, inl, ipoinp, inp, ipoinpc)
Definition: getnewline.f:21