def __init__(self, master): from Tkinter import Label, Entry, Canvas, Button from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2TkAgg from matplotlib.figure import Figure Label(master, text="Initial conditions:").grid(row=0, column=0, columnspan=2) Label(master, text="x").grid(row=1, column=0) Label(master, text="y").grid(row=2, column=0) Label(master, text="p_x").grid(row=3, column=0) Label(master, text="p_y").grid(row=4, column=0) Label(master, text="steps").grid(row=5, column=0) Button(master, text="Plot", command=self.replot).grid(row=6, column=0, columnspan=2) self.x = Entry(master) self.y = Entry(master) self.px = Entry(master) self.py = Entry(master) self.steps = Entry(master) self.x.grid(row=1, column=1) self.y.grid(row=2, column=1) self.px.grid(row=3, column=1) self.py.grid(row=4, column=1) self.steps.grid(row=5, column=1) self.x.insert(0, 25.) self.y.insert(0, 0.) self.px.insert(0, 0.) self.py.insert(0, 0.2) self.steps.insert(0, 1000) self.blackhole = Blackhole() self.resetInitialConditions() self.figure = Figure(figsize=(6,5), dpi=100) self.a = self.figure.add_subplot(111) self.canvas = FigureCanvasTkAgg(self.figure, master=master) self.canvas.show() self.canvas.get_tk_widget().grid(row=0, column=2, rowspan=7)
def run_blackhole(): entrypoint = "./entrypoint_min.sh" blackhole = Blackhole() curtime = ti.strftime("%Y-%m-%d-%H-%M", ti.gmtime()) blackhole.run(sim_args, curtime, entrypoint)
class App: def __init__(self, master): from Tkinter import Label, Entry, Canvas, Button from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2TkAgg from matplotlib.figure import Figure Label(master, text="Initial conditions:").grid(row=0, column=0, columnspan=2) Label(master, text="x").grid(row=1, column=0) Label(master, text="y").grid(row=2, column=0) Label(master, text="p_x").grid(row=3, column=0) Label(master, text="p_y").grid(row=4, column=0) Label(master, text="steps").grid(row=5, column=0) Button(master, text="Plot", command=self.replot).grid(row=6, column=0, columnspan=2) self.x = Entry(master) self.y = Entry(master) self.px = Entry(master) self.py = Entry(master) self.steps = Entry(master) self.x.grid(row=1, column=1) self.y.grid(row=2, column=1) self.px.grid(row=3, column=1) self.py.grid(row=4, column=1) self.steps.grid(row=5, column=1) self.x.insert(0, 25.) self.y.insert(0, 0.) self.px.insert(0, 0.) self.py.insert(0, 0.2) self.steps.insert(0, 1000) self.blackhole = Blackhole() self.resetInitialConditions() self.figure = Figure(figsize=(6,5), dpi=100) self.a = self.figure.add_subplot(111) self.canvas = FigureCanvasTkAgg(self.figure, master=master) self.canvas.show() self.canvas.get_tk_widget().grid(row=0, column=2, rowspan=7) def resetInitialConditions(self): self.blackhole.setInitialConditions( float(self.x.get()), float(self.y.get()), float(self.px.get()), float(self.py.get())) def replot(self): self.resetInitialConditions() xs = [] ys = [] for i in xrange(int(self.steps.get())): x,y = self.blackhole.getPosition() xs.append(x) ys.append(y) self.blackhole.evolve(0.005) self.a.clear() self.a.plot(xs, ys) self.canvas.draw()
subparsers = sim_parser.add_subparsers(dest="scenario") #Add simple p2p arguments sub_parser = subparsers.add_parser('simple_p2p') sub_parser.add_argument('-k', action='store_true', help='Flag to add kernel debug volume to container') sys.path.append(curdir + '/simple_p2p') from simple_p2p import Simple_p2p p2p = Simple_p2p() p2p.addCLIArguments(sub_parser) #Add blackhole arguments sub_parser = subparsers.add_parser('blackhole') sub_parser.add_argument('-k', action='store_true', help='Flag to add kernel debug volume to container') sys.path.append(curdir + '/blackhole') from blackhole import Blackhole blackhole = Blackhole() blackhole.addCLIArguments(sub_parser) #Add droplist arguments sub_parser = subparsers.add_parser('droplist') sub_parser.add_argument('-k', action='store_true', help='Flag to add kernel debug volume to container') sys.path.append(curdir + '/droplist') from droplist import Droplist droplist = Droplist() droplist.addCLIArguments(sub_parser) #Add droprate arguments sub_parser = subparsers.add_parser('droprate') sub_parser.add_argument('-k', action='store_true', help='Flag to add kernel debug volume to container') sys.path.append(curdir + '/droprate') from droprate import Droprate