def __init__(self, parent): """Build GUI, allocate solver, etc.""" self.master = parent self.row_frame = Frame(self.master, borderwidth=2, relief='groove') self.row_frame.pack() Button(self.row_frame, text='Physics', command=self.set_physics, width=12).pack(side='left') Button(self.row_frame, text='Numerics', command=self.set_numerics, width=12).pack(side='left') Button(self.row_frame, text='Simulate', command=self.simulate, width=12).pack(side='left') Button(self.row_frame, text='Stop', command=self.stop, width=12).pack(side='left') Button(self.row_frame, text='Continue', command=self.continue_, width=12).pack(side='left') Button(self.row_frame, text='Quit', command=self.master.destroy, width=12).pack(side='left') self.w = WaveSolverWithViz(WaveEq2(), plot=True, program='BLT', parent_frame=self.master, sleep=0) self._setup_shapes() self.nGUI = Parameters(interface='GUI') # numerics part of GUI self.nGUI.add('stop time for simulation', 60.0, widget_type='entry') self.nGUI.add('safety factor for time step', 1.0, widget_type='entry') self.nGUI.add('no of grid cells', 100, widget_type='slider', values=(0, 1000)) self.nGUI.add('movie speed', 1.0, widget_type='slider', values=(0, 1)) self.scheme_coding = 'vectorized'
def __init__(self, parent, layout='sort'): self.cwd = os.getcwd() self.p = Parameters(interface='GUI') self.master = parent self.initialize() self.GUI = AutoSimVizGUI() if layout == 'sort': # widgets sorted in columns: self.GUI.make_prmGUI(self.master, self.p, sort_widgets=1, height=300, pane=1) else: # only one column of input parameters: self.GUI.make_prmGUI(self.master, self.p, sort_widgets=0, height=300, pane=0) help = """\ Simulate: run oscillator code for solving the differential equation for the spring system. Visualize: run Gnuplot to make plots in PNG and PostScript format and on the screen (optional). Plots are stored in the subdirectory with name equal to 'case'. """ self.GUI.make_buttonGUI(self.master, buttons=[('Simulate', self.simulate), ('Visualize', self.visualize)], logo=os.path.join(os.environ['scripting'], 'src', 'misc', 'figs', 'simviz2.xfig.t.gif'), help=None)
def __init__(self): self.cwd = os.getcwd() self.p = Parameters(interface='plain') self.initialize()