source: MML/trunk/at/doc_html/at/simulator/element/user/rbend_asp.html @ 4

Last change on this file since 4 was 4, checked in by zhangj, 10 years ago

Initial import--MML version from SOLEIL@2013

File size: 6.6 KB
Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2                "http://www.w3.org/TR/REC-html40/loose.dtd">
3<html>
4<head>
5  <title>Description of rbend_asp</title>
6  <meta name="keywords" content="rbend_asp">
7  <meta name="description" content="BEND('FAMILYNAME',  Length[m], BendingAngle[rad], EntranceAngle[rad],">
8  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
9  <meta name="generator" content="m2html &copy; 2003 Guillaume Flandin">
10  <meta name="robots" content="index, follow">
11  <link type="text/css" rel="stylesheet" href="../../../../m2html.css">
12</head>
13<body>
14<a name="_top"></a>
15<div><a href="../../../../index.html">Home</a> &gt;  <a href="../../../index.html">at</a> &gt; <a href="#">simulator</a> &gt; <a href="../index.html">element</a> &gt; <a href="index.html">user</a> &gt; rbend_asp.m</div>
16
17<!--<table width="100%"><tr><td align="left"><a href="../../../../index.html"><img alt="<" border="0" src="../../../../left.png">&nbsp;Master index</a></td>
18<td align="right"><a href="index.html">Index for at/simulator/element/user&nbsp;<img alt=">" border="0" src="../../../../right.png"></a></td></tr></table>-->
19
20<h1>rbend_asp
21</h1>
22
23<h2><a name="_name"></a>PURPOSE <a href="#_top"><img alt="^" border="0" src="../../../../up.png"></a></h2>
24<div class="box"><strong>BEND('FAMILYNAME',  Length[m], BendingAngle[rad], EntranceAngle[rad],</strong></div>
25
26<h2><a name="_synopsis"></a>SYNOPSIS <a href="#_top"><img alt="^" border="0" src="../../../../up.png"></a></h2>
27<div class="box"><strong>function z=rbend(fname,L,A,A1,A2,K,method, varargin) </strong></div>
28
29<h2><a name="_description"></a>DESCRIPTION <a href="#_top"><img alt="^" border="0" src="../../../../up.png"></a></h2>
30<div class="fragment"><pre class="comment">BEND('FAMILYNAME',  Length[m], BendingAngle[rad], EntranceAngle[rad],
31    ExitAngle[rad], K, 'METHOD')
32    creates a new family in the FAMLIST - a structure with fields
33        FamName            family name
34        Length             length of the arc for an on-energy particle [m]
35        BendingAngle        total bending angle [rad]
36        EntranceAngle        [rad] (0 - for sector bends)
37        ExitAngle            [rad] (0 - for sector bends)
38        ByError                error in the dipole field relative to the design value
39        K                        quadrupole K-value for combined funtion bends
40        PassMethod        name of the function to use for tracking
41 returns assigned address in the FAMLIST that is uniquely identifies
42 the family
43 
44 Eugene 29/08/05 modified to be able to input Polynom data.</pre></div>
45
46<!-- crossreference -->
47<h2><a name="_cross"></a>CROSS-REFERENCE INFORMATION <a href="#_top"><img alt="^" border="0" src="../../../../up.png"></a></h2>
48This function calls:
49<ul style="list-style-image:url(../../../../matlabicon.gif)">
50</ul>
51This function is called by:
52<ul style="list-style-image:url(../../../../matlabicon.gif)">
53</ul>
54<!-- crossreference -->
55
56
57<h2><a name="_source"></a>SOURCE CODE <a href="#_top"><img alt="^" border="0" src="../../../../up.png"></a></h2>
58<div class="fragment"><pre>0001 <a name="_sub0" href="#_subfunctions" class="code">function z=rbend(fname,L,A,A1,A2,K,method, varargin)</a>
590002 <span class="comment">%BEND('FAMILYNAME',  Length[m], BendingAngle[rad], EntranceAngle[rad],</span>
600003 <span class="comment">%    ExitAngle[rad], K, 'METHOD')</span>
610004 <span class="comment">%    creates a new family in the FAMLIST - a structure with fields</span>
620005 <span class="comment">%        FamName            family name</span>
630006 <span class="comment">%        Length             length of the arc for an on-energy particle [m]</span>
640007 <span class="comment">%        BendingAngle        total bending angle [rad]</span>
650008 <span class="comment">%        EntranceAngle        [rad] (0 - for sector bends)</span>
660009 <span class="comment">%        ExitAngle            [rad] (0 - for sector bends)</span>
670010 <span class="comment">%        ByError                error in the dipole field relative to the design value</span>
680011 <span class="comment">%        K                        quadrupole K-value for combined funtion bends</span>
690012 <span class="comment">%        PassMethod        name of the function to use for tracking</span>
700013 <span class="comment">% returns assigned address in the FAMLIST that is uniquely identifies</span>
710014 <span class="comment">% the family</span>
720015 <span class="comment">%</span>
730016 <span class="comment">% Eugene 29/08/05 modified to be able to input Polynom data.</span>
740017
750018
760019 ElemData.FamName = fname;  <span class="comment">% add check for identical family names</span>
770020 ElemData.Length            = L;
780021 ElemData.MaxOrder            = 3;
790022 ElemData.NumIntSteps     = 10;
800023 ElemData.BendingAngle      = A;
810024 ElemData.EntranceAngle     = A1;
820025 ElemData.ExitAngle         = A2;
830026 ElemData.ByError         = 0;
840027 ElemData.K                  = K;
850028
860029 ElemData.R1 = diag(ones(6,1));
870030 ElemData.R2 = diag(ones(6,1));
880031 ElemData.T1 = zeros(1,6);
890032 ElemData.T2 = zeros(1,6);
900033
910034 <span class="keyword">if</span> nargin &gt; 7
920035     PolynomA = varargin{1};
930036 <span class="keyword">else</span>
940037     PolynomA = [0 0 0 0];
950038 <span class="keyword">end</span>
960039 <span class="keyword">if</span> nargin &gt; 8
970040     PolynomB = varargin{2};
980041 <span class="keyword">else</span>
990042     PolynomB = [0 K 0 0];
1000043 <span class="keyword">end</span>
1010044
1020045 ElemData.PolynomA            = PolynomA;     
1030046 ElemData.PolynomB            = PolynomB;
1040047
1050048 <span class="comment">% Eugene test s rotation method 25/08/05</span>
1060049 <span class="comment">% theta = pi/4;</span>
1070050 <span class="comment">% PolynomA            = [0 0 0 0];</span>
1080051 <span class="comment">% PolynomB            = [ElemData.BendingAngle/ElemData.Length K 0 0];</span>
1090052 <span class="comment">% ElemData.PolynomA= imag(exp(i*theta)*complex(PolynomB,PolynomA));</span>
1100053 <span class="comment">% ElemData.PolynomB= real(exp(i*theta)*complex(PolynomB,PolynomA)) - [ElemData.BendingAngle/ElemData.Length 0 0 0];</span>
1110054
1120055 ElemData.PassMethod         = method;
1130056
1140057 <span class="keyword">global</span> FAMLIST
1150058 z = length(FAMLIST)+1; <span class="comment">% number of declare families including this one</span>
1160059 FAMLIST{z}.FamName = fname;
1170060 FAMLIST{z}.NumKids = 0;
1180061 FAMLIST{z}.KidsList= [];
1190062 FAMLIST{z}.ElemData= ElemData;
1200063</pre></div>
121<hr><address>Generated on Mon 21-May-2007 15:26:45 by <strong><a href="http://www.artefact.tk/software/matlab/m2html/">m2html</a></strong> &copy; 2003</address>
122</body>
123</html>
Note: See TracBrowser for help on using the repository browser.