summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Container.py18
-rw-r--r--DockWidgets/__pycache__/DockWidget.cpython-37.pycbin4323 -> 4323 bytes
-rw-r--r--DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-37.pycbin3169 -> 3047 bytes
-rw-r--r--DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-37.pycbin4926 -> 4893 bytes
-rw-r--r--DockWidgets/__pycache__/DockWidgetFlash.cpython-37.pycbin2896 -> 2719 bytes
-rw-r--r--DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pycbin8485 -> 8308 bytes
-rw-r--r--DockWidgets/__pycache__/DockWidgetMixer.cpython-37.pycbin2215 -> 1983 bytes
-rw-r--r--DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-37.pycbin4661 -> 4417 bytes
-rw-r--r--DockWidgets/__pycache__/DockWidgetSplitter.cpython-37.pycbin2733 -> 2501 bytes
-rw-r--r--Graphics.py50
-rw-r--r--Streams.py55
-rw-r--r--ToDoList.txt20
-rw-r--r--Undo.datbin28665 -> 24066 bytes
-rw-r--r--UnitOperations.py37
-rw-r--r--mainApp.py2
15 files changed, 23 insertions, 159 deletions
diff --git a/Container.py b/Container.py
index db8e173..c77d631 100644
--- a/Container.py
+++ b/Container.py
@@ -1,21 +1,10 @@
-from OMChem.Flowsheet import Flowsheet
-from ComponentSelector import *
from collections import defaultdict
-from PyQt5.QtCore import *
-from PyQt5.QtWidgets import *
-from PyQt5.QtGui import *
-from PyQt5.uic import loadUiType
-from PyQt5.QtCore import Qt
-from PyQt5.QtWidgets import QGraphicsProxyWidget, QGraphicsObject, QGraphicsEllipseItem ,QGraphicsPixmapItem,QApplication, QGraphicsView, QGraphicsScene, QHBoxLayout, QWidget, QLabel
-from PyQt5.QtGui import QBrush ,QTransform ,QMouseEvent
-import PyQt5.QtCore as QtCore
-import PyQt5.QtWidgets as QtWidgets
import datetime
-import itertools
-import json
import pickle
import os
-import sys
+
+from OMChem.Flowsheet import Flowsheet
+from ComponentSelector import *
from Graphics import *
class Container():
@@ -157,7 +146,6 @@ class Container():
self.result=self.flowsheet.result_data
print("under Eqn mode simulation")
-
DockWidget.show_result(NodeItem.get_dock_widget())
# for i in self.graphics.scene.items():
diff --git a/DockWidgets/__pycache__/DockWidget.cpython-37.pyc b/DockWidgets/__pycache__/DockWidget.cpython-37.pyc
index 431c298..86045c1 100644
--- a/DockWidgets/__pycache__/DockWidget.cpython-37.pyc
+++ b/DockWidgets/__pycache__/DockWidget.cpython-37.pyc
Binary files differ
diff --git a/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-37.pyc b/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-37.pyc
index ecad97b..08716b1 100644
--- a/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-37.pyc
+++ b/DockWidgets/__pycache__/DockWidgetCompoundSeparator.cpython-37.pyc
Binary files differ
diff --git a/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-37.pyc b/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-37.pyc
index e3b2d9e..55be9b4 100644
--- a/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-37.pyc
+++ b/DockWidgets/__pycache__/DockWidgetDistillationColumn.cpython-37.pyc
Binary files differ
diff --git a/DockWidgets/__pycache__/DockWidgetFlash.cpython-37.pyc b/DockWidgets/__pycache__/DockWidgetFlash.cpython-37.pyc
index 3054328..6828ab1 100644
--- a/DockWidgets/__pycache__/DockWidgetFlash.cpython-37.pyc
+++ b/DockWidgets/__pycache__/DockWidgetFlash.cpython-37.pyc
Binary files differ
diff --git a/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc b/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc
index ddd011b..a8c9f80 100644
--- a/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc
+++ b/DockWidgets/__pycache__/DockWidgetMaterialStream.cpython-37.pyc
Binary files differ
diff --git a/DockWidgets/__pycache__/DockWidgetMixer.cpython-37.pyc b/DockWidgets/__pycache__/DockWidgetMixer.cpython-37.pyc
index 3ca772a..460aa1b 100644
--- a/DockWidgets/__pycache__/DockWidgetMixer.cpython-37.pyc
+++ b/DockWidgets/__pycache__/DockWidgetMixer.cpython-37.pyc
Binary files differ
diff --git a/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-37.pyc b/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-37.pyc
index e1adb56..13f8328 100644
--- a/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-37.pyc
+++ b/DockWidgets/__pycache__/DockWidgetShortcutColumn.cpython-37.pyc
Binary files differ
diff --git a/DockWidgets/__pycache__/DockWidgetSplitter.cpython-37.pyc b/DockWidgets/__pycache__/DockWidgetSplitter.cpython-37.pyc
index bcd36dc..fea33a2 100644
--- a/DockWidgets/__pycache__/DockWidgetSplitter.cpython-37.pyc
+++ b/DockWidgets/__pycache__/DockWidgetSplitter.cpython-37.pyc
Binary files differ
diff --git a/Graphics.py b/Graphics.py
index ba034fb..8d7c220 100644
--- a/Graphics.py
+++ b/Graphics.py
@@ -1,20 +1,10 @@
-from functools import partial
-from collections import defaultdict
-import sys
-import numpy as np
-from OMChem.Flowsheet import Flowsheet
-import pandas as pd
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
-from PyQt5.QtGui import QTextDocument ,QTextCursor ,QTextCharFormat ,QFont ,QPixmap
-from PyQt5.uic import loadUiType
-from PyQt5.QtCore import Qt
-from PyQt5.QtWidgets import QGraphicsProxyWidget, QGraphicsObject, QGraphicsEllipseItem ,QGraphicsPixmapItem,QApplication, QGraphicsView, QGraphicsScene, QHBoxLayout, QWidget, QLabel
-from PyQt5.QtGui import QBrush ,QTransform ,QMouseEvent, QIcon
+from PyQt5.QtGui import *
import PyQt5.QtGui as QtGui
import PyQt5.QtCore as QtCore
import PyQt5.QtWidgets as QtWidgets
-from ComponentSelector import *
+
from DockWidgets.DockWidget import *
from DockWidgets.DockWidgetMaterialStream import *
from DockWidgets.DockWidgetDistillationColumn import *
@@ -25,12 +15,10 @@ from DockWidgets.DockWidgetFlash import *
from DockWidgets.DockWidgetCompoundSeparator import *
from DockWidgets.DockWidgetCompressorExpander import *
-import datetime
-
from Container import *
-import Container
from Streams import *
from UnitOperations import *
+from ComponentSelector import *
class Graphics(QDialog, QtWidgets.QGraphicsItem):
@@ -42,7 +30,6 @@ class Graphics(QDialog, QtWidgets.QGraphicsItem):
self.graphicsView = graphicsView
self.pos = None
self.unit_operations = unit_operations
- # self.node_item_list = []
def get_scene(self):
return self.scene
@@ -51,13 +38,7 @@ class Graphics(QDialog, QtWidgets.QGraphicsItem):
return ComponentSelector(self)
def create_node_item(self,unit_operation, container):
- # node_item = NodeItem(unit_operation, container, self.graphicsView)
- # self.node_item_list.append(node_item)
- # return node_item
return NodeItem(unit_operation, container, self.graphicsView)
-
- # def boundingRect(self):
- # return QtCore.QRectF(self.rect)
def load_canvas(self, obj, container):
stm = ['MaterialStream','EngStm']
@@ -78,16 +59,9 @@ class Graphics(QDialog, QtWidgets.QGraphicsItem):
for i in obj:
if i.type == "MaterialStream":
print(eval(i.type))
- # eval(i.type).counter += 1
- # print(eval(i.type).counter)
elif i.type not in stm:
ip = i.input_stms
op = i.output_stms
- print(ip)
- print(op)
- # print(eval(i.type))
- # eval(i.type).counter += 1
- # print(eval(i.type).counter)
for j in ip:
pointA = NodeItem.get_instances(j.name)
pointB = NodeItem.get_instances(i.name)
@@ -285,17 +259,16 @@ class NodeSocket(QtWidgets.QGraphicsItem):
self.new_line=None
self.other_line=None
- # Brush.
+ # Brush
self.brush = QtGui.QBrush()
self.brush.setStyle(QtCore.Qt.SolidPattern)
- self.brush.setColor(QtGui.QColor(220,220,220,220)) #180,20,90,255
- # Pen.
+ self.brush.setColor(QtGui.QColor(220,220,220,220))
+ # Pen
self.pen = QtGui.QPen()
self.pen.setStyle(QtCore.Qt.SolidLine)
self.pen.setWidth(1)
- self.pen.setColor(QtGui.QColor(0,70,70,255)) #20,20,20,255
-
- # Lines.
+ self.pen.setColor(QtGui.QColor(0,70,70,255))
+ # Lines
self.out_lines = []
self.in_lines = []
@@ -492,9 +465,7 @@ class NodeItem(QtWidgets.QGraphicsItem):
self.dock_widget.hide()
self.pic=QtGui.QPixmap("Icons/"+self.type+".png")
- # self.pic = QIcon("svg/Cooler.svg")
self.rect = QtCore.QRect(0,0,self.pic.width(),self.pic.height())
- # self.rect = QtCore.QRect(0,0,100,100)
self.text = QGraphicsTextItem(self)
f = QFont()
f.setPointSize(8)
@@ -511,7 +482,7 @@ class NodeItem(QtWidgets.QGraphicsItem):
self.brush = QtGui.QBrush()
self.brush.setStyle(QtCore.Qt.SolidPattern)
self.brush.setColor(QtGui.QColor(80,0,90,255))
- # Pen.
+ # Pen
self.pen = QtGui.QPen()
self.pen.setStyle(QtCore.Qt.SolidLine)
self.pen.setWidth(1)
@@ -525,7 +496,6 @@ class NodeItem(QtWidgets.QGraphicsItem):
# initializing the node sockets
self.input , self.output = self.initialize_sockets(self.type)
-
def shape(self):
path = QtGui.QPainterPath()
path.addRect(self.boundingRect())
@@ -541,7 +511,6 @@ class NodeItem(QtWidgets.QGraphicsItem):
else:
painter.setPen(self.pen)
painter.drawPixmap(self.rect,self.pic)
- # painter.drawPixmap(self.rect, self.pic.pixmap(QSize(1000,1000)))
def initialize_sockets(self,type):
if(self.type=="Flash" or self.type=="CompoundSeparator"):
@@ -598,7 +567,6 @@ class NodeItem(QtWidgets.QGraphicsItem):
if j is not None:
default_tooltip = default_tooltip + f" {i} : {j}\n"
self.setToolTip(default_tooltip)
-
def findMainWindow(self):
'''
diff --git a/Streams.py b/Streams.py
index bed975d..2142e8f 100644
--- a/Streams.py
+++ b/Streams.py
@@ -1,8 +1,6 @@
-# from OMPython import OMCSession
-from PyQt5.QtCore import *
import json
import sys
-from collections import defaultdict
+from PyQt5.QtCore import *
class MaterialStream():
counter = 1
@@ -32,7 +30,7 @@ class MaterialStream():
self.modes_list = ["PT","PH","PVF","TVF","PS"]
self.variables = {
- 'P' : {'name':'Pressure', 'value':101325, 'unit':'Pa'}, # {'Pa':1, 'mmHg':0, 'N/m^2':0}},
+ 'P' : {'name':'Pressure', 'value':101325, 'unit':'Pa'},
'T' : {'name':'Temperature', 'value':300, 'unit':'K'},
'xvap' : {'name':'Vapour Phase Mole Fraction', 'value':None, 'unit':'g/s'},
@@ -117,38 +115,21 @@ class MaterialStream():
def param_setter(self,dict):
- print("inside paramsetter ", dict)
-
self.variables['x_pc']['value'] = dict['x_pc'].split(",")
self.thermo_package = dict['Thermo package']
self.variables['F_p[1]']['value'] = dict['MolFlow']
- print("inside")
- # self.Prop[self.mode2] = dict[self.mode2]
- # self.Prop[self.mode1] = dict[self.mode1]
self.variables[self.mode1]['value'] = dict[self.mode1]
self.variables[self.mode2]['value'] = dict[self.mode2]
-
- print(self.variables)
- print(self.variables['x_pc']['value'])
+
for i in range(len(self.compound_names)):
- print('####### x_pc #########\n',self.variables['x_pc']['value'][i])
- print('x_pc')
if self.variables['x_pc']['value'][i]:
self.variables['x_pc[1,'+str(i+1)+']']['value'] = self.variables['x_pc']['value'][i]
else:
self.variables['x_pc[1,'+str(i+1)+']']['value'] = None
- print('xm_pc')
- # if self.variables['xm_pc']['value'][i]:
- # self.variables['xm_pc[1,'+str(i+1)+']']['value'] = self.variables['xm_pc']['value'][i]
- # else:
self.variables['xm_pc[1,'+str(i+1)+']']['value'] = self.variables['xm_pc']['value']
- print('f_pc')
self.variables['F_pc[1,'+str(i+1)+']']['value'] = None
- print('fm_pc')
self.variables['Fm_pc[1,'+str(i+1)+']']['value'] = None
- print('first for')
- print('secnod for')
for i in range(0,len(self.compound_names)):
self.variables['x_pc[2,'+str(i+1)+']']['value'] = None
self.variables['xm_pc[2,'+str(i+1)+']']['value'] = None
@@ -166,22 +147,12 @@ class MaterialStream():
def get_min_eqn_values(self):
x_pclist = []
for i in range(0,len(self.compound_names)):
- #print(self.Prop['x_pc[1,'+str(i+1)+']'])
- #x_pclist.append(self.Prop['x_pc[1,'+str(i+1)+']'])
x_pclist.append(self.variables['x_pc[1,'+str(i+1)+']']['value'])
- print(x_pclist)
- #x_pclist = list(self.Prop(x_pc[1,1)])
x_pc = json.dumps(x_pclist)
- print(x_pc)
x_pc = x_pc.replace('[','{')
x_pc = x_pc.replace(']','}')
x_pc = x_pc.replace('"','')
- '''
- x_pcstr = json.dumps(self.x_pc)
- x_pcstr = x_pcstr.replace('[','{')
- x_pcstr = x_pcstr.replace(']','}')
- x_pcstr = x_pcstr.replace('"','')
- '''
+
if self.variables[self.mode1]['value']:
self.eqn_dict[self.mode1] = self.variables[self.mode1]['value']
if self.variables[self.mode2]['value']:
@@ -191,13 +162,6 @@ class MaterialStream():
if self.variables['F_pc']['value']:
self.eqn_dict['F_p[1]'] = self.variables['F_pc']['value']
- print("##############$GetMinVEqnValuesStart$##################")
- print("P:",self.variables[self.mode1]['value'])
- print("T:",self.variables[self.mode2]['value'])
- print("x_pc",self.variables['x_pc']['value'])
- print("F_p",self.variables['F_p[1]']['value'])
- print("##############$GetMinVEqnValuesEnd$##################")
-
def get_start_values(self):
try:
if self.variables[self.mode1]['value']:
@@ -333,16 +297,13 @@ class MaterialStream():
self.OM_data_init = self.OM_data_init + ("extends Simulator.Files.ThermodynamicPackages."+self.thermo_package+";\n")
self.OM_data_init = self.OM_data_init + ("end ms"+str(self.count)+";\n")
comp_count = len(addedcomp)
- # self.get_start_values()
-
- #self.OM_data_init = "Simulator.Streams.Mat_Stm_RL " + self.name +"(Nc = " + str(comp_count)
+
self.OM_data_init = self.OM_data_init + "ms"+str(self.count) +" " + self.name +"(Nc = " + str(comp_count)
self.OM_data_init = self.OM_data_init + ",C = {"
C = str(addedcomp).strip('[').strip(']')
C = C.replace("'","")
self.OM_data_init = self.OM_data_init + C + "},"
- #for key, value in self.start_dict.items():
- # self.OM_data_init = self.OM_data_init + key + '(start = ' + str(value) + '),'
+
self.OM_data_init = self.OM_data_init[:-1]
self.OM_data_init = self.OM_data_init + ');\n'
return self.OM_data_init
@@ -357,9 +318,7 @@ class MaterialStream():
if method == 'SM':
self.eqn_dict = {}
self.get_min_eqn_values()
- #self.GetEquationValues()
- #self.GetEquationValues()
-
+
for key,value in self.eqn_dict.items():
self.OM_data_eqn = self.OM_data_eqn + self.name + '.'+ key + ' = ' + str(value) + ';\n'
return self.OM_data_eqn
diff --git a/ToDoList.txt b/ToDoList.txt
deleted file mode 100644
index d5ea56d..0000000
--- a/ToDoList.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-Components with Energy Streams
-
-1. Heater
-2. Cooler
-3. CompSep
-4. Pump
-5. Adiabatic Compressor
-6. Adiabatic Expander
-7. Shortcut Column (x2)
-8. Distillation Column (x2)
-9. PFR
-10. Conversion Reactor
-
-Components having Thermo_Packages
-
-1. Adiabatic Compressor
-2. material stream
-3. Shortcut Column
-4. Adiabatic Expander
-5. flash \ No newline at end of file
diff --git a/Undo.dat b/Undo.dat
index b56b18f..80038db 100644
--- a/Undo.dat
+++ b/Undo.dat
Binary files differ
diff --git a/UnitOperations.py b/UnitOperations.py
index 1c98f86..5c53f59 100644
--- a/UnitOperations.py
+++ b/UnitOperations.py
@@ -1,17 +1,8 @@
from OMChem.Flowsheet import Flowsheet
from OMChem.EngStm import EngStm
-from PyQt5.QtCore import *
-from PyQt5.QtWidgets import *
-from PyQt5.QtGui import QTextDocument ,QTextCursor ,QTextCharFormat ,QFont ,QPixmap
-from PyQt5.uic import loadUiType
-from PyQt5.QtCore import Qt
-from PyQt5.QtWidgets import QGraphicsProxyWidget, QGraphicsObject, QGraphicsEllipseItem ,QGraphicsPixmapItem,QApplication, QGraphicsView, QGraphicsScene, QHBoxLayout, QWidget, QLabel
-from PyQt5.QtGui import QBrush ,QTransform ,QMouseEvent
-from PyQt5.QtGui import *
-import PyQt5.QtCore as QtCore
-import PyQt5.QtWidgets as QtWidgets
from ComponentSelector import *
from Container import *
+from PyQt5.QtCore import *
class UnitOperation():
counter = 1
@@ -55,7 +46,6 @@ class UnitOperation():
def param_setter(self,params):
print("param_setter ", params)
for k,v in params.items():
- print(k, v)
if k == 'Thermo Package':
self.thermo_package = v
print('haha')
@@ -65,16 +55,12 @@ class UnitOperation():
else:
self.variables[k]['value'] = v
self.mode_val = params[self.mode]
- print(self.variables)
def add_connection(self,flag,UnitOpr):
if flag==1: # Input stream if flag is 1
self.input_stms.append(UnitOpr)
else :
self.output_stms.append(UnitOpr)
-
- print("input and output stms : ")
- print(self.input_stms, self.output_stms)
def set_pos(self,pos):
self.pos = pos
@@ -121,11 +107,6 @@ class UnitOperation():
C = C.replace("'", "")
self.OM_data_init += ',C = {' + C + '}'
- # if len(self.parameters) > 0:
- # for k,v in self.parameters.items():
- # self.OM_data_init += ', '
- # self.OM_data_init += k + ' = ' + str(v)
-
for k in self.parameters:
if(k == 'HKey_x_pc' or k == 'LKey_x_pc'):
continue
@@ -230,8 +211,6 @@ class ShortcutColumn(UnitOperation):
self.variables['RR']['value'] = params[7]
self.thermo_package = params[8]
- print(self.variables)
-
def OM_Flowsheet_Equation(self):
self.OM_data_eqn = ''
@@ -247,7 +226,6 @@ class ShortcutColumn(UnitOperation):
return self.OM_data_eqn
-
class DistillationColumn(UnitOperation):
def __init__(self,name='DistillationColumn'):
UnitOperation.__init__(self)
@@ -344,7 +322,6 @@ class CompoundSeparator(UnitOperation):
self.variables['SepStrm']['value'] = 1
else:
self.variables['SepStrm']['value'] = 2
-
for index, i in enumerate(range(2, len(params))):
if (i %2 != 0):
self.variables['SepVal_c']['value'].append(float(params[i]))
@@ -384,7 +361,6 @@ class CompoundSeparator(UnitOperation):
return self.OM_data_eqn
-
class Flash(UnitOperation):
def __init__(self,name='Flash'):
UnitOperation.__init__(self)
@@ -408,6 +384,7 @@ class Flash(UnitOperation):
'Tdef' : {'name':'Separation Temperature', 'value':298.15, 'unit':'K'},
'Pdef' : {'name':'Separation Pressure', 'value':101325, 'unit':'Pa'}
}
+
def param_setter(self,params):
print("param_setter ", params)
self.variables['thermo_package']['value'] = params[0]
@@ -415,7 +392,6 @@ class Flash(UnitOperation):
self.variables['Tdef']['value'] = params[2]
self.variables['BPdef']['value'] = params[3]
self.variables['Pdef']['value'] = params[4]
- print(self.variables)
def OM_Flowsheet_Equation(self):
self.OM_data_eqn = ''
@@ -467,7 +443,6 @@ class Splitter(UnitOperation):
self.type = 'Splitter'
self.no_of_outputs = 3
- # self.input_stms = None
self.CalcType_modes = ['Split_Ratio', 'Molar_Flow', 'Mass_Flow']
self.parameters = ['No', 'CalcType', 'SpecVal_s']
@@ -479,7 +454,7 @@ class Splitter(UnitOperation):
'SpecVal_s' : {'name':'Specification Value', 'value':[50,50], 'unit':''}
}
- specval = self.variables['SpecVal_s']['value'] # [50,50]
+ specval = self.variables['SpecVal_s']['value']
self.specval = json.dumps(specval).replace('[','{').replace(']','}')
def param_setter(self,params):
@@ -491,7 +466,6 @@ class Splitter(UnitOperation):
self.variables['SpecVal_s']['unit'] = 'mol/s'
elif self.variables['CalcType']['value'] == 'Mass_Flow':
self.variables['SpecVal_s']['unit'] = 'g/s'
- print(self.variables)
class Mixer(UnitOperation):
@@ -509,15 +483,10 @@ class Mixer(UnitOperation):
'NI' : {'name':'Number of Input', 'value':6, 'unit':''},
'outPress' : {'name':'Outlet Pressure', 'value':'Inlet_Average', 'unit':''},
}
-
- print(self.input_stms)
- print(self.output_stms)
def param_setter(self, params):
- print("param_setter ", params)
self.variables['NI']['value'] = int(params[0])
self.variables['outPress']['value'] = params[1]
- print(self.variables)
class Heater(UnitOperation):
diff --git a/mainApp.py b/mainApp.py
index 78bbd98..e2328dd 100644
--- a/mainApp.py
+++ b/mainApp.py
@@ -47,7 +47,7 @@ class MainApp(QMainWindow,ui):
self.thrd = None
# Creating instances of classes for the main app
- self.container = Container.Container(self.textBrowser, self.graphicsView)
+ self.container = Container(self.textBrowser, self.graphicsView)
self.comp = ComponentSelector(self)
# Setting up interactive canvas