Screamer Project  V3.3.1
Screamer Structure
 All Files Functions Variables
nshelprm.f
Go to the documentation of this file.
1  subroutine nshellparm (parms, nparms)
2 c
3 c Define passed variables
4 c
5  real parms(*)
6  integer nparms
7 c
8 c June 6, 1997 Ken Struve
9 c 2014-02-06 RBS: Changed real*4 to real
10 c 2014-05-02 RBS: Changed integer*4 to integer
11 c
12 c This routine sets up arrays for the nshellmodel.
13 c Include the common block for plotting so that we can set some
14 c initial plotting values.
15 c
16  include 'zdemmax.h'
17  include 'zdemout.h'
18 c
19 c Sets up the parameters needed for the nshell implosion model and
20 c returns them in parms(i).
21 c nparms is the number of parameters in parms.
22 c
23 c parms is sent with the basic parameters needed to rearrange and fill
24 c the actual parms array.
25 c
26  real temp(10)
27 c
28 c Internal parameter
29 c
30  real mu
31  parameter(mu = 2.0e-7)
32 c
33 c Fill temp with parms, then rearrange parms and fill it in.
34 c
35  do i = 1, nparms
36  temp(i) = parms(i)
37  end do
38 c ***********************************************************************
39 c In parms we want we store a number of parameters
40 c
41 c In temp:
42 c 1: length
43 c 2: rmin
44 c 3: akgap
45 c 4: ttrap
46 c ***********************************************************************
47 c
48  nparms = 14 ! Number of parameters
49  parms(1) = shellradius(1) ! Initial radius
50  parms(2) = temp(2) ! Minimum shell radius
51  parms(3) = shellmass(1) ! Mass(t)
52  parms(4) = temp(1) ! Shell length
53  parms(5) = mu*temp(1) ! lconst
54  parms(6) = (mu*temp(1))*log(parms(1)/parms(2)) ! L at min radius
55  parms(7) = 0.0 ! L from last half time step
56  parms(8) = parms(1) ! radius from last half time step
57  parms(9) = 0.0 ! velocity from last half time step
58  parms(10) = 0.0 ! logical parameter for final radius
59  parms(11) = 0.0 ! energy into the load
60  parms(12) = 0.0 ! peak current
61  parms(13) = temp(3) + parms(1) ! wall radius of return current
62  parms(14) = parms(5)*log(parms(13)/parms(1)) ! Initial inductance
63  parms(15) = temp(4) ! Time of magnetic trapping of currents
64 c
65  trapped = .false.
66 c
67  do i=1,max_shells
68  shell(i)=i
69  shellcurr(i)=0.0
70  end do
71  shellcurr(max_shells+1)=0.0
72 c
73 c Set initial plotting values for foil radius, velocity,
74 c acceleration, kinetic energy.
75 c
76  shellrad = parms(1)
77  shellvel = 0.0
78  shellacc = 0.0
79  shellke = 0.0
80  shellm = parms(3)
81 c
82  return
83  end
subroutine nshellparm(parms, nparms)
Definition: nshelprm.f:1