source: PSPA/parmelaPSPA/trunk/rtmfc.f @ 315

Last change on this file since 315 was 12, checked in by lemeur, 12 years ago

parmela pspa initial

File size: 3.5 KB
Line 
1      subroutine rtmfc(betac,fc)
2c     return the 14 fourier coefficients for the side-coupled cavity
3c     with beta=betac.  the coefficients were determined from superfish
4c     runs at 2380 mhz.
5c-----------------------------------------------------------------------
6      dimension fc(14),beta(10),fct(10,14),wb(10,14),a(10),b(10),c(10),
7     1  iop(2),tab(3)
8      data nte/10/
9      data iflagc/0/
10c-----------------------------------------------------------------------
11c     fourier coefficients for side-coupled cavities
12      data beta(1),(fct(1,i),i=1,14)
13     1 /  .55,  1.8162297,   .8202260,   .1140768,  -.0584496,
14     2   -.0336300,  -.0049842,   .0021335,   .0012629,   .0001983,
15     3   -.0000658,  -.0000385,  -.0000048,   .0000021,   .0000007/
16      data beta(2),(fct(2,i),i=1,14)
17     1 /  .60,  1.8124060,   .7848132,   .0516917,  -.0955583,
18     2   -.0379814,   .0010221,   .0055377,   .0015881,  -.0002348,
19     3   -.0002880,  -.0000617,   .0000150,   .0000116,   .0000019/
20      data beta(3),(fct(3,i),i=1,14)
21     1 /  .65,  1.8022308,   .7233542,  -.0174431,  -.1191904,
22     2   -.0328106,   .0065496,   .0058709,   .0007324,  -.0004280,
23     3   -.0001649,   .0000036,   .0000115,   .0000009,  -.0000006/
24      data beta(4),(fct(4,i),i=1,14)
25     1 /  .70,  1.7905805,   .6480495,  -.1110423,  -.1537068,
26     2   -.0203962,   .0213467,   .0089263,  -.0013231,  -.0017684,
27     3   -.0002145,   .0002390,   .0000967,  -.0000121,  -.0000180/
28      data beta(5),(fct(5,i),i=1,14)
29     1 /  .75,  1.7714580,   .5402790,  -.2114199,  -.1572789,
30     2    .0175976,   .0346638,   .0010967,  -.0071227,  -.0012653,
31     3    .0012362,   .0004182,  -.0001846,  -.0001021,   .0000184/
32      data beta(6),(fct(6,i),i=1,14)
33     1 /  .80,  1.7587262,   .4692263,  -.2725046,  -.1512699,
34     2    .0417247,   .0363340,  -.0061000,  -.0079966,   .0010337,
35     3    .0017934,  -.0001993,  -.0004341,   .0000382,   .0001169/
36      data beta(7),(fct(7,i),i=1,14)
37     1 /  .85,  1.7418385,   .3826707,  -.3312878,  -.1309669,
38     2    .0694703,   .0355463,  -.0137761,  -.0090094,   .0025033,
39     3    .0021663,  -.0003746,  -.0004995,   .0000317,   .0001075/
40      data beta(8),(fct(8,i),i=1,14)
41     1 /  .90,  1.7210430,   .2811841,  -.3830460,  -.0831754,
42     2    .1023592,   .0178458,  -.0266090,  -.0024255,   .0069314,
43     3   -.0001750,  -.0018239,   .0002990,   .0004796,  -.0001707/
44      data beta(9),(fct(9,i),i=1,14)
45     1 /  .95,  1.7047580,   .2064316,  -.4116058,  -.0459696,
46     2    .1180010,   .0047165,  -.0315829,   .0012915,   .0079611,
47     3   -.0009923,  -.0018505,   .0003863,   .0004041,  -.0001152/
48      data beta(10),(fct(10,i),i=1,14)
49     1 / 1.00,  1.6841249,   .1129266,  -.4366304,   .0183279,
50     2    .1320116,  -.0293359,  -.0344015,   .0159707,   .0070763,
51     3   -.0062417,  -.0007853,   .0019354,  -.0001402,  -.0004452/
52      if(iflagc.ne.0)go to 20
53c     fit splines to fct vs beta for each term
54      do 10 i=1,14
55      iop(1)=1
56      iop(2)=1
57      wb(1,i)=0.
58      wb(nte,i)=0.
59      call spl1d1(nte,beta,fct(1,i),wb(1,i),iop,1,a,b,c)
60   10 continue
61   20 pi=4.*atan(1.)
62      do 30 i=1,14
63      call spl1d2 (nte,beta,fct(1,i),wb(1,i),1,betac,tab)
64   30 fc(i)=tab(1)
65c     normalize coefficients
66      sum=0.
67      t=1.
68      sgn=1.
69      do 40 l=1,14
70      sum=sum+fc(l)*sgn/t
71      t=t+2.
72   40 sgn=-sgn
73      fac=2.*sum/pi
74      do 50 l=1,14
75   50 fc(l)=fc(l)/fac
76      return
77      end
78c++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*
Note: See TracBrowser for help on using the repository browser.