From 781a2ca03807d166498c0d95ef8c62d9ef3404d6 Mon Sep 17 00:00:00 2001 From: pravindalve Date: Fri, 22 May 2020 22:12:43 +0530 Subject: Problem with string parameters in Unit_Operation class and Mixer simulation fixed, gitignore file updated --- .gitignore | 4 ++- Container.py | 6 +++- DockWidgets/DockWidgetMixer.py | 8 +++--- DockWidgets/__pycache__/DockWidget.cpython-37.pyc | Bin 6102 -> 6125 bytes .../DockWidgetCompoundSeparator.cpython-37.pyc | Bin 3164 -> 3187 bytes .../DockWidgetDistillationColumn.cpython-37.pyc | Bin 4181 -> 4204 bytes .../__pycache__/DockWidgetFlash.cpython-37.pyc | Bin 2890 -> 2913 bytes .../DockWidgetMaterialStream.cpython-37.pyc | Bin 8734 -> 8757 bytes .../__pycache__/DockWidgetMixer.cpython-37.pyc | Bin 2207 -> 2233 bytes .../DockWidgetShortcutColumn.cpython-37.pyc | Bin 3359 -> 3382 bytes .../__pycache__/DockWidgetSplitter.cpython-37.pyc | Bin 2741 -> 2764 bytes Graphics.py | 2 +- Simulator/Simulator/UnitOperations/Mixer.mo | 32 ++++++++++----------- Undo.dat | Bin 21175 -> 64582 bytes UnitOperations.py | 13 +++++---- 15 files changed, 36 insertions(+), 29 deletions(-) diff --git a/.gitignore b/.gitignore index 3ee5ad7..7796682 100644 --- a/.gitignore +++ b/.gitignore @@ -8,4 +8,6 @@ Simulator/PlotGraph.mos Simulator/simulateEQN.mos .vscode/settings.json __pycache__/* -.idea/* \ No newline at end of file +.idea/* +DockWidgets/__pycache__/* +undo.dat \ No newline at end of file diff --git a/Container.py b/Container.py index b25f178..26f6250 100644 --- a/Container.py +++ b/Container.py @@ -187,7 +187,11 @@ class Container(): self.result=self.flowsheet.result_data print("under Eqn mode simulation") - DockWidget.show_result(NodeItem.get_dock_widget()) + try: + DockWidget.show_result(NodeItem.get_dock_widget()) + except AttributeError: + print(NodeItem.name + ' does not have dockwidget') + pass def flat_list(lst): flat_lst=[] diff --git a/DockWidgets/DockWidgetMixer.py b/DockWidgets/DockWidgetMixer.py index 47fc2c7..28cbff0 100644 --- a/DockWidgets/DockWidgetMixer.py +++ b/DockWidgets/DockWidgetMixer.py @@ -31,13 +31,13 @@ class DockWidgetMixer(QDockWidget,ui_dialog): try: print("input_params_list ", self.input_dict) - self.l1.setText(self.obj.variables['NOI']['name']+":") - self.le1.setText(str(self.obj.variables['NOI']['value'])) - self.u1.setText(self.obj.variables['NOI']['unit']) + self.l1.setText(self.obj.variables['NI']['name']+":") + self.le1.setText(str(self.obj.variables['NI']['value'])) + self.u1.setText(self.obj.variables['NI']['unit']) for i in self.obj.Pout_modes: self.cb2.addItem(str(i)) - self.l2.setText(self.obj.variables['Pout']['name']+":") + self.l2.setText(self.obj.variables['outPress']['name']+":") self.input_dict = [self.le1, self.cb2] diff --git a/DockWidgets/__pycache__/DockWidget.cpython-37.pyc b/DockWidgets/__pycache__/DockWidget.cpython-37.pyc index deaff73..80d0ae1 100644 Binary files a/DockWidgets/__pycache__/DockWidget.cpython-37.pyc and b/DockWidgets/__pycache__/DockWidget.cpython-37.pyc differ diff --git a/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-37.pyc b/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-37.pyc index c3ea4d1..e5023b1 100644 Binary files a/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-37.pyc and b/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-37.pyc differ diff --git a/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-37.pyc b/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-37.pyc index b97769f..0584a29 100644 Binary files a/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-37.pyc and b/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-37.pyc differ diff --git a/DockWidgets/__pycache__/DockWidgetFlash.cpython-37.pyc b/DockWidgets/__pycache__/DockWidgetFlash.cpython-37.pyc index 87b1ae8..7eaaef7 100644 Binary files a/DockWidgets/__pycache__/DockWidgetFlash.cpython-37.pyc and b/DockWidgets/__pycache__/DockWidgetFlash.cpython-37.pyc differ diff --git a/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc b/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc index 343972c..a99f092 100644 Binary files a/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc and b/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc differ diff --git a/DockWidgets/__pycache__/DockWidgetMixer.cpython-37.pyc b/DockWidgets/__pycache__/DockWidgetMixer.cpython-37.pyc index 5a35c8d..52a0ca1 100644 Binary files a/DockWidgets/__pycache__/DockWidgetMixer.cpython-37.pyc and b/DockWidgets/__pycache__/DockWidgetMixer.cpython-37.pyc differ diff --git a/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-37.pyc b/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-37.pyc index 35ac54e..85449f8 100644 Binary files a/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-37.pyc and b/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-37.pyc differ diff --git a/DockWidgets/__pycache__/DockWidgetSplitter.cpython-37.pyc b/DockWidgets/__pycache__/DockWidgetSplitter.cpython-37.pyc index dc7cf1f..19250d9 100644 Binary files a/DockWidgets/__pycache__/DockWidgetSplitter.cpython-37.pyc and b/DockWidgets/__pycache__/DockWidgetSplitter.cpython-37.pyc differ diff --git a/Graphics.py b/Graphics.py index 9a8c575..0fa3306 100644 --- a/Graphics.py +++ b/Graphics.py @@ -466,7 +466,7 @@ class NodeItem(QtWidgets.QGraphicsItem): if ok and text: self.nin = int(text) self.obj.no_of_inputs = self.nin - self.obj.variables['NOI']['value'] = self.nin + self.obj.variables['NI']['value'] = self.nin elif self.obj.type == 'Splitter': text, ok = QInputDialog.getText(self.container.graphicsView, 'Splitter', 'Enter number of output:') if ok and text: diff --git a/Simulator/Simulator/UnitOperations/Mixer.mo b/Simulator/Simulator/UnitOperations/Mixer.mo index 1be69eb..ae0a1d9 100644 --- a/Simulator/Simulator/UnitOperations/Mixer.mo +++ b/Simulator/Simulator/UnitOperations/Mixer.mo @@ -26,9 +26,9 @@ model Mixer "Model of a mixer to mix multiple material streams" Real xout_c[Nc](each unit = "-", each min = 0, each max = 1, start = xguess) "Outlet stream component mol fraction"; //================================================================================ // Files.Interfaces.matConn inlet[NI](each Nc = Nc); - Simulator.Files.Interfaces.matConn outlet(Nc = Nc) annotation( + Simulator.Files.Interfaces.matConn Out(Nc = Nc) annotation( Placement(visible = true, transformation(origin = {100, -2}, extent = {{-10, -10}, {10, 10}}, rotation = 0), iconTransformation(origin = {100, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); - Simulator.Files.Interfaces.matConn inlet[NI](each Nc = Nc) annotation( + Simulator.Files.Interfaces.matConn In[NI](each Nc = Nc) annotation( Placement(visible = true, transformation(origin = {-100, -2}, extent = {{-10, -10}, {10, 10}}, rotation = 0), iconTransformation(origin = {-100, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); extends GuessModels.InitialGuess; @@ -36,21 +36,21 @@ model Mixer "Model of a mixer to mix multiple material streams" equation //Connector equation for i in 1:NI loop - inlet[i].P = Pin[i]; - inlet[i].T = Tin_s[i]; - inlet[i].F = Fin_s[i]; - inlet[i].H = Hin_s[i]; - inlet[i].S = Sin_s[i]; - inlet[i].x_pc[1, :] = xin_sc[i, :]; - inlet[i].xvap = xvapin_s[i]; + In[i].P = Pin[i]; + In[i].T = Tin_s[i]; + In[i].F = Fin_s[i]; + In[i].H = Hin_s[i]; + In[i].S = Sin_s[i]; + In[i].x_pc[1, :] = xin_sc[i, :]; + In[i].xvap = xvapin_s[i]; end for; - outlet.P = Pout; - outlet.T = Tout; - outlet.F = Fout; - outlet.H = Hout; - outlet.S = Sout; - outlet.x_pc[1, :] = xout_c[:]; - outlet.xvap = xvapout; + Out.P = Pout; + Out.T = Tout; + Out.F = Fout; + Out.H = Hout; + Out.S = Sout; + Out.x_pc[1, :] = xout_c[:]; + Out.xvap = xvapout; //=================================================================================== //Output Pressure if outPress == "Inlet_Minimum" then diff --git a/Undo.dat b/Undo.dat index 0057dd0..9adaab5 100644 Binary files a/Undo.dat and b/Undo.dat differ diff --git a/UnitOperations.py b/UnitOperations.py index 0b3f664..006c015 100644 --- a/UnitOperations.py +++ b/UnitOperations.py @@ -130,7 +130,8 @@ class UnitOperation(): for k in self.parameters: self.OM_data_init += ', ' - self.OM_data_init += k + ' = ' + str(self.variables[k]['value']) + self.OM_data_init += k + ' = ' + ('"' + self.variables[k]['value'] + '"' if isinstance(self.variables[k]['value'], str) + else str(self.variables[k]['value'])) self.OM_data_init += ');\n' return self.OM_data_init @@ -410,21 +411,21 @@ class Mixer(UnitOperation): self.no_of_inputs = 6 self.Pout_modes = ['Inlet Minimum', 'Inlet Average', 'Inlet Maximum'] - self.parameters = ['NOI', 'Pout'] + self.parameters = ['NI', 'outPress'] # self.output_stms = None type(self).counter += 1 self.variables = { - 'NOI' : {'name':'Number of Input', 'value':6, 'unit':''}, - 'Pout' : {'name':'Outlet Pressure', 'value':'Inlet_Average', 'unit':''}, + 'NI' : {'name':'Number of Input', 'value':6, 'unit':''}, + 'outPress' : {'name':'Outlet Pressure', 'value':'Inlet_Average', 'unit':''}, } def param_setter(self, params): print(self.input_stms, self.output_stms) self.output_stms = [] print(self.input_stms, self.output_stms) print("param_setter ", params) - self.variables['NOI']['value'] = int(params[0]) - self.variables['Pout']['value'] = params[1] + self.variables['NI']['value'] = int(params[0]) + self.variables['outPress']['value'] = params[1] print(self.variables) -- cgit