28 logical sectionprint_flag
30 character*1 total,nodesys,inpc(*)
32 character*80 amname(*),timepointsname
33 character*81 set(*),prset(*),noset
34 character*132 textpart(16),name
36 integer istartset(*),iendset(*),ialset(*),ii,i,nam,itpamp,
37 & jout(2),joutl,ithermal,nset,nset_,nalset,nprint,nprint_,istep,
38 & istat,n,key,ipos,iline,ipol,inl,ipoinp(2,*),inp(3,*),idrct,
42 write(*,*)
'*ERROR reading *SECTION PRINT: *SECTION PRINT' 43 write(*,*)
' should only be used within a *STEP' 44 write(*,*)
' definition' 53 if(.not.sectionprint_flag)
then 56 if((prlab(i)(1:4).eq.
'DRAG').or.(prlab(i)(1:4).eq.
'FLUX')
57 & .or.(prlab(i)(1:3).eq.
'SOF').or.(prlab(i)(1:3).eq.
'SOM')
58 & .or.(prlab(i)(1:6).eq.
'SOAREA'))
74 if(textpart(ii)(1:8).eq.
'SURFACE=')
then 75 noset(1:80)=textpart(ii)(9:88)
79 if(set(i).eq.noset)
exit 83 &
'*WARNING reading *SECTION PRINT: element surface ',
84 & noset(1:ipos-1),
' does not exist' 85 call getnewline(inpc,textpart,istat,n,key,iline,ipol,inl,
89 elseif(textpart(ii)(1:11).eq.
'FREQUENCYF=')
then 90 read(textpart(ii)(12:21),
'(i10)',iostat=istat) joutl
91 if(istat.gt.0)
call inputerror(inpc,ipoinpc,iline,
95 call getnewline(inpc,textpart,istat,n,key,iline,ipol,
96 & inl,ipoinp,inp,ipoinpc)
97 if((key.eq.1).or.(istat.lt.0))
return 104 elseif(textpart(ii)(1:11).eq.
'TIMEPOINTS=')
then 105 timepointsname=textpart(ii)(12:91)
107 if(amname(i).eq.timepointsname)
then 113 ipos=index(timepointsname,
' ')
115 &
'*ERROR reading *SECTION PRINT: time points definition ' 116 & ,timepointsname(1:ipos-1),
' is unknown or empty' 121 &
'*ERROR reading *SECTION PRINT: the DIRECT option' 122 write(*,*)
' collides with a TIME POINTS ' 123 write(*,*)
' specification' 128 elseif(textpart(ii)(1:5).eq.
'NAME=')
then 129 name(1:127)=textpart(ii)(6:132)
132 &
'*WARNING reading *SECTION PRINT: parameter not recognized:' 134 & textpart(ii)(1:index(textpart(ii),
' ')-1)
140 if(name(1:1).eq.
' ')
then 142 &
'*ERROR reading *SECTION PRINT: no NAME given' 151 if(noset(1:1).eq.
' ')
then 153 &
'*WARNING reading *SECTION PRINT: no set was defined' 154 call getnewline(inpc,textpart,istat,n,key,iline,ipol,inl,
155 & ipoinp,inp,ipoinpc)
160 call getnewline(inpc,textpart,istat,n,key,iline,ipol,inl,
161 & ipoinp,inp,ipoinpc)
164 if((textpart(ii)(1:4).ne.
'DRAG').and.
165 & (textpart(ii)(1:4).ne.
'FLUX').and.
166 & (textpart(ii)(1:3).ne.
'SOF').and.
167 & (textpart(ii)(1:3).ne.
'SOM').and.
168 & (textpart(ii)(1:6).ne.
'SOAREA'))
then 170 &
'*WARNING reading *SECTION PRINT: label not applicable' 171 write(*,*)
' or unknown; ' 176 if((cfd.eq.0).and.(textpart(ii)(1:4).eq.
'DRAG'))
then 178 &
'*WARNING reading *SECTION PRINT: DRAG only makes ' 179 write(*,*)
' sense for 3D fluid ' 180 write(*,*)
' calculations' 186 if(textpart(ii)(1:3).eq.
'SOM') textpart(ii)(1:3)=
'SOF' 187 if(textpart(ii)(1:6).eq.
'SOAREA') textpart(ii)(1:6)=
'SOF ' 189 if(prlab(i)(1:3).eq.
'SOF')
then 190 if(prset(i).eq.noset) cycle loop
195 if(nprint.gt.nprint_)
then 197 &
'*ERROR reading *SECTION PRINT: increase nprint_' 201 prlab(nprint)(1:4)=textpart(ii)(1:4)
202 prlab(nprint)(5:5)=total
203 prlab(nprint)(6:6)=nodesys
subroutine getnewline(inpc, textpart, istat, n, key, iline, ipol, inl, ipoinp, inp, ipoinpc)
Definition: getnewline.f:21