Example #1
0
from numpy import *
import matplotlib.pyplot as pl
from sixtracklib.ctrack import *

from sixtracklib.pysixtrack import *
from sixtracklib.sixdump import SixDump
from sixtracklib.sixinput import SixTrackInput
from sixtracklib.sixbin   import SixBin

exampledir='med_80_mo_3_s1_4-6_30'
# exampledir='med_80_bb_2_s1_4-6_30'
# exampledir='med_80_mo_3_s1_0sigma'

s=SixTrackInput(exampledir)
convert={'drift':Drift, 'mult':Multipole, 'cav': Cavity,
         'align':Align,'block':Block}
out,rest=s.expand_struct(convert=convert)

b=SixBin(exampledir)

p=Bunch(**b.get_particle(1,0))

partiInt = ctypes.c_int*5
partfFloat = ctypes.c_double*14

parti = partiInt(1,9,0,5,5)
elemid = 0
partid = 0
npart = 1

for iii,(name,ccc,el) in enumerate(out[:21]):
Example #2
0
from sixtracklib.pysixtrack import *
from sixtracklib.sixdump import SixDump
from sixtracklib.sixinput import SixTrackInput

# from pyoptics import *
from numpy import *

#t=optics.open('med_80_mo_3_s1_4-6_30/twiss.tfs')
#err=optics.open('med_80_mo_3_s1_4-6_30/errors.tfs')
s=SixTrackInput('med_80_mo_3_s1_4-6_30')

out,rest=s.expand_struct()
convert={'drift':DriftExact, 'mult':Multipole, 'cav': Cavity}
out=[ (name,ccc,convert[el.__class__.__name__](*el)) for name,ccc,el in out]

#out[:4]
#rest[:4]
#madname='mqwa.a4r3.b1..1'
#s.compare_madmult('q_c6t_1',0,err,'mqwa.a4r3.b1..1')
#[ (nnn,el) for nnn,el in out if type(el)==cav]
#[ (nnn,el) for nnn,el in out if getattr(el,'knl',[0])[0]!=0]

d=SixDump.open('med_80_mo_3_s1_4-6_30/dump.dat.gz')


p=Bunch(**d.get_particles(0,0))
res={}
res[0]=p
for iii,(name,ccc,el) in enumerate(out):
   el.track(p)
   res[iii+1]=(name,el,p.copy())
Example #3
0
from numpy import *
import matplotlib.pyplot as pl
from sixtracklib.ctrack import *

from sixtracklib.pysixtrack import *
from sixtracklib.sixdump import SixDump
from sixtracklib.sixinput import SixTrackInput
from sixtracklib.sixbin import SixBin

exampledir = 'med_80_mo_3_s1_4-6_30'
# exampledir='med_80_bb_2_s1_4-6_30'
# exampledir='med_80_mo_3_s1_0sigma'

s = SixTrackInput(exampledir)
convert = {
    'drift': Drift,
    'mult': Multipole,
    'cav': Cavity,
    'align': Align,
    'block': Block
}
out, rest = s.expand_struct(convert=convert)

b = SixBin(exampledir)

p = Bunch(**b.get_particle(1, 0))

partiInt = ctypes.c_int * 5
partfFloat = ctypes.c_double * 14

parti = partiInt(1, 9, 0, 5, 5)