Screamer Project  V3.3.1
Screamer Structure
 All Files Functions Variables
magswprm.f
Go to the documentation of this file.
1  subroutine magparm (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 Sets up the parameters needed for the magnetic switch model and
12 c returns them in parms(i).
13 c nparms is the number of parameters in parms.
14 c
15 c parms is sent with the basic parameters needed to rearrange and fill
16 c the actual parms array.
17 c
18  real temp(9), pi, tpi, zmu0
19 c
20 c Basic EM parameters:
21 c
22  parameter(pi = 3.1415927)
23  parameter(tpi = 2.0*pi)
24  parameter(zmu0 = 4.0e-7*pi)
25 c
26 c Fill temp with parms, then rearrange parms and fill it in.
27 c
28  do i = 1, nparms
29  temp(i) = parms(i)
30  end do
31 c
32 c In temp:
33 c 1: pf
34 c 2: ri
35 c 3: ro
36 c 4: w
37 c 5: h1
38 c 6: hsat
39 c 7: hrev
40 c 8: bsat
41 c 9: lold
42 c
43 c In parms we want:
44 c 1: ziaold
45 c 2: ziamax
46 c 3: iold
47 c 4: lold
48 c 5: ri
49 c 6: ro
50 c 7: 1/ri
51 c 8: 1/ro
52 c 9: (ro-ri)
53 c 10: alog(ro/ri)
54 c 11: ziatest = ri * tpi* hsat
55 c 12: tpih1 = tpi* h1
56 c 13: tpihsat = tpi * hsat
57 c 14: tpihrev = tpi * hrev
58 c 15: rtpih1 = 1.0 / (tpi * h1)
59 c 16: rtpihsat = 1.0 / (tpi * hsat)
60 c 17: rtpihrev = 1.0 / (tpi * hrev)
61 c 18: zmue = 1.0 + (pf*(zmu-1.0))
62 c 19: zmuelog = zmue * alog(ro/ri)
63 c 20: zmuem1 = zmue - 1.0
64 c 21: zmue1m = 1.0 - zmue
65 c 22: wmu0 = w * zmu0 / tpi
66 c
67  nparms = 22
68  parms(1) = 1.0e-20
69  parms(2) = 1.0e-20
70  parms(3) = 0.0
71  parms(4) = temp(9)
72  parms(5) = temp(2)
73  parms(6) = temp(3)
74  parms(7) = 1.0 / temp(2)
75  parms(8) = 1.0 / temp(3)
76  parms(9) = temp(3) - temp(2)
77  parms(10) = alog(temp(3)/temp(2))
78  parms(11) = temp(2) * tpi * temp(6)
79  parms(12) = tpi * temp(5)
80  parms(13) = tpi * temp(6)
81  parms(14) = tpi * temp(7)
82  parms(15) = 1.0 / parms(12)
83  parms(16) = 1.0 / parms(13)
84  parms(17) = 1.0 / parms(14)
85  bh1 = temp(5) * zmu0
86  zmu = (temp(8) - bh1) / (zmu0*(temp(6)-temp(5)))
87  parms(18) = 1.0 + temp(1)*(zmu-1.0)
88  parms(19) = parms(18) * parms(10)
89  parms(20) = parms(18) - 1.0
90  parms(21) = 1.0 - parms(18)
91  parms(22) = temp(4) * zmu0 / tpi
92 c
93  return
94  end
subroutine magparm(parms, nparms)
Definition: magswprm.f:1