3 & (
time, dt, rdt, ilt2, vlt2,
9 character(len=80)::buffer
79 real implode, end_implode
80 character*20 nameforit
82 parameter(debug = .false.)
83 parameter(implode = 0.0, end_implode = 1.0)
84 parameter(deltar = 50.0e-6)
88 real newsvelocity(max_shells)
89 real lequiv, newlequiv
149 if (abs(ilt2) .gt. peakcur)
then
152 eload = eload + ilt2*vlt2*dt
155 if (testimpl .eq. implode)
then
161 if (
time.gt.ttrap)
then
163 if (.not.trapped)
then
165 rtrap(i)=shellradius(i)
166 itrap(i)=shellcurr(i)
177 if (((abs(shellradius(i)-shellradius(j)).lt.deltar).or.
178 & (shellradius(i).le.shellradius(j))).and.
179 1 (shell(j).eq.j))
then
181 mass=shellmass(i)+shellmass(j)
182 svelocity(i)=svelocity(i)*shellmass(i)/mass
185 shellradius(j)=shellradius(i)
197 shellind(1)=lconst*log(wallrad/shellradius(1))
198 newlequiv=newlequiv+1.0/shellind(1)
200 if (shell(i).eq.i)
then
201 shellind(i)=lconst*log(wallrad/shellradius(i))
202 newlequiv=newlequiv+factor/shellind(i)
205 newlequiv=1.0/newlequiv
216 if (shell(i).eq.i)
then
217 shellcurr(i)=itrap(i)*log(rtrap(i-1)/rtrap(i))/
218 1 log(shellradius(i-1)/shellradius(i))
223 if (shell(i).eq.i)
then
224 shellcurr(i)=ilt2*newlequiv/shellind(i)
235 if (shell(i).eq.i)
then
236 acceleration(i)=lconst*(shellcurr(i+1)**2-shellcurr(i)**2)/
237 1 (2.0*shellmass(i)*shellradius(i))
239 acceleration(i)=acceleration(shell(i))
248 newsvelocity(i)=svelocity(i)+acceleration(i)*dt
249 newsvelocity(i)=newsvelocity(shell(i))
261 shellradius(i)=shellradius(i)+(newsvelocity(i)+svelocity(i))*dt/2.
262 ekinetic=ekinetic+0.5*shellmass(i)*newsvelocity(i)**2
265 shellradius(i)=shellradius(shell(i))
267 if (shellradius(numshells) .lt. minrad)
then
268 testimpl = end_implode
269 write(9,999)
time, ekinetic, eload, peakcur,
274 write(buffer,999)
time, ekinetic, eload, peakcur,
277 call writebuffer(buffer)
279 call writebuffer(buffer)
295 ldott2 = (newlequiv - lequiv) * rdt
304 shellrad = shellradius(1)
305 shellvel = newsvelocity(1)
306 shellacc = acceleration(1)
307 shellm = shellmass(1)
311 svelocity(i)=newsvelocity(i)
313 parms(3) = shellmass(1)
320 parms(14) = newlequiv
342 shellm = shellmass(1)
350 &
' ------------------------------------------------------------'/
351 &
' Foil radius has reached the minimum value.'/
352 &
' time: ', 1pe10.3/
353 &
' KE at implosion: ', 1pe10.3/
354 &
' load energy: ', 1pe10.3/
355 &
' peak current: ', 1pe10.3/
356 &
' outer shell radius: ', 1pe10.3)
360 &
' ------------------------------------------------------------'/
366 write(9,*)
'T = ',
time,
' L = ',newlequiv,
' KE = ',ekinetic,
367 &
' Trapped Current = ',trapped
368 nameforit=
'Shell Number'
369 write(9,997)nameforit,(shell(i),i=1,numshells)
370 nameforit=
'Shell Radius'
371 write(9,996)nameforit,(shellradius(i),i=1,numshells)
372 nameforit=
'Shell Velocity'
373 write(9,996)nameforit,(svelocity(i),i=1,numshells)
374 nameforit=
'Shell Acceleration'
375 write(9,996)nameforit,(acceleration(i),i=1,numshells)
376 nameforit=
'Shell Mass'
377 write(9,996)nameforit,(shellmass(i),i=1,numshells)
378 nameforit=
'Shell Current'
379 write(9,996)nameforit,(shellcurr(i),i=1,numshells)
382 997
format(a20,13x,10(i2,12x))
383 996
format(a20,5x,10e14.4)
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 c &exitting c a13 c c c c c c c c102 c &described as a function of time c c c &described as a function of time c c c &function of time c c shell c &min A K c &trapped field time
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 c &exitting c a13 c c c c c c c c102 c &described as a function of time c c c &described as a function of time c c c &function of time c c shell length