diff --git a/GUI_Elbow.py b/GUI_Elbow.py index fff55e501c3f1cfab6a3e65d75b7c3124edb6109..14a2b6812b84cecd0db068d00c53848cbe823cf0 100644 --- a/GUI_Elbow.py +++ b/GUI_Elbow.py @@ -149,7 +149,7 @@ class mainPanel(wx.Panel): sliderbox_dl, self.sld_dl, self.slider_label_dl_value, self.txtbox_dl_u = self.float_slider("inbetween distance in D",self.dl,flow.dl.min(),flow.dl.max(),factor=1000) sliderbox_Rc, self.sld_Rc, self.slider_label_Rc_value, self.txtbox_Rc_u = self.float_slider("Curvature Radius in D",self.Rc,flow.Rk.min(),flow.Rk.max(),factor=1000) sliderbox_dist, self.sld_dist, self.slider_label_dist_value,self.txtbox_dist_u = self.float_slider("Distance in D",self.dist,flow.dist.min(),flow.dist.max(),factor=1) - sliderbox_phi, self.sld_phi, self.slider_label_phi_value, self.txtbox_phi_u = self.float_slider("Angle in grad",0,-180,180,factor= 1) + sliderbox_phi, self.sld_phi, self.slider_label_phi_value, self.txtbox_phi_u = self.float_slider("Angle in degree",0,-180,180,factor= 1) sliderbox_Re, self.sld_Re, self.slider_label_Re_value, self.txtbox_Re_u = self.float_slider("Reynolds number",self.Re,*self.bounds_Re,factor= 1) sliderbox_ks, self.sld_ks, self.slider_label_ks_value, self.txtbox_ks_u = self.float_slider("Roughness ks/D",self.ks,*self.bounds_ks,factor= 1e4) #sliderbox_alpha,self.sld_alpha,self.slider_label_alpha_value, self.txtbox_Rc_u = self.float_slider("Roughness ks/D",self.ks,*self.bounds_ks,factor= 1e4) @@ -398,7 +398,8 @@ class mainPanel(wx.Panel): print("Flow meter successfully loaded from file") return 1 except Exception as e: - print("flow meter could not be loaded -> it will be calculated for the whole data set, this takes some time " + str(e)) + print(str(e)) + print("flow meter could not be loaded") return 0 def OnClicked_btn_flowmeter(self,e): global fm @@ -407,7 +408,12 @@ class mainPanel(wx.Panel): print("This is your selected Flow Meter:") print(fm.optNames) print(fm.name) - if not self.loadFlowmeter(): + if not self.loadFlowmeter(): + dlg = wx.MessageDialog(None, "Do you want to compute the full Flow meter (this can take a long time) ?",'Flow meter computation',wx.YES_NO | wx.ICON_QUESTION) + result = dlg.ShowModal() + if result != wx.ID_YES: + return + print('Flow meter will be calculated for the whole data set, this takes some time') # calculate the flow meter integrals for all paths distances and curvature radii import time start_time = time.time() @@ -475,7 +481,7 @@ class mainPanel(wx.Panel): fm.setOption3(self.opt3_dropdown.GetValue()) # def OnKeyTyped(self,e): - #print("keyTyped") + # print("keyTyped") obj = e.GetEventObject() if obj.GetValue(): try: @@ -486,17 +492,27 @@ class mainPanel(wx.Panel): self.Re = np.clip(float(self.slider_label_Re_value.GetValue()),*self.bounds_Re) self.ks = np.clip(float(self.slider_label_ks_value.GetValue()),*self.bounds_ks) # set in the clipped values - # self.slider_label_Rc_value.SetValue(self.Rc) - # self.slider_label_dist_value.SetValue(self.dist) - # self.slider_label_phi_value.SetValue(flow.phi[self.phi,0]) - # self.slider_label_Re_value.SetValue(self.Re) + # self.slider_label_dl_value.SetValue(str(self.dl)) + # self.slider_label_Rc_value.SetValue(str(self.Rc)) + # self.slider_label_dist_value.SetValue(str(self.dist)) + # self.slider_label_phi_value.SetValue(str(self.phi*180/pi)) + # self.slider_label_Re_value.SetValue(str(self.Re)) + + # set the slider position + self.sld_dl.SetValue(int(self.dl*1000)) + self.sld_Rc.SetValue(int(self.Rc*1000)) + self.sld_dist.SetValue(int(self.dist)) + self.sld_phi.SetValue(int(self.phi*180/pi)) + self.sld_Re.SetValue(int(self.Re)) + self.sld_ks.SetValue(int(self.ks*1e4)) self.draw() if self.pathint.any(): self.draw_meter() except Exception: print("Please provide a Value for all Flow and Positional Parameters!") + def OnKeyTyped_u(self,e): - #print("keyTyped_u") + # print("keyTyped_u") obj = e.GetEventObject() if obj.GetValue(): try: @@ -509,7 +525,7 @@ class mainPanel(wx.Panel): self.ks_u = float(self.txtbox_ks_u.GetValue()) #self.draw() except Exception: - print("Please provide a Value for all Flow and Positional Parameters!") + print("Please provide a Value for all Uncertainty Parameters!") def OnEnterPressed(self,event): print("Enter pressed") @@ -530,11 +546,13 @@ class mainPanel(wx.Panel): a=1119 def OnSliderScroll_dl(self,e): + # print('OnSliderScroll_dl') obj = e.GetEventObject() self.dl = obj.GetValue()/1000 self.slider_label_dl_value.SetValue(str(self.dl)) #self.draw() def OnSliderScroll_dist(self, e): + # print('OnSliderScroll_dist') obj = e.GetEventObject() self.dist = obj.GetValue() self.slider_label_dist_value.SetValue(str(self.dist)) @@ -608,17 +626,17 @@ class mainPanel(wx.Panel): else: self.fm_mean = np.zeros((len(flow.dist),len(flow.phi))) self.fm_std = np.zeros((len(flow.dist),len(flow.phi))) - print("calculating uncertainty..") + print("calculating uncertainty") print("for the parameters:") print(str([self.Rc,self.dl,self.dist,self.phi])) - print("with the unceraintie:") + print("with the uncertainties:") print(str([self.Rc_u,self.dl_u,self.dist_u,self.phi_u])) fm_mean, fm_std = self.get_uncertainty(self.Rc,self.dl,self.dist,self.phi) # print("Expected value u_dis_path:") - print(fm_mean) + print(str(fm_mean*100) + ' %') print("Standard uncertainty u_dis_path:") - print(fm_std) + print(str(fm_std*100) + ' %') #self.regint_mean = interpol.RegularGridInterpolator((flow.dist,flow.phi[:,0]),self.fm_mean,bounds_error = False,fill_value=None) #self.regint_std = interpol.RegularGridInterpolator((flow.dist,flow.phi[:,0]),self.fm_std,bounds_error = False,fill_value=None) @@ -665,14 +683,14 @@ class mainPanel(wx.Panel): x = flow.phi[:,0] y,y_u = self.interpol_meter(self.Rc,self.dl,self.dist,x) x = x/pi*180 - xlabel = "angle in grad" + xlabel = "angle in degree" # the selected x-value from the sliders x_selected = self.phi/pi*180 # elif plot_over == 3 and flow.case != "SingleElbow": # this is dl x = np.linspace(flow.dl[0],flow.dl[-1],200) y,y_u = self.interpol_meter(self.Rc,x,self.dist,self.phi) - xlabel = "angle in grad" + xlabel = "angle in degree" # the selected x-value from the sliders x_selected = self.dl #