Screamer Project  V3.3.1
Screamer Structure
 All Files Functions Variables
gaspfprm.f
Go to the documentation of this file.
1  subroutine gaspuffparm (parms, nparms)
2 c
3 c Define passed variables
4 c
5  real parms(*)
6  integer nparms
7 c
8 c December 10, 1992; hnw
9 c 2014-02-06 RBS: Changed real*4 to real
10 c 2014-05-02 RBS: Changed interger*4 to integer
11 c
12 c Include the common block for plotting so that we can set some
13 c initial plotting values.
14 c
15  include 'zdemmax.h'
16  include 'zdemout.h'
17 c
18 c Sets up the parameters needed for the gaspuff implosion model and
19 c returns them in parms(i).
20 c nparms is the number of parameters in parms.
21 c
22 c parms is sent with the basic parameters needed to rearrange and fill
23 c the actual parms array.
24 c
25  real temp(6)
26 c
27 c Internal parameters
28 c
29  real mu
30  parameter(mu = 2.0e-7)
31  real pi
32  parameter(pi = 3.14159)
33 c
34 c Fill temp with parms, then rearrange parms and fill it in.
35 c
36  do i = 1, nparms
37  temp(i) = parms(i)
38  end do
39 c
40 c In parms we want:
41 c 1: initrad (does not change)
42 c = initial gas puff radius
43 c 2: innerrad (does not change)
44 c = gas puff radius at which we turn off drag term
45 c 3: minrad (does not change)
46 c = minimum gas puff radius - radius of stagnation
47 c 4: massri (does not change)
48 c = gas puff mass for drag term when radius=innerrad
49 c 5: masst3
50 c = gas puff mass for drag term from last half time step
51 c 6: density (does not change)
52 c = gas puff density
53 c 7: aconst (does not change)
54 c = -(mu * length) / 2
55 c 8: dconst (does not change)
56 c = 2 * pi * length * density
57 c 9: lconst (does not change)
58 c = mu * length
59 c 10: mconst (does not change)
60 c = pi * length * density
61 c 11: lminrad (does not change)
62 c = lconst * ln(initrad/minrad)
63 c 12: lt3 (initially = 0)
64 c = inductance from last half time step
65 c 13: radt3 (initially = initrad)
66 c = radius from last half time step
67 c 14: velt3 (initially = 0)
68 c = velocity from last half time step
69 c 15: testimpl (initially = 0, which is imploding, set to 1 when radius
70 c shrinks to minrad)
71 c = value to test to see if foil is still imploding or has stagnated at
72 c the minimum radius
73 c 16: initmass (does not change)
74 c = initial mass term
75 c
76 c In temp:
77 c 1: initrad
78 c 2: length
79 c 3: density
80 c 4: minrad
81 c 5. innerrad
82 c 6. initmass
83 c
84  nparms = 16
85  parms(1) = temp(1)
86  parms(2) = temp(5)
87  parms(3) = temp(4)
88  parms(4) = pi * temp(2) * temp(3)
89  & * (temp(1)*temp(1) - temp(5)*temp(5))
90  parms(5) = temp(6)
91  parms(6) = temp(3)
92  parms(7) = - (mu * temp(2) * 0.5)
93  parms(8) = 2.0 * pi * temp(2) * temp(3)
94  parms(9) = mu * temp(2)
95  parms(10) = pi * temp(2) * temp(3)
96  parms(11) = mu * temp(2) * log(temp(1)/temp(4))
97  parms(12) = 0.0 !lt3=initial inductance
98  parms(13) = temp(1) !radt3=initrad
99  parms(14) = 0.0 !initial velocity
100  parms(15) = 0.0 !set status as "imploding"
101  parms(16) = temp(6)
102 c
103 c Set initial plotting values for GAS PUFF radius, velocity,
104 c acceleration, kinetic energy.
105 c
106  gasrad = parms(1)
107  gasvel = 0.0
108  gasacc = 0.0
109  gaske = 0.0
110 c
111  return
112  end
subroutine gaspuffparm(parms, nparms)
Definition: gaspfprm.f:1