{ "cells": [ { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "from matplotlib import pyplot as plt\n", "import numpy as np\n", "from cpymad.madx import Madx\n", "import pandas as pd" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Tutorial 4\n", "\n", "## First part" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Periodic solution" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", " ++++++++++++++++++++++++++++++++++++++++++++\n", " + MAD-X 5.06.01 (64 bit, Linux) +\n", " + Support: mad@cern.ch, http://cern.ch/mad +\n", " + Release date: 2020.09.01 +\n", " + Execution date: 2021.01.19 10:51:33 +\n", " ++++++++++++++++++++++++++++++++++++++++++++\n", "enter Twiss module\n", "++++++ warning: Twiss failed: MAD-X continues\n" ] } ], "source": [ "myMad = Madx()\n", "myString='''\n", "quadrupoleLenght=0.1;\n", "cellLength=10;\n", "\n", "myK1=.1;// m^-2\n", "myK2=.1;// m^-2\n", "myK3=.1;// m^-2\n", "myK4=.1;// m^-2\n", "\n", "Q: quadrupole, L=quadrupoleLenght;\n", "\n", "myCell:sequence, refer=center, L=cellLength;\n", "myStart: marker, at=0;\n", "q1: Q,K1:=myK1, at=2;\n", "q2: Q,K1:=myK2, at=4;\n", "q3: Q,K1:=myK3, at=6;\n", "q4: Q,K1:=myK4, at=8;\n", "myEnd: marker, at=10;\n", "endsequence;\n", "\n", "beam, particle=proton, energy=2;\n", "\n", "use, sequence=myCell;\n", "twiss;\n", "'''\n", "myMad.input(myString);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Conclusions**: the periodic solution does not exist." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### IC solution" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "enter Twiss module\n", "\n", "++++++ table: summ\n", "\n", " length orbit5 alfa gammatr \n", " 10 -0 0 0 \n", "\n", " q1 dq1 betxmax dxmax \n", " 0.236117848 0 85.59952509 0 \n", "\n", " dxrms xcomax xcorms q2 \n", " 0 0 0 0.2150800354 \n", "\n", " dq2 betymax dymax dyrms \n", " 0 61.41336649 0 0 \n", "\n", " ycomax ycorms deltap synch_1 \n", " 0 0 0 0 \n", "\n", " synch_2 synch_3 synch_4 synch_5 \n", " 0 0 0 0 \n", "\n", " synch_6 synch_8 nflips \n", " 0 0 0 \n" ] } ], "source": [ "myString='''\n", "twiss,betx=1, bety=2, file=\"./firstpart/ICSolution.txt\";\n", "'''\n", "myMad.input(myString);" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | name | \n", "keyword | \n", "s | \n", "betx | \n", "alfx | \n", "mux | \n", "bety | \n", "alfy | \n", "muy | \n", "x | \n", "... | \n", "sig54 | \n", "sig55 | \n", "sig56 | \n", "sig61 | \n", "sig62 | \n", "sig63 | \n", "sig64 | \n", "sig65 | \n", "sig66 | \n", "n1 | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
#s | \n", "mycell$start:1 | \n", "marker | \n", "0.00 | \n", "1.000000 | \n", "0.000000 | \n", "0.000000 | \n", "2.000000 | \n", "0.000000 | \n", "0.000000 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
mystart | \n", "mystart:1 | \n", "marker | \n", "0.00 | \n", "1.000000 | \n", "0.000000 | \n", "0.000000 | \n", "2.000000 | \n", "0.000000 | \n", "0.000000 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
drift_0[0] | \n", "drift_0:0 | \n", "drift | \n", "1.95 | \n", "4.802500 | \n", "-1.950000 | \n", "0.174584 | \n", "3.901250 | \n", "-0.975000 | \n", "0.122985 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
q1 | \n", "q1:1 | \n", "quadrupole | \n", "2.05 | \n", "5.197436 | \n", "-1.998042 | \n", "0.177770 | \n", "4.105284 | \n", "-1.066023 | \n", "0.126963 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
drift_1[0] | \n", "drift_1:0 | \n", "drift | \n", "3.95 | \n", "16.257422 | \n", "-3.823004 | \n", "0.210905 | \n", "10.034826 | \n", "-2.054789 | \n", "0.174794 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
q2 | \n", "q2:1 | \n", "quadrupole | \n", "4.05 | \n", "17.014863 | \n", "-3.748881 | \n", "0.211862 | \n", "10.461302 | \n", "-2.211390 | \n", "0.176348 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
drift_2[0] | \n", "drift_2:0 | \n", "drift | \n", "5.95 | \n", "34.454604 | \n", "-5.429930 | \n", "0.224364 | \n", "20.897199 | \n", "-3.281187 | \n", "0.196856 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
q3 | \n", "q3:1 | \n", "quadrupole | \n", "6.05 | \n", "35.514267 | \n", "-5.163174 | \n", "0.224819 | \n", "21.580410 | \n", "-3.553206 | \n", "0.197606 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
drift_3[0] | \n", "drift_3:0 | \n", "drift | \n", "7.95 | \n", "57.945783 | \n", "-6.642887 | \n", "0.231487 | \n", "37.361845 | \n", "-4.752813 | \n", "0.208263 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
q4 | \n", "q4:1 | \n", "quadrupole | \n", "8.05 | \n", "59.223333 | \n", "-6.128361 | \n", "0.231758 | \n", "38.356732 | \n", "-5.199368 | \n", "0.208684 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
drift_4[0] | \n", "drift_4:0 | \n", "drift | \n", "10.00 | \n", "85.599525 | \n", "-7.397891 | \n", "0.236118 | \n", "61.413366 | \n", "-6.624547 | \n", "0.215080 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
myend | \n", "myend:1 | \n", "marker | \n", "10.00 | \n", "85.599525 | \n", "-7.397891 | \n", "0.236118 | \n", "61.413366 | \n", "-6.624547 | \n", "0.215080 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
#e | \n", "mycell$end:1 | \n", "marker | \n", "10.00 | \n", "85.599525 | \n", "-7.397891 | \n", "0.236118 | \n", "61.413366 | \n", "-6.624547 | \n", "0.215080 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
13 rows × 256 columns
\n", "\n", " | name | \n", "keyword | \n", "s | \n", "betx | \n", "alfx | \n", "mux | \n", "bety | \n", "alfy | \n", "muy | \n", "x | \n", "... | \n", "sig54 | \n", "sig55 | \n", "sig56 | \n", "sig61 | \n", "sig62 | \n", "sig63 | \n", "sig64 | \n", "sig65 | \n", "sig66 | \n", "n1 | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
#s | \n", "mycell$start:1 | \n", "marker | \n", "0.00 | \n", "1.000000 | \n", "0.000000e+00 | \n", "0.000000 | \n", "2.000000 | \n", "0.000000e+00 | \n", "0.000000 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
mystart | \n", "mystart:1 | \n", "marker | \n", "0.00 | \n", "1.000000 | \n", "0.000000e+00 | \n", "0.000000 | \n", "2.000000 | \n", "0.000000e+00 | \n", "0.000000 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
drift_0[0] | \n", "drift_0:0 | \n", "drift | \n", "1.95 | \n", "4.802500 | \n", "-1.950000e+00 | \n", "0.174584 | \n", "3.901250 | \n", "-9.750000e-01 | \n", "0.122985 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
q1 | \n", "q1:1 | \n", "quadrupole | \n", "2.05 | \n", "5.236870 | \n", "-2.403497e+00 | \n", "0.177762 | \n", "4.074009 | \n", "-7.486915e-01 | \n", "0.126974 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
drift_1[0] | \n", "drift_1:0 | \n", "drift | \n", "3.95 | \n", "19.041695 | \n", "-4.862201e+00 | \n", "0.208229 | \n", "8.301838 | \n", "-1.476482e+00 | \n", "0.179943 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
q2 | \n", "q2:1 | \n", "quadrupole | \n", "4.05 | \n", "18.765565 | \n", "7.562999e+00 | \n", "0.209062 | \n", "9.169430 | \n", "-7.387900e+00 | \n", "0.181787 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
drift_2[0] | \n", "drift_2:0 | \n", "drift | \n", "5.95 | \n", "1.222113 | \n", "1.670396e+00 | \n", "0.273993 | \n", "59.125686 | \n", "-1.890487e+01 | \n", "0.194788 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
q3 | \n", "q3:1 | \n", "quadrupole | \n", "6.05 | \n", "0.989436 | \n", "7.088986e-01 | \n", "0.288652 | \n", "58.865109 | \n", "2.145128e+01 | \n", "0.195055 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
drift_3[0] | \n", "drift_3:0 | \n", "drift | \n", "7.95 | \n", "3.777696 | \n", "-2.176404e+00 | \n", "0.568250 | \n", "5.631485 | \n", "6.566417e+00 | \n", "0.211694 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
q4 | \n", "q4:1 | \n", "quadrupole | \n", "8.05 | \n", "3.901250 | \n", "9.750000e-01 | \n", "0.572339 | \n", "4.802500 | \n", "1.950000e+00 | \n", "0.214797 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
drift_4[0] | \n", "drift_4:0 | \n", "drift | \n", "10.00 | \n", "2.000000 | \n", "-2.731981e-15 | \n", "0.695325 | \n", "1.000000 | \n", "-9.848100e-15 | \n", "0.389381 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
myend | \n", "myend:1 | \n", "marker | \n", "10.00 | \n", "2.000000 | \n", "-2.731981e-15 | \n", "0.695325 | \n", "1.000000 | \n", "-9.848100e-15 | \n", "0.389381 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
#e | \n", "mycell$end:1 | \n", "marker | \n", "10.00 | \n", "2.000000 | \n", "-2.731981e-15 | \n", "0.695325 | \n", "1.000000 | \n", "-9.848100e-15 | \n", "0.389381 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
13 rows × 256 columns
\n", "\n", " | name | \n", "keyword | \n", "s | \n", "betx | \n", "alfx | \n", "mux | \n", "bety | \n", "alfy | \n", "muy | \n", "x | \n", "... | \n", "sig54 | \n", "sig55 | \n", "sig56 | \n", "sig61 | \n", "sig62 | \n", "sig63 | \n", "sig64 | \n", "sig65 | \n", "sig66 | \n", "n1 | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
#s | \n", "mycell$start:1 | \n", "marker | \n", "0.00 | \n", "1.000000 | \n", "0.000000 | \n", "0.000000 | \n", "2.000000 | \n", "0.000000 | \n", "0.000000 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
mystart | \n", "mystart:1 | \n", "marker | \n", "0.00 | \n", "1.000000 | \n", "0.000000 | \n", "0.000000 | \n", "2.000000 | \n", "0.000000 | \n", "0.000000 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
drift_0[0] | \n", "drift_0:0 | \n", "drift | \n", "1.95 | \n", "4.802500 | \n", "-1.950000 | \n", "0.174584 | \n", "3.901250 | \n", "-0.975000 | \n", "0.122985 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
q1 | \n", "q1:1 | \n", "quadrupole | \n", "2.05 | \n", "5.866198 | \n", "-9.129213 | \n", "0.177646 | \n", "3.614683 | \n", "3.719518 | \n", "0.127136 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
drift_1[0] | \n", "drift_1:0 | \n", "drift | \n", "3.95 | \n", "92.460760 | \n", "-36.446872 | \n", "0.190645 | \n", "4.296110 | \n", "-4.078164 | \n", "0.547064 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
q2 | \n", "q2:1 | \n", "quadrupole | \n", "4.05 | \n", "91.715372 | \n", "43.684821 | \n", "0.190815 | \n", "5.583809 | \n", "-9.167596 | \n", "0.550361 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
drift_2[0] | \n", "drift_2:0 | \n", "drift | \n", "5.95 | \n", "0.867330 | \n", "4.129938 | \n", "0.224982 | \n", "95.403170 | \n", "-38.105752 | \n", "0.563477 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
q3 | \n", "q3:1 | \n", "quadrupole | \n", "6.05 | \n", "0.272915 | \n", "1.930413 | \n", "0.258258 | \n", "97.370217 | \n", "18.822866 | \n", "0.563641 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
drift_3[0] | \n", "drift_3:0 | \n", "drift | \n", "7.95 | \n", "55.457292 | \n", "-30.974822 | \n", "0.677052 | \n", "39.016080 | \n", "11.889837 | \n", "0.568548 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
q4 | \n", "q4:1 | \n", "quadrupole | \n", "8.05 | \n", "59.223333 | \n", "-6.128361 | \n", "0.677327 | \n", "38.356732 | \n", "-5.199368 | \n", "0.568962 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
drift_4[0] | \n", "drift_4:0 | \n", "drift | \n", "10.00 | \n", "85.599525 | \n", "-7.397891 | \n", "0.681687 | \n", "61.413366 | \n", "-6.624547 | \n", "0.575358 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
myend | \n", "myend:1 | \n", "marker | \n", "10.00 | \n", "85.599525 | \n", "-7.397891 | \n", "0.681687 | \n", "61.413366 | \n", "-6.624547 | \n", "0.575358 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
#e | \n", "mycell$end:1 | \n", "marker | \n", "10.00 | \n", "85.599525 | \n", "-7.397891 | \n", "0.681687 | \n", "61.413366 | \n", "-6.624547 | \n", "0.575358 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
13 rows × 256 columns
\n", "