source: MML/trunk/mml/doc_html/mml/at/getnusympmat.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: 4.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 getnusympmat</title>
6  <meta name="keywords" content="getnusympmat">
7  <meta name="description" content="GETNUSYMPMAT - Calculate the tune from a symplectic one-turn matrix">
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">mml</a> &gt; <a href="index.html">at</a> &gt; getnusympmat.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 mml/at&nbsp;<img alt=">" border="0" src="../../right.png"></a></td></tr></table>-->
19
20<h1>getnusympmat
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>GETNUSYMPMAT - Calculate the tune from a symplectic one-turn matrix</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 nu = getnusympmat(M44) </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">GETNUSYMPMAT - Calculate the tune from a symplectic one-turn matrix
31  nu = getnusympmat(M44)
32
33  INPUTS
34  1. M44 - 4 by 4 symplectic matrix
35
36  OUTPUTS
37  1. nu - Tunes
38
39  Written by Johan Bengtsson</pre></div>
40
41<!-- crossreference -->
42<h2><a name="_cross"></a>CROSS-REFERENCE INFORMATION <a href="#_top"><img alt="^" border="0" src="../../up.png"></a></h2>
43This function calls:
44<ul style="list-style-image:url(../../matlabicon.gif)">
45</ul>
46This function is called by:
47<ul style="list-style-image:url(../../matlabicon.gif)">
48<li><a href="modelchro.html" class="code" title="function [Chro, Tune] = modelchro(varargin)">modelchro</a>     MODELCHRO - Returns the AT model chromaticity</li><li><a href="modeltune.html" class="code" title="function [FractionalTune, IntegerTune] = modeltune">modeltune</a>    MODELTUNE - Returns the model tune (2x1 vector)</li></ul>
49<!-- crossreference -->
50
51
52<h2><a name="_source"></a>SOURCE CODE <a href="#_top"><img alt="^" border="0" src="../../up.png"></a></h2>
53<div class="fragment"><pre>0001 <a name="_sub0" href="#_subfunctions" class="code">function nu = getnusympmat(M44)</a>
540002 <span class="comment">%GETNUSYMPMAT - Calculate the tune from a symplectic one-turn matrix</span>
550003 <span class="comment">%  nu = getnusympmat(M44)</span>
560004 <span class="comment">%</span>
570005 <span class="comment">%  INPUTS</span>
580006 <span class="comment">%  1. M44 - 4 by 4 symplectic matrix</span>
590007 <span class="comment">%</span>
600008 <span class="comment">%  OUTPUTS</span>
610009 <span class="comment">%  1. nu - Tunes</span>
620010 <span class="comment">%</span>
630011 <span class="comment">%  Written by Johan Bengtsson</span>
640012
650013 <span class="keyword">if</span> nargin &lt; 1
660014     <span class="keyword">global</span> THERING
670015     M44 = findm66(THERING);
680016 <span class="keyword">end</span>
690017
700018 n = 4;
710019
720020 M = M44(1:4, 1:4);
730021 M = M - eye(4); detp = det(M); M = M + 2*eye(4); detm = det(M); M = M - eye(4);
740022 b = (detp-detm)/16.0; c = (detp+detm)/8.0 - 1.0;
750023 th = (M(1, 1)+M(2, 2))/2.0; tv = (M(3, 3)+M(4, 4))/2.0;
760024 b2mc = b^2 - c;
770025 <span class="keyword">if</span> b2mc &lt; 0.0
780026     nu = [-1.0; -1.0];
790027     disp(<span class="string">'** Getnu: unstable in tune'</span>);
800028 <span class="keyword">else</span>
810029     <span class="keyword">if</span> (th &gt; tv)
820030         sgn = 1.0;
830031     <span class="keyword">else</span>
840032         sgn = -1.0;
850033     <span class="keyword">end</span>
860034     nu = [acos(sgn*sqrt(b2mc)-b)/(2.0*pi); acos(-b-sgn*sqrt(b2mc))/(2.0*pi)];
870035     <span class="keyword">for</span> i = 1:n/2
880036         j = 2*i - 1;
890037         <span class="keyword">if</span> (M(j,j+1) &lt; 0.0)
900038             nu(i) = 1.0 - nu(i);
910039         <span class="keyword">end</span>
920040     <span class="keyword">end</span>
930041 <span class="keyword">end</span></pre></div>
94<hr><address>Generated on Mon 21-May-2007 15:29:18 by <strong><a href="http://www.artefact.tk/software/matlab/m2html/">m2html</a></strong> &copy; 2003</address>
95</body>
96</html>
Note: See TracBrowser for help on using the repository browser.