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]):
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())
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)