source: MML/trunk/at/doc_html/at/atdemos/elementpassdemo.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: 9.3 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 elementpassdemo</title>
6  <meta name="keywords" content="elementpassdemo">
7  <meta name="description" content="ELEMENTPASSDEMO self-running tutorial">
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="index.html">atdemos</a> &gt; elementpassdemo.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/atdemos&nbsp;<img alt=">" border="0" src="../../right.png"></a></td></tr></table>-->
19
20<h1>elementpassdemo
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>ELEMENTPASSDEMO self-running tutorial</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>This is a script file. </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">ELEMENTPASSDEMO self-running tutorial
31 1. Phase-Space tracking variables
32 2. Tracking through individual elements
33 3. Method - Element consistencyclear all</pre></div>
34
35<!-- crossreference -->
36<h2><a name="_cross"></a>CROSS-REFERENCE INFORMATION <a href="#_top"><img alt="^" border="0" src="../../up.png"></a></h2>
37This function calls:
38<ul style="list-style-image:url(../../matlabicon.gif)">
39<li><a href="spear2.html" class="code" title="function spear2">spear2</a>       SPEAR2 example lattice definition file</li></ul>
40This function is called by:
41<ul style="list-style-image:url(../../matlabicon.gif)">
42</ul>
43<!-- crossreference -->
44
45
46<h2><a name="_source"></a>SOURCE CODE <a href="#_top"><img alt="^" border="0" src="../../up.png"></a></h2>
47<div class="fragment"><pre>0001 <span class="comment">%ELEMENTPASSDEMO self-running tutorial</span>
480002 <span class="comment">% 1. Phase-Space tracking variables</span>
490003 <span class="comment">% 2. Tracking through individual elements</span>
500004 <span class="comment">% 3. Method - Element consistencyclear all</span>
510005 clc
520006 echo on
530007 <span class="comment">% The term 'tracking' in Accelerator Physics refers to numerical simulation</span>
540008 <span class="comment">% of particle motion in phase-space as it passes through an accelerator</span>
550009 <span class="comment">%</span>
560010 <span class="comment">% MATLAB Accelerator Toolbox uses 6-by-1 column vectors to represent</span>
570011 <span class="comment">%  Individual particles in phase space with components [x px y py delta ct]'</span>
580012 <span class="comment">%  For example:</span>
590013 R = [0.01 0 0.01 0 0 0]'
600014
610015 <span class="comment">% 6-by-N matrixes are used to represent groups of N particles</span>
620016 <span class="comment">%</span>
630017 RRR = [R 2*R 3*R]
640018
650019 pause <span class="comment">% Press any key to continue</span>
660020 clc
670021 <span class="comment">% In Accelerator Toolbox tracking is built upon an open-ended</span>
680022 <span class="comment">% collection of functions that track particles through</span>
690023 <span class="comment">% individual accelerator elements</span>
700024 <span class="comment">%</span>
710025 <span class="comment">% Examle: Load spear2 lattice</span>
720026 <a href="spear2.html" class="code" title="function spear2">spear2</a>
730027 <span class="comment">%</span>
740028 <span class="comment">% Second element in spear2 lattice is a drift space</span>
750029 SOMEDRIFT = THERING{2}
760030 whos SOMEDRIFT
770031 <span class="comment">% SOMEDRIFT is a MATLAB structure</span>
780032 <span class="comment">% Now use function DRIFTPASS to track through SOMEDRIFT</span>
790033 pause <span class="comment">% Press any key to continue</span>
800034 clc
810035 driftpass(SOMEDRIFT,R)
820036 <span class="comment">%</span>
830037 <span class="comment">% DRIFTPASS and other tracking functions in accelerator Toolbox</span>
840038 <span class="comment">% accept matrix input to simultaneously track many particles</span>
850039 <span class="comment">%</span>
860040 driftpass(SOMEDRIFT,RRR) 
870041 <span class="comment">% Obviously in a drift space particle momentums don't change</span>
880042 <span class="comment">%</span>
890043 <span class="comment">% Try this</span>
900044 DriftPass(SOMEDRIFT,[0 0.01 0 0.02 0 0]'),
910045
920046 pause <span class="comment">% Press any key to continue</span>
930047 clc
940048 <span class="comment">% Accelerator Toolbox provides an open endeed collection</span>
950049 <span class="comment">% of functions that track through elements using various</span>
960050 <span class="comment">% field models.</span>
970051 <span class="comment">%</span>
980052 <span class="comment">% For example with a more interesting element QUADRUPOLE</span>
990053 <span class="comment">% the user can  use different methods</span>
1000054 <span class="comment">% implemented as different pass-functions:</span>
1010055
1020056 SOMEQUAD = THERING{5};
1030057 <span class="comment">% ______________________________________________________</span>
1040058 QuadLinearPass(SOMEQUAD,R)
1050059 <span class="comment">% ______________________________________________________</span>
1060060 StrMPoleSymplectic4Pass(SOMEQUAD,R)
1070061 <span class="comment">% ______________________________________________________</span>
1080062 StrMPoleSymplectic4RadPass(SOMEQUAD,R)
1090063
1100064 pause <span class="comment">% Press any key to continue</span>
1110065 clc
1120066 <span class="comment">% The choice of a proper model depends on</span>
1130067 <span class="comment">%</span>
1140068 <span class="comment">% 1. The problem</span>
1150069 <span class="comment">%</span>
1160070 <span class="comment">% 2. Speed-accuracy trade-off</span>
1170071 <span class="comment">%      For example:</span>
1180072 <span class="comment">%      StrMPoleSymplectic4Pass (4-th order integrator)</span>
1190073 <span class="comment">%      is slower but more accurate</span>
1200074 <span class="comment">%      than StrMPoleSymplectic2Pass (2-nd order integrator)</span>
1210075 <span class="comment">% 3. Physical considerations</span>
1220076 <span class="comment">%      For example:</span>
1230077 <span class="comment">%      DRIFTPASS assumes a field-free region which is</span>
1240078 <span class="comment">%      NOT a good model for a quadrupole magnet</span>
1250079 <span class="comment">% 4. Element-Method consistency</span>
1260080 <span class="comment">%      Element data gets passed to a pass-function as the first argument</span>
1270081 <span class="comment">%      Pass-function attempts to use the field with specific name:</span>
1280082 <span class="comment">%      For example:</span>
1290083 <span class="comment">%      QUADLINEARPASS needs fields 'Length' and 'K' ...</span>
1300084 <span class="comment">%      If the element is a drift it does not have 'K' field</span>
1310085 <span class="comment">%      If in the above examples we tried QUADLINEARPASS(SOMEDRIFT,R)</span>
1320086 <span class="comment">%      MATLAB would ungracefully stop excecution</span>
1330087 <span class="comment">%      !!! This feature puts responsibility for consistency between</span>
1340088 <span class="comment">%      Pass-functions used and elements ON THE USER. Small price to</span>
1350089 <span class="comment">%      pay for flexibility !!!</span>
1360090 <span class="comment">%</span>
1370091 pause <span class="comment">% Press any key to continue</span>
1380092 clc
1390093 <span class="comment">% Available and extensively tested methods in Accelerator Toolbox 1.0</span>
1400094 <span class="comment">%</span>
1410095 <span class="comment">% AperturePass</span>
1420096 <span class="comment">% BendLinearPass</span>
1430097 <span class="comment">% BndMPoleSymplectic4Pass</span>
1440098 <span class="comment">% BndMPoleSymplectic4RadPass</span>
1450099 <span class="comment">% DriftPass</span>
1460100 <span class="comment">% IdentityPass</span>
1470101 <span class="comment">% QuadLinearPass</span>
1480102 <span class="comment">% StrMPoleSymplectic4Pass</span>
1490103 <span class="comment">% StrMPoleSymplectic4RadPass</span>
1500104 <span class="comment">% ThinCavityPass</span>
1510105 <span class="comment">% ThinCorrectorPass</span>
1520106 <span class="comment">%</span>
1530107 <span class="comment">% The names were ment to be long and self-explanatory and end with 'Pass'</span>
1540108 <span class="comment">%</span>
1550109 <span class="comment">% Calling syntax is allways for all element pass-functions is the same</span>
1560110 <span class="comment">%</span>
1570111 <span class="comment">% These files are originally written in C and converted to MATLAB mex-functions</span>
1580112 <span class="comment">% They are located (together with source codes and some with help files)</span>
1590113 <span class="comment">% in ..\simulator\element</span>
1600114                         
1610115 pause <span class="comment">% Press any key to finish</span>
1620116 clc
1630117
1640118 echo off
1650119 clc</pre></div>
166<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>
167</body>
168</html>
Note: See TracBrowser for help on using the repository browser.