forked from brandon-zhang/OlinEngineSim
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ResultsPanel.py
27 lines (22 loc) · 1.17 KB
/
ResultsPanel.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
from tkinter import *
class ResultsPanel:
"""A container for the sim results on the right-hand side"""
def __init__(self, sim, root):
# Save sim
self.sim = sim
self.results_panel = Frame(root)
# Create and pack labels
self.time_label = Label(self.results_panel, text="Burn Time = ")
self.time_label.grid(row=0)
self.total_impulse_label = Label(self.results_panel, text="Total Impulse = ")
self.total_impulse_label.grid(row=1)
self.specific_impulse_label = Label(self.results_panel, text="Specific Impulse = ")
self.specific_impulse_label.grid(row=2)
self.p_label = Label(self.results_panel, text="Max Chamber Pressure = ")
self.p_label.grid(row=3)
def update_vals(self):
"""Updates labels with values from simulation"""
self.time_label['text'] = "Burn Time = %.2f sec" %self.sim.burn_time
self.total_impulse_label['text'] = "Total Impulse = %.2f Ns" %self.sim.It
self.specific_impulse_label['text'] = "Total Impuse = %.2f Ns" %self.sim.Isp
self.p_label['text'] = "Max Chamber Pressure = %.2f MPa" %max(self.sim.p)