Screamer Project  V3.3.1
Screamer Structure
 All Files Functions Variables
cylflprm.f
Go to the documentation of this file.
1  subroutine cylfoilparm (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
11 c Include the common block for plotting so that we can set some
12 c initial plotting values.
13 c
14  include 'zdemmax.h'
15  include 'zdemout.h'
16 c
17 c Sets up the parameters needed for the foil implosion model and
18 c returns them in parms(i).
19 c nparms is the number of parameters in parms.
20 c
21 c parms is sent with the basic parameters needed to rearrange and fill
22 c the actual parms array.
23 c
24  real temp(4)
25 c
26 c Internal parameter
27 c
28  real mu
29  parameter(mu = 2.0e-7)
30 c
31 c Fill temp with parms, then rearrange parms and fill it in.
32 c
33  do i = 1, nparms
34  temp(i) = parms(i)
35  end do
36 c ***********************************************************************
37 c In parms we want:
38 c 1: initrad (does not change)
39 c = initial foil radius
40 c 2: minrad (does not change)
41 c = minimum foil radius
42 c 3: mass (does not change)
43 c = foil mass
44 c 4: aconst (does not change)
45 c = -(mu * length) / (2 * mass)
46 c 5: lconst (does not change)
47 c = mu * length
48 c 6: lminrad (does not change)
49 c = lconst * ln(initrad/minrad)
50 c 7: lt3 (initially = 0)
51 c = inductance from last half time step
52 c 8: radt3 (initially = initrad)
53 c = radius from last half time step
54 c 9: velt3 (initially = 0)
55 c = velocity from last half time step
56 c 10: testimpl (initially = 0, which is imploding, set to 1 when radius
57 c shrinks to minrad)
58 c = value to test to see if foil is still imploding or has stagnated at
59 c the minimum radius
60 c
61 c In temp:
62 c 1: initrad
63 c 2: length
64 c 3: mass
65 c 4: minrad
66 c ***********************************************************************
67 c
68  nparms = 12
69  parms(1) = temp(1)
70  parms(2) = temp(4)
71  parms(3) = temp(3)
72  parms(4) = - (mu * temp(2)) / (2.0 * temp(3))
73  parms(5) = mu * temp(2)
74  parms(6) = (mu * temp(2)) * log(temp(1)/temp(4))
75  parms(7) = 0.0
76  parms(8) = temp(1)
77  parms(9) = 0.0
78  parms(10) = 0.0
79  parms(11) = temp(2) !foil length in m
80  parms(12) = temp(3)*1.0e3 !mass in grams
81 c
82 c Set initial plotting values for foil radius, velocity,
83 c acceleration, kinetic energy.
84 c
85  foilrad = parms(1)
86  foilvel = 0.0
87  foilacc = 0.0
88  foilke = 0.0
89 c
90  return
91  end
subroutine cylfoilparm(parms, nparms)
Definition: cylflprm.f:1