Screamer Project  V3.3.1
Screamer Structure
 All Files Functions Variables
yield.f
Go to the documentation of this file.
1  subroutine yield (Z,massm,rfm,Lzm,Kin,eta,T,Yw,Ym)
2 c
3 c-------Description--------------------------------------------------
4 c
5 c Source File : yield.f
6 c
7 c Author/Date : Ken Struve, 10/97
8 c
9 c Purpose :
10 c
11 c This routine is meant for post-processing for the K-line yield
12 c from Jupiter circuit models
13 c
14 c David Mosher, NRL PRS Scoping Team
15 c
16 c This note documents the fortran subroutine YIELD that calculates the
17 c K-line yield from a PRS using both the Mosher-Krisnan-Qi 2-level model
18 c and the Whitney model as modified by John Giuliani. It is designed
19 c to post process radiation yields from the output of circuit models
20 c coupled to a slug model for the PRS. Input parameters for the
21 c subroutine are the real, single-precision numbers
22 c
23 c Z = atomic number
24 c massm = load mass in kg (line mass x length)
25 c rfm = final stagnation radius in m
26 c Lzm = load length in m
27 c Kin = imploded kinetic energy in J
28 c
29 c Output parameters are
30 c
31 c eta = Whitney's eta parameter
32 c T = temperature in eV from energy balance assuming 40% of the
33 c kinetic energy is used in processes other than internal energy
34 c and K-line radiation
35 c Yw = yield in J from the Whitney-Guiliani model
36 c Ym = yield in J from the 2-level model
37 c
38 c Called by : subroutine cylfoil_model
39 c
40 c Calls : none
41 c
42 c
43 c Implemented into SCREAMER 1/3/94 by Ken Struve (MRC) at SNL
44 c
45  implicit none
46 c
47 c Define passed variables
48 c
49  real z, massm,rfm, lzm, kin, eta, t, yw, ym
50 c
51 c Define internal variables
52 c
53  integer it
54  real m, rf, kt, mass, lz , cei
55  real ctau,ei,emin,k,s,t0,t1,v,y,yeff,yineff,yt,a0,az,dif,etal,
56  & hv,tau
57  double precision cy,ni
58 c
59 c-------Subroutine Body-------------------------------------------------
60 c
61  if (kin.lt.1.) then
62  return
63  endif
64 c
65 c Convert inputs to cgs
66 c
67  mass=massm*1000.0
68  rf=rfm*100.0
69  lz=lzm*100.0
70 c
71  hv=10.2*z**2 !eV K-line energy
72  m=mass/lz !g/cm line mass
73  ni=3.8e23*m/z**1.1 !ions/cm line density
74  kt=kin/lz !J/cm KE/length
75 
76 
77  k=kt*0.5 !J/cm avail. 2-level
78 c
79 c *** Start 2-level algorithm ***
80 c
81  cei=4.7e-19*z**0.82*ni !J/cm-eV
82  cy=2.7e-31*z*ni**2/rf !J-eV/cm
83  ctau=5.5e-12*ni/(rf**1.67*z**3.83) !eV^1/2
84  t0=k/cei !eV temperature for Y=0
85  t1=0. !eV lower limit
86  t=0.75*t0 !ev 1st iteration
87 c
88 c *** Iterate temperature ***
89 c
90  do 6 it=1,25
91  ei=cei*t !J/cm internal energy
92  dif=k-ei !J/cm
93  yt=cy*exp(-hv/t)/t !J/cm thin yield
94  tau=ctau/sqrt(t) !optical depth
95  v=9.47e-7*tau**1.5
96  s=1./(1.+v**0.84)**1.19 !escape fraction
97  y=s*yt !J/cm radiated
98  if(abs(y-dif).le..01*y) go to 3 !energy balance OK
99  if(y.gt.dif) go to 4 !too much radiation
100  if(y.lt.dif) go to 5 !too little radiation
101  4 t0=t
102  t=0.5*(t+t1)
103  go to 6
104  5 t1=t
105  t=0.5*(t+t0)
106  6 continue
107  3 ym=lz*y !J radiated 2-level
108 c
109 c *** Start Whitney-Giuliani algorithm ***
110 c
111  emin=1.49*z**3.51 !eV/ion
112  az=z**(-3.55)*exp(-20.6/z**0.9)
113  eta=kt/(1.6e-19*emin*ni)
114  a0=4.5e11/eta**0.667 !J-cm/mg^2
115  etal=1.
116  if(eta.lt.3.) etal=0.2*(2.*eta-1.)
117  if(eta.le.0.5) etal=0.
118  yeff=etal*0.3*kt !J/cm efficient
119  yineff=etal*a0*az*(0.05/rf)*(1.e3*m)**2 !J/cm inefficient
120  yw=lz*min(yeff,yineff) !J radiated Whitney
121 c
122 c
123  return
124  end
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 it(branch ', i2, ')*****') c 17 format(' '
subroutine yield(Z, massm, rfm, Lzm, Kin, eta, T, Yw, Ym)
Definition: yield.f:1