47 character(len=80)::buffer
50 initln =
'Initial SCREAMER Circuit Status'
51 cyclln =
'SCREAMER Circuit Status for t > 0'
107 data icycle, esour / 0, 0.0 /
108 data ecap, eind, econ, eres / 0.0, 0.0, 0.0, 0.0 /
109 data elossind, elosscap / 0.0, 0.0 /
122 if (iset .eq. one_cycle)
then
134 ncycle = nsteps / nprint
142 xtfilesz = float(itfilesz) / 1.0e6
205 if (ibt .ne. outputreq)
then
206 ncirblk = ncirblk + 1
210 iinit = iin(4,ibk,ib)
211 ioutreq = iin(5,ibk,ib)
212 iflgs = 10000000*ib + ncirblk*100000 + 1000*ibt
213 & + 100*iinit + 10*ivn + ibr
217 if (iinit .gt. 0)
then
218 ic_counter = ic_counter + 1
224 if (ibt .eq. transline)
then
225 itrl_counter = itrl_counter + 1
227 & transline, iinit, ic_counter)
231 else if (ibt .eq. outputreq)
then
236 else if (ibt .eq. rcground)
then
239 else if (ibt .eq. rlseries)
then
242 else if (ibt .eq. pisection)
then
245 else if (ibt .eq. cylfoilblock)
then
248 else if (ibt .eq. sphfoilblock)
then
251 else if (ibt .eq. gaspuffblock)
then
254 else if (ibt .eq. voltsource)
then
255 ivs_counter = ivs_counter + 1
259 else if (ibt .eq. vendsource)
then
260 ivs_counter = ivs_counter + 1
264 else if (ibt .eq. currsource)
then
265 ics_counter = ics_counter + 1
269 else if (ibt .eq. cendsource)
then
270 ics_counter = ics_counter + 1
271 itypcs = itypcend(ics_counter)
273 & iinit, ic_counter, itypcs)
275 else if (ibt .eq. csclsource)
then
276 ics_counter = ics_counter + 1
277 itypcs = itypcend(ics_counter)
279 & iinit, ic_counter, itypcs)
281 else if (ibt .eq. mitline)
then
282 imitl_counter = imitl_counter + 1
284 & mitline, iinit, ic_counter)
286 else if (ibt .eq. pmitline)
then
287 imitl_counter = imitl_counter + 1
289 & pmitline, iinit, ic_counter)
291 else if (ibt .eq. adder)
then
294 else if (ibt .eq. measurezflow)
then
303 if (ibt .ne. outputreq)
then
304 nvar_node = nr(ib) + 1
326 indexv(1,icv) = nvar_node
336 if (nr(ib) .gt. max_nodes)
then
337 write(buffer,203) ib, nr(ib), max_nodes
338 call writebuffer(buffer)
339 write(9,203) ib, nr(ib), max_nodes
344 203
format(
' Maximum number of nodes exceeded. Reset',
345 &
' resolution time.'/
' Or, recompile with larger',
346 &
' MAX_NODES parameter in the file zdemmax.h.'/
347 &
' Branch = ',
i3,5x,
'Number of nodes = ',i4,5x,
355 if (echoset .eq. yes_echo)
then
364 esour = ecapsource + eindsource
369 call
cycle_print(i2, tim, esour, eindsource, ecapsource, econ,
370 & eres, elossind, elosscap, error)
407 time_flag = half_step
408 if (ibrnsav .ne. ibrn)
then
414 if (iblksav .ne. iblk)
then
416 ipin = ipinsav + iblk
418 ipinsav = ipinsav + 1
419 call
get_variable(ivartyp, ibrn, node, lnode, iblktyp, ht,
420 & rht, 0.0, valsave, valsave2, value1,
421 & time_flag, iblk, ipin)
423 saveout1(i) = valsave
425 time_flag = whole_step
428 call
get_variable(ivartyp, ibrn, node, lnode, iblktyp, ht,
429 & rht, 0.0, valsave, valsave2, value2,
430 & time_flag, iblk, ipin)
456 nadd_array(i) = nadd_array(i-1) + nr(i-1)
subroutine init_problem(status)
c *****************************************************************************c Common blocks for SCREAMER output and tabling c numsfc character tendout
c *****************************************************************************c Common blocks for SCREAMER output and tabling c & numout
subroutine setup_rlseries(ib, ibk, na, iflgs, ic_type, ic_counter)
c *****************************************************************************c Various format statements for read_screamer_data output c To get these into made format to be characters c for each line corrected spelling errors in format added statement for Zflow Plasma Loss Model added format for CSV output type fixed more lines longer than characters added format for Measure Zflow Block and forward c reverse current directions in Zflow plasma loss c and Zflow POS models added format for SFC output type c removed from all code calls c c c c c a80 c i10 c No grids on plots c Do not write files containing the plotted points c Execute only one cycle c Do not echo the setup parameters and indicies c i3
c *****************************************************************************c Common blocks for SCREAMER output and tabling c numsfc character & saveout3
c *****************************************************************************c Common blocks for SCREAMER output and tabling c numsfc character val2
subroutine open_outfile(iunit, status, ierr)
c *****************************************************************************c Common blocks for SCREAMER output and tabling c numsfc character & tagout
c *****************************************************************************c Common blocks for SCREAMER output and tabling c numsfc character & ixlstnodout
c *****************************************************************************c Common blocks for SCREAMER output and tabling c numsfc character saveout2
c *****************************************************************************c Common blocks for SCREAMER output and tabling c numsfc character & ixblkout
integer function ifnodreq(otype, lastnode, numnodes)
subroutine setup_pisection(ib, ibk, na, iflgs, ic_type, ic_counter)
subroutine setup_rcground(ib, ibk, na, iflgs, ic_type, ic_counter)
c *****************************************************************************c Common blocks for SCREAMER output and tabling c numsfc character & val1
subroutine setup_adder(ib, ibk, na, iflgs)
subroutine setup_mzflow(ib, ibk, na, iflgs)
subroutine cycle_print(icycle, time, esour, eind, ecap, econ, eres, elossind, elosscap, error)
c *****************************************************************************c Common blocks for SCREAMER output and tabling c numsfc character & tbegout
c *****************************************************************************c Common blocks for SCREAMER output and tabling c numsfc character ixnodout
c *****************************************************************************c Common blocks for SCREAMER output and tabling c numsfc character saveout4
c *****************************************************************************c Various format statements for read_screamer_data output c To get these into made format to be characters c for each line c
c *****************************************************************************c Common blocks for SCREAMER output and tabling c numsfc character itypout
subroutine setup_trline(ib, ibk, icounter, na, iflgs, switch, ic_type, ic_counter)
subroutine setup_vendsource(ib, ibk, ivs_counter, na, iflgs, ic_type, ic_counter)
subroutine setup_cendsource(ib, ibk, ics_counter, na, iflgs, ic_type, ic_counter, itypcs)
c *****************************************************************************c Common blocks for SCREAMER output and tabling c numsfc character ixbrnout
subroutine setup_currsource(ib, ibk, ics_counter, na, iflgs, ic_type, ic_counter)
c *****************************************************************************c Common blocks for SCREAMER output and tabling c numsfc character & iblkout
subroutine setup_voltsource(ib, ibk, ivs_counter, na, iflgs, ic_type, ic_counter)
subroutine get_variable(vtype, branch, node, lastnode, blktype, dt, rdt, time, savev, savev2, value, time_flag, block, ipinblk)