summaryrefslogtreecommitdiff
path: root/OMChem
diff options
context:
space:
mode:
Diffstat (limited to 'OMChem')
-rw-r--r--OMChem/CompSep.py72
-rw-r--r--OMChem/ConvReactor.py44
-rw-r--r--OMChem/Cooler.py76
-rw-r--r--OMChem/DistCol.py106
-rw-r--r--OMChem/EngStm.py18
-rw-r--r--OMChem/Flash.py57
-rw-r--r--OMChem/Flowsheet.py306
-rw-r--r--OMChem/Heater.py79
-rw-r--r--OMChem/Mixer.py58
-rw-r--r--OMChem/Pump.py66
-rw-r--r--OMChem/ShortcutColumn.py88
-rw-r--r--OMChem/Splitter.py61
-rw-r--r--OMChem/Valve.py61
-rw-r--r--OMChem/adiabatic_comp.py70
-rw-r--r--OMChem/adiabatic_exp.py70
-rw-r--r--OMChem/setup.py54
16 files changed, 0 insertions, 1286 deletions
diff --git a/OMChem/CompSep.py b/OMChem/CompSep.py
deleted file mode 100644
index 9579498..0000000
--- a/OMChem/CompSep.py
+++ /dev/null
@@ -1,72 +0,0 @@
-from OMChem.EngStm import EngStm
-import json
-class CompSep():
- counter = 1
- def __init__(self,CompNames = [],name='CompSep',SepFact=['Molar_Flow','Mass_Flow'],SepStrm=1,SepFactValue=[]):
- self.SepFact = json.dumps(SepFact).replace('[','{').replace(']','}')
- self.SepStrm = str(SepStrm)
- self.SepFactValue = json.dumps(SepFactValue).replace('[','{').replace(']','}')
- #self.name = name
- self.OM_data_eqn = ''
- self.OM_data_init = ''
- self.InputStms = []
- self.OutputStms = []
- self.type = 'CompSep'
- self.EngStms = EngStm(name='EngStm')
-
- # new
- self.name = name + str(CompSep.counter)
- self.no_of_input = 1
- self.no_of_output = 2
- CompSep.counter += 1
-
- def getname(self):
- return self.name
-
- def modesList(self):
- return []
-
- def paramgetter(self,mode=None):
- dict = {"SepStrm":None,"SepFactValue":None,"SepFact":None}
- return dict
-
- def paramsetter(self,dict):
- self.SepStrm = dict['SepStrm']
- self.SepFactValue = dict['SepFactValue']
- self.SepFact = dict['SepFact']
-
- def OM_Flowsheet_Init(self, addedcomp):
- self.OM_data_init = ''
- comp_count = len(addedcomp)
- self.OM_data_init = self.OM_data_init + 'Simulator.Streams.Energy_Stream '+self.EngStms.name+';\n'
- self.OM_data_init = self.OM_data_init + (
- "Simulator.Unit_Operations.Compound_Separator " + self.name + "(Nc = " + str(comp_count))
- self.OM_data_init = self.OM_data_init + (",comp = {")
- comp = str(addedcomp).strip('[').strip(']')
- comp = comp.replace("'", "")
- self.OM_data_init = self.OM_data_init + comp + ("},")
- self.OM_data_init = self.OM_data_init + ("sepFact = "+self.SepFact+",sepStrm = " + self.SepStrm + ", sepFactVal = " + self.SepFactValue + ");\n")
-
- return self.OM_data_init
-
- def connect(self,InputStms = None,OutputStms = []):
- self.InputStms = InputStms
- self.OutputStms = OutputStms
-
- def OM_Flowsheet_Eqn(self, addedcomp):
- self.OM_data_eqn = ''
- comp_count = len(addedcomp)
- strcount = 1
- self.OM_data_eqn = self.OM_data_eqn + ('connect(' + self.InputStms[0].name + '.outlet,' + self.name + '.inlet' + ');\n')
-
- for strm in self.OutputStms:
- self.OM_data_eqn = self.OM_data_eqn + ('connect(' + strm.name + '.inlet,' + self.name + '.outlet'+str(strcount)+');\n')
- strcount += 1
-
- self.OM_data_eqn = self.OM_data_eqn + ('connect(' + self.EngStms.name + '.outlet,' + self.name + '.energy);\n')
- sepFac = str(self.SepFactValue).strip('[').strip(']')
-
- self.OM_data_eqn = self.OM_data_eqn + (self.name+'.sepFactVal= {'+ sepFac + '};\n')
-
- return self.OM_data_eqn
-
diff --git a/OMChem/ConvReactor.py b/OMChem/ConvReactor.py
deleted file mode 100644
index ccdf524..0000000
--- a/OMChem/ConvReactor.py
+++ /dev/null
@@ -1,44 +0,0 @@
-import json
-from OMChem.EngStm import EngStm
-class ConvReactor():
- def __init__(self,name='',Nr=None,b=None,X=None,Z=None,a=[],operation=None,Tdef=None):
- self.Nr = str(Nr)
- self.b = str(b)
- self.X = str(X)
- self.Z = str(Z)
- self.a = json.dumps(a).replace('[','{').replace(']','}')
- self.operation = str(operation)
- self.name = name
- self.OM_data_eqn = ''
- self.OM_data_init = ''
- self.InputStms = []
- self.OutputStms = []
- self.Tdef = str(Tdef)
-
- self.type = 'ConvReactor'
- self.EngStms = EngStms(name="EngStm")
-
- def OM_Flowsheet_Init(self, addedcomp):
- self.OM_data_init = ''
- comp_count = len(addedcomp)
- self.OM_data_init = self.OM_data_init + 'Simulator.Streams.Energy_Stream '+self.EngStms.name+';\n'
- self.OM_data_init = self.OM_data_init + ( "Simulator.Unit_Operations.ConversionReactor " + self.name + "(Nr = " + self.Nr + ',b = ' + self.b + ',X = ' + self.X + ',Z = ' + self.Z + ',a = ' + self.a + ',operation = ' + self.operation + ',Tdef = ' + self.Tdef + ');\n')
- return self.OM_data_init
-
- def connect(self,InputStms = None,OutputStms = None):
- self.InputStms = InputStms
- self.OutputStms = OutputStms
-
-
- def OM_Flowsheet_Eqn(self, addedcomp):
- self.OM_data_eqn = ''
- comp_count = len(addedcomp)
- strcount = 1
- self.OM_data_eqn = self.OM_data_eqn + ('connect(' + self.InputStms[0].name + '.outlet,' + self.name + '.inlet' + ');\n')
-
- self.OM_data_eqn = self.OM_data_eqn + ('connect(' + self.OutputStms[0].name + '.inlet,' + self.name + '.outlet);\n')
-
-
- self.OM_data_eqn = self.OM_data_eqn + ('connect(' + self.EngStms.name + '.inlet,' + self.name + '.EnergyStream);\n')
-
- return self.OM_data_eqn
diff --git a/OMChem/Cooler.py b/OMChem/Cooler.py
deleted file mode 100644
index 9a44033..0000000
--- a/OMChem/Cooler.py
+++ /dev/null
@@ -1,76 +0,0 @@
-from OMChem.EngStm import EngStm
-class Cooler():
- counter = 1
- def __init__(self,name='Cooler',PressureDrop = None, eff = None):
- self.PressureDrop = PressureDrop
- self.eff = eff
- # self.name = name
- self.OM_data_eqn = ''
- self.OM_data_init = ''
- self.InputStms = None
- self.OutputStms = None
- #self.heatRem = heatRem
- self.EngStms = EngStm(name='EngStm')
- self.type = 'Cooler'
- self.mode = None
- self.modeVal = None
-
- self.Prop = {
- 'pressDrop':None,
- 'eff':None,
- 'outT':None,
- 'tempDrop':None,
- 'heatRem':None,
- }
- # new
- self.name = name + str(Cooler.counter)
- self.no_of_input = 1
- self.no_of_output = 1
- Cooler.counter += 1
-
- def getname(self):
- return self.name
-
- def connect(self,InputStms = None,OutputStms = None):
- self.InputStms = InputStms
- self.OutputStms = OutputStms
-
- def modesList(self):
- return ["heatRem","outT","outVapPhasMolFrac","tempDrop","enFlo"]
-
- def paramgetter(self,mode="heatRem"):
- self.mode = mode
- dict = {"PressureDrop":None,"eff":None,self.mode:None}
- return dict
-
- def paramsetter(self,dict):
-
- self.PressureDrop = dict['PressureDrop']
- self.eff = dict['eff']
- self.modeVal = dict[self.mode]
-
- def OM_Flowsheet_Init(self, addedcomp):
- self.OM_data_init = ''
- comp_count = len(addedcomp)
- self.OM_data_init = self.OM_data_init + 'Simulator.Streams.Energy_Stream '+self.EngStms.name+';\n'
- self.OM_data_init = self.OM_data_init + (
- "Simulator.Unit_Operations.Cooler " + self.name + "(Nc = " + str(comp_count))
- self.OM_data_init = self.OM_data_init + (",comp = {")
- comp = str(addedcomp).strip('[').strip(']')
- comp = comp.replace("'", "")
- self.OM_data_init = self.OM_data_init + comp + ("},")
- self.OM_data_init = self.OM_data_init + 'pressDrop = ' + str(self.PressureDrop) + ','
- self.OM_data_init = self.OM_data_init + 'eff = ' + str(self.eff) + ');\n'
- return self.OM_data_init
-
- def OM_Flowsheet_Eqn(self, addedcomp):
- self.OM_data_eqn = ''
- # self.OM_data_eqn = self.name + '.pressDrop = ' + str(self.PressDrop) + ';\n'
- self.OM_data_eqn = self.OM_data_eqn + ('connect(' + self.InputStms[0].name + '.outlet,' + self.name + '.inlet' + ');\n')
- self.OM_data_eqn = self.OM_data_eqn + ('connect(' + self.name + '.outlet,' + self.OutputStms[0].name + '.inlet);\n')
- self.OM_data_eqn = self.OM_data_eqn + ('connect(' + self.EngStms.name + '.outlet,'+ self.name + '.energy);\n')
- if(self.mode =="enFlo"):
- self.OM_data_eqn = self.OM_data_eqn + (self.EngStms.name+'.'+self.mode+'='+ self.modeVal + ';\n')
- else:
- self.OM_data_eqn = self.OM_data_eqn + (self.name+'.'+self.mode+'='+ self.modeVal + ';\n')
- return self.OM_data_eqn \ No newline at end of file
diff --git a/OMChem/DistCol.py b/OMChem/DistCol.py
deleted file mode 100644
index 1492bc2..0000000
--- a/OMChem/DistCol.py
+++ /dev/null
@@ -1,106 +0,0 @@
-from OMChem.EngStm import EngStm
-class DistCol():
- counter = 1
- def __init__(self,name='DistCol', numStage = None,numFeeds = None,feedStages = None):
- self.numStage = numStage
- self.numFeeds=numFeeds
- self.feedStages=feedStages
- #self.name = name[0]
- self.name = name + str(DistCol.counter)
- self.OM_data_eqn = ''
- self.OM_data_init = ''
- self.InputStms = None
- self.OutputStms = None
- self.EngStm1 = EngStm(name='EngStm1'+self.name)
- self.EngStm2 = EngStm(name='EngStm2'+self.name)
- #self.count = name[1]
- self.count = DistCol.counter
- self.thermoPackage='Raoults_Law'
- self.type = 'DistCol'
- self.mode = None
- self.condType=''
- self.modeVal = None
- self.condP=None
- self.rebP=None
-
- # new
- self.no_of_input = 2
- self.no_of_output = 2
- DistCol.counter += 1
-
- def getname(self):
- return self.name
-
- def connect(self,InputStms = None,OutputStms = None):
- self.InputStms = InputStms
- self.OutputStms = OutputStms
-
- def modesList(self):
- return ["refluxRatio","sideDrawMolFlo","T"]
-
- def paramgetter(self,mode="refluxRatio"):
- self.mode=mode
- dict = { "numStage" : None,"numFeeds" :None,"feedStages" :None,"thermoPackage":None,"condType":None,self.mode:None,"condensor.P":None,"reboiler.P":None}
- return dict
-
- def paramsetter(self,dict):
- self.numStage = dict["numStage"]
- self.numFeeds = dict["numFeeds"]
- self.feedStages = dict["feedStages"].split(",")
- self.modeVal=dict[self.mode]
- self.condP=dict["condensor.P"]
- self.rebP=dict["reboiler.P"]
- self.condType=dict["condType"]
-
- def OM_Flowsheet_Init(self, addedcomp):
- self.OM_data_init = ''
- self.OM_data_init = self.OM_data_init + 'model Condensor\n'
- self.OM_data_init = self.OM_data_init + 'extends Simulator.Unit_Operations.Distillation_Column.Cond;\n'
- self.OM_data_init = self.OM_data_init + 'extends Simulator.Files.Thermodynamic_Packages.'+self.thermoPackage+';\n'
- self.OM_data_init = self.OM_data_init + 'end Condensor;\n'
- self.OM_data_init = self.OM_data_init + 'model Tray\n'
- self.OM_data_init = self.OM_data_init + 'extends Simulator.Unit_Operations.Distillation_Column.DistTray;\n'
- self.OM_data_init = self.OM_data_init + 'extends Simulator.Files.Thermodynamic_Packages.'+self.thermoPackage+';\n'
- self.OM_data_init = self.OM_data_init + 'end Tray;\n'
- self.OM_data_init = self.OM_data_init + 'model Reboiler\n'
- self.OM_data_init = self.OM_data_init + 'extends Simulator.Unit_Operations.Distillation_Column.Reb;\n'
- self.OM_data_init = self.OM_data_init + 'extends Simulator.Files.Thermodynamic_Packages.'+self.thermoPackage+';\n'
- self.OM_data_init = self.OM_data_init + 'end Reboiler;\n'
- self.OM_data_init = self.OM_data_init + ("model distCol"+str(self.count)+"\n")
- self.OM_data_init = self.OM_data_init + ("extends Simulator.Unit_Operations.Distillation_Column.DistCol;\n" )
- self.OM_data_init = self.OM_data_init + ("Condensor condensor(Nc = Nc, comp = comp, condType =condType, boolFeed = boolFeed[1], T(start = 300));\n" )
- self.OM_data_init = self.OM_data_init + ("Reboiler reboiler(Nc = Nc, comp = comp, boolFeed = boolFeed[noOfStages]);\n" )
- self.OM_data_init = self.OM_data_init + ("Tray tray[noOfStages - 2](each Nc = Nc, each comp = comp, boolFeed = boolFeed[2:noOfStages -1]);\n" )
- self.OM_data_init = self.OM_data_init + ("end distCol"+str(self.count)+";\n")
- comp_count = len(addedcomp)
- self.OM_data_init = self.OM_data_init + (
- "distCol"+str(self.count)+" "+ self.name + "(Nc = " + str(comp_count))
- self.OM_data_init = self.OM_data_init + (",comp = {")
- comp = str(addedcomp).strip('[').strip(']')
- comp = comp.replace("'", "")
- self.feedStages=str(self.feedStages).strip('[').strip(']')
- self.feedStages = self.feedStages.replace("'", "")
- self.OM_data_init = self.OM_data_init + comp + ("},")+("noOfStages="+self.numStage+","+"noOfFeeds="+self.numFeeds+",feedStages="+"{"+self.feedStages+"}"+",condensor.condType="+"\""+self.condType+"\""+");\n")
- self.OM_data_init = self.OM_data_init + 'Simulator.Streams.Energy_Stream '+self.EngStm1.name+';\n'
- self.OM_data_init = self.OM_data_init + 'Simulator.Streams.Energy_Stream '+self.EngStm2.name+';\n'
- return self.OM_data_init
-
- def OM_Flowsheet_Eqn(self, addedcomp):
- self.OM_data_eqn = ''
- # self.OM_data_eqn = self.name + '.pressDrop = ' + str(self.PressDrop) + ';\n'
- self.OM_data_eqn = self.OM_data_eqn + ('connect('+self.name+'.'+'condensor_duty'+','+ self.EngStm1.name+'.inlet);\n')
- self.OM_data_eqn = self.OM_data_eqn + ('connect('+self.name+'.reboiler_duty'+', '+self.EngStm2.name+'.inlet);\n')
- self.OM_data_eqn = self.OM_data_eqn + ('connect('+self.name+'.distillate'+", "+self.OutputStms[0].name+'.inlet);\n')
- self.OM_data_eqn = self.OM_data_eqn + ('connect('+self.name+'.bottoms'+", "+self.OutputStms[1].name+'.inlet);\n')
- for i in range(len(self.InputStms)):
- self.OM_data_eqn = self.OM_data_eqn + ('connect('+self.InputStms[i].name+'.outlet'+", "+self.name+'.feed['+str(i+1)+']);\n')
- self.OM_data_eqn = self.OM_data_eqn + (self.OutputStms[1].name+'.'+'totMolFlow[1] = '+str(self.OutputStms[1].Prop['totMolFlo[1]'])+';\n')
- if self.mode=="refluxRatio":
- self.OM_data_eqn = self.OM_data_eqn + (self.name+'.'+str(self.mode)+'='+ str(self.modeVal) + ';\n')
- else:
- self.OM_data_eqn = self.OM_data_eqn + (self.name+'.condensor.'+self.mode+'='+ str(self.modeVal) + ';\n')
-
- self.OM_data_eqn = self.OM_data_eqn + self.name +'.reboiler.P='+self.rebP+';\n'
- self.OM_data_eqn = self.OM_data_eqn + self.name +'.condensor.P='+self.condP+';\n'
- return self.OM_data_eqn
-
diff --git a/OMChem/EngStm.py b/OMChem/EngStm.py
deleted file mode 100644
index cf938ad..0000000
--- a/OMChem/EngStm.py
+++ /dev/null
@@ -1,18 +0,0 @@
-
-class EngStm():
-
- def __init__(self,name = 'Engstm'):
- self.name = name
- self.type = 'EngStm'
- self.OM_data_init = ''
- self.OM_data_eqn = ''
-
-
- def OM_Flowsheet_Init(self,addedcomp):
- self.OM_data_init = ''
- self.OM_data_init = self.OM_data_init + 'Simulator.Streams.Energy_Stream '+self.name+';\n'
- return self.OM_data_init
-
- def OM_Flowsheet_Eqn(self,addedcomp):
- self.OM_data_eqn = ''
- return self.OM_data_eqn
diff --git a/OMChem/Flash.py b/OMChem/Flash.py
deleted file mode 100644
index a3bf5dc..0000000
--- a/OMChem/Flash.py
+++ /dev/null
@@ -1,57 +0,0 @@
-class Flash():
- counter = 1
- def __init__(self,name='Flash'):
- #self.name = name[0]
- self.OM_data_eqn = ''
- self.OM_data_init = ''
- self.InputStms = None
- self.OutputStms = None
- self.type = 'flash'
- #self.count = name[1]
- self.count = Flash.counter
- self.thermoPackage =None
-
- # new
- self.name = name + str(Flash.counter)
- self.no_of_input = 1
- self.no_of_output = 2
- Flash.counter += 1
-
- def getname(self):
- return self.name
-
- def connect(self,InputStms = None,OutputStms = None):
- self.InputStms = InputStms
- self.OutputStms = OutputStms
-
- def modesList(self):
- return []
-
- def paramgetter(self,mode=None):
- dict = {"thermoPackage":None}
- return dict
- def paramsetter(self,dict):
- self.thermoPackage = dict['thermoPackage']
-
- def OM_Flowsheet_Init(self, addedcomp):
- self.OM_data_init = ''
- self.OM_data_init = self.OM_data_init + ("model fls"+str(self.count)+"\n")
- self.OM_data_init = self.OM_data_init + ("extends Simulator.Unit_Operations.Flash;\n" )
- self.OM_data_init = self.OM_data_init + ("extends Simulator.Files.Thermodynamic_Packages."+self.thermoPackage+";\n")
- self.OM_data_init = self.OM_data_init + ("end fls"+str(self.count)+";\n")
- comp_count = len(addedcomp)
- self.OM_data_init = self.OM_data_init + (
- "fls"+str(self.count)+" "+ self.name + "(Nc = " + str(comp_count))
- self.OM_data_init = self.OM_data_init + (",comp = {")
- comp = str(addedcomp).strip('[').strip(']')
- comp = comp.replace("'", "")
- self.OM_data_init = self.OM_data_init + comp + ("});\n")
- return self.OM_data_init
-
- def OM_Flowsheet_Eqn(self, addedcomp):
- self.OM_data_eqn = ''
- comp_count = len(addedcomp)
- self.OM_data_eqn = self.OM_data_eqn + ('connect(' + self.InputStms[0].name + '.outlet,' + self.name + '.feed' + ');\n')
- self.OM_data_eqn = self.OM_data_eqn + ('connect(' + self.name + '.vapor,' + self.OutputStms[0].name + '.inlet);\n')
- self.OM_data_eqn = self.OM_data_eqn + ('connect(' + self.name + '.liquid,' + self.OutputStms[1].name + '.inlet);\n')
- return self.OM_data_eqn \ No newline at end of file
diff --git a/OMChem/Flowsheet.py b/OMChem/Flowsheet.py
deleted file mode 100644
index f47c203..0000000
--- a/OMChem/Flowsheet.py
+++ /dev/null
@@ -1,306 +0,0 @@
-import os
-import csv
-from subprocess import Popen, PIPE
-import pandas as pd
-
-class Flowsheet():
- def __init__(self):
- self.sim_name = 'Simulator'
- self.sim_method = ''
- self.unit_operations = []
- self.data = []
- self.compounds = []
- self.interface = ''
- self.omc_path = None
- self.root_dir = os.getcwd() # Chemical-Simulator-GUI
- self.sim_dir_path = os.path.join(self.root_dir, self.sim_name) # Chemical-Simulator-GUI/Simulator
- self.Flomo_path = os.path.join(self.sim_dir_path,'Flowsheet.mo')
- self.eqn_mos_path = os.path.join(self.sim_dir_path,'simulateEQN.mos')
- self.sm_mos_path = os.path.join(self.sim_dir_path,'simulateSM.mos')
- self.result_data = []
- self.stdout=None
- self.stderr=None
-
- def get_omc_path(self,msg):
- try:
- self.omhome = os.environ.get('OPENMODELICAHOME')
- if self.omhome is None:
- self.omhome = os.path.split(os.path.split(os.path.realpath(spawn.find_executable("omc")))[0])[0]
- elif os.path.exists('/opt/local/bin/omc'):
- self.omhome = '/opt/local'
- elif os.path.exists('/usr/bin/omc'):
- self.omhome = '/usr'
- return os.path.join(self.omhome, 'bin', 'omc')
- except BaseException:
- msg.parent().parent().parent().container.disableInterfaceforSimulation(False)
- msg.append("<span style=\"color:red\"><b>Installation Error : </b>The OpenModelica compiler is missing in the System path please install it.</span>")
- print("The OpenModelica compiler is missing in the System path please install it" )
- raise
-
- def add_unit_operations(self,unitop):
- self.unit_operations.append(unitop)
-
- def remove_unit_operations(self,unitop):
- self.unit_operations.remove(unitop)
-
- def add_compound_list(self,C):
- self.compounds = C
-
- def send_for_simulation_Eqn(self,msg):
- self.result_data = []
- self.omc_path = self.get_omc_path(msg)
- #print(self.omc_path)
-
- if self.sim_method == 'Eqn':
- simpath = self.eqn_mos_path
- os.chdir(self.sim_dir_path)
-
- self.process = Popen([self.omc_path, '-s',simpath], stdout=PIPE, stderr=PIPE)
- self.stdout, self.stderr = self.process.communicate()
-
- os.chdir(self.root_dir)
- if ('timeSimulation = 0.0,\n' in self.stdout.decode("utf-8")):
- self.result_data = []
- else:
- csvpath = os.path.join(self.sim_dir_path,'Flowsheet_res.csv')
- with open (csvpath,'r') as resultFile:
- self.result_data = []
- csvreader = csv.reader(resultFile,delimiter=',')
- for row in csvreader:
- self.result_data.append(row)
-
- def send_for_simulation_SM(self,unitop):
- self.result_data = []
- self.omc_path = self.get_omc_path()
- os.chdir(self.sim_dir_path)
- self.process = Popen([self.omc_path, '-s',unitop.name,'.mos'], stdout=PIPE, stderr=PIPE)
- stdout, stderr = self.process.communicate()
- # print("############### StdOut ################")
- # print(stdout)
- self.result_data = []
- print('Simulating '+unitop.name+'...')
- csvpath = os.path.join(self.sim_dir_path,unitop.name+'_res.csv')
- with open(csvpath,'r') as resultFile:
- csvreader = csv.reader(resultFile,delimiter=',')
- for row in csvreader:
- self.result_data.append(row)
- self.ext_data()
-
- def ext_data(self):
- for unit in self.unit_operations:
- if unit[0].type == 'MaterialStream':
- for key, value in unit[0].Prop.items():
- property_name = unit[0].name + '.' + key
- if property_name in self.result_data[0]:
- ind = self.result_data[0].index(property_name)
- resultval = str(self.result_data[-1][ind])
- unit[0].Prop[key] = resultval
-
- def simulate_EQN(self,msg):
- self.data = []
- self.sim_method = 'Eqn'
- self.data.append("model Flowsheet\n")
-
- tempCompounds = self.compounds
- for c in tempCompounds:
- CompName = c
- CompName = CompName.replace(" ", "")
- CompName = CompName.replace("-", "")
- CompName = CompName.replace(",", "")
- CompName = CompName.replace("1", "One")
- CompName = CompName.replace("2", "Two")
- CompName = CompName.replace("3", "Three")
- CompName = CompName.replace("4", "Four")
- CompName = CompName.replace("5", "Five")
- self.data.append("parameter database." + CompName +' '+ CompName + "; \n")
- tempCompounds[tempCompounds.index(c)] = CompName
-
- self.data.append("parameter Integer Nc = " + str(len(tempCompounds)) + ";\n")
- self.data.append("parameter Simulator.Files.ChemsepDatabase.GeneralProperties C[Nc] = {" +
- str(tempCompounds).strip('[').strip(']').replace("'", "") + "};\n")
-
- for unitop in self.unit_operations:
- if unitop.type != 'MaterialStream':
- self.data.append(unitop.OM_Flowsheet_Initialize())
- else:
- self.data.append(unitop.OM_Flowsheet_Initialize(self.compounds))
-
- self.data.append("equation\n")
-
- self.outlist = []
- self.stm = ['MaterialStream','EngStm']
- for unitop in self.unit_operations:
- if unitop.type not in self.stm:
- for j in unitop.output_stms.values():
- self.outlist.append(j)
-
- for unitop in self.unit_operations:
- if unitop not in self.outlist:
- if unitop.type == 'MaterialStream':
- self.data.append(unitop.OM_Flowsheet_Equation(self.compounds,'Eqn'))
- else:
- self.data.append(unitop.OM_Flowsheet_Equation())
- else:
- pass
- with open(self.Flomo_path, 'w') as txtfile:
- for d in self.data:
- txtfile.write(str(d))
- txtfile.write('end Flowsheet;\n')
- #print(self.eqn_mos_path)
- with open(self.eqn_mos_path, 'w') as mosFile:
- mosFile.write('loadModel(Modelica);\n')
- mosFile.write('loadFile(\"Simulator/package.mo\");\n')
- mosFile.write('loadFile(\"database.mo\");\n')
- mosFile.write('loadFile(\"Flowsheet.mo\");\n')
- mosFile.write('simulate(Flowsheet, outputFormat=\"csv\", stopTime=1.0, numberOfIntervals=1);\n')
-
- #print('Initiating Simulation in Equation Oriented Mode')
-
- self.send_for_simulation_Eqn(msg)
-
- def simulate_SM(self,ip,op):
- self.sim_method = 'SM'
- self.data = []
- self.result_data = []
- self.unit = []
- self.csvlist = []
-
- for i in ip:
- common = ip[i]
-
- for k,v in op.items():
- if(set(v) & set(common)):
- if((i in self.unit) and (k in self.unit)):
- pass
- elif(i in self.unit):
- self.unit.insert(self.unit.index(i),k)
- elif(k in self.unit):
- self.unit.append(i)
- else:
- self.unit.append(k)
- self.unit.append(i)
-
- for unitop in self.unit:
- os.chdir(self.root_dir)
- self.data = []
- if unitop.type not in ['MaterialStream','EngStm']:
- inpstms = unitop.input_stms
- outstms = unitop.output_stms
-
- try:
- engstms = unitop.EngStms
- except:
- engstms = None
-
- self.data.append("model "+unitop.name.lower()+'\n')
-
- for c in self.compounds:
- c = c.title()
- lcase = c.lower()
- self.data.append("parameter Simulator.Files.Chemsep_Database." + c +' '+ c + "; \n")
-
- self.data.append(unitop.OM_Flowsheet_Initialize())
-
- if type(outstms) is list:
- for stm in outstms:
- self.data.append(stm.OM_Flowsheet_Initialize())
- else:
- self.data.append(outstms.OM_Flowsheet_Initialize())
-
- if engstms:
- self.data.append(engstms.OM_Flowsheet_Initialize())
-
- if type(inpstms) is list:
- for stm in inpstms:
- self.data.append(stm.OM_Flowsheet_Initialize())
- else:
- self.data.append(inpstms.OM_Flowsheet_Initialize())
-
- self.data.append('equation\n')
- self.data.append(unitop.OM_Flowsheet_Equation())
-
- if type(inpstms) is list:
- for stm in inpstms:
- self.data.append(stm.OM_Flowsheet_Equation())
- else:
- self.data.append(inpstms.OM_Flowsheet_Equation())
-
- unitmofile = os.path.join(self.sim_dir_path,unitop.name.lower()+'.mo')
-
- with open(unitmofile,'w') as unitFile:
- for d in self.data:
- unitFile.write(d)
- unitFile.write('end '+unitop.name.lower()+';\n')
-
- unitmosfile = os.path.join(self.sim_dir_path,unitop.name.lower()+'.mos')
- with open(unitmosfile, 'w') as mosFile:
- mosFile.write('loadModel(Modelica);\n')
- mosFile.write("loadFile(\"Simulator\package.mo\");\n")
-
- mosFile.write("loadFile(\""+unitop.name.lower()+".mo\");\n")
- mosFile.write("simulate("+unitop.name.lower()+", outputFormat=\"csv\", stopTime=1.0, numberOfIntervals=1);\n")
-
- print("Initiating simulation in Sequential Modular Mode")
- self.omc_path = self.get_omc_path()
- os.chdir(self.sim_dir_path)
- sim = os.path.join(self.sim_dir_path,unitop.name.lower()+'.mos')
- self.process = Popen([self.omc_path, '-s',sim], stdout=PIPE, stderr=PIPE)
- self.stdout, self.stderr = self.process.communicate()
- os.chdir(self.root_dir)
-
- # print("############### StdOut ################")
- # print(self.stdout)
- # print("############### StdErr ################")
- # print(self.stderr)
- # print('Simulating '+unitop.name.lower()+'...')
- csvpath = os.path.join(self.sim_dir_path,unitop.name.lower()+'_res.csv')
-
- self.csvlist.append(csvpath)
-
- with open(csvpath,'r') as resultFile:
- csvreader = csv.reader(resultFile,delimiter=',')
- for row in csvreader:
- self.result_data.append(row)
-
- os.chdir(self.root_dir)
- if type(inpstms) is list:
- for stm in inpstms:
- for key,value in stm.Prop.items():
- property_name = stm.name + '.' + key
- if property_name in self.result_data[0]:
- ind = self.result_data[0].index(property_name)
- resultval = str(self.result_data[-1][ind])
- stm.Prop[key] = resultval
- else:
- for key, value in inpstms.Prop.items():
- property_name = inpstms.name + '.' + key
- if property_name in self.result_data[0]:
- ind = self.result_data[0].index(property_name)
- resultval = str(self.result_data[-1][ind])
- inpstms.Prop[key] = resultval
-
- if type(outstms) is list:
- for stm in outstms:
- for key, value in stm.Prop.items():
- property_name = stm.name + '.' + key
- if property_name in self.result_data[0]:
- ind = self.result_data[0].index(property_name)
- resultval = str(self.result_data[-1][ind])
- stm.Prop[key] = resultval
- else:
- for key, value in outstms.Prop.items():
- property_name = outstms.name + '.' + key
- if property_name in self.result_data[0]:
- ind = self.result_data[0].index(property_name)
- resultval = str(self.result_data[-1][ind])
- outstms.Prop[key] = resultval
-
- self.dataframes = [pd.read_csv(i) for i in self.csvlist]
- os.chdir(self.sim_dir_path)
- dffinal = pd.concat(self.dataframes,axis=1)
- dffinal.to_csv('FlowsheetSEQ.csv',index=False)
- self.result_data.clear()
- with open(os.path.join(self.sim_dir_path+'/FlowsheetSEQ.csv'),'r') as resultFile:
- csvreader = csv.reader(resultFile,delimiter=',')
- for row in csvreader:
- self.result_data.append(row)
diff --git a/OMChem/Heater.py b/OMChem/Heater.py
deleted file mode 100644
index cf9b8f1..0000000
--- a/OMChem/Heater.py
+++ /dev/null
@@ -1,79 +0,0 @@
-from OMChem.EngStm import EngStm
-class Heater():
- counter = 1
- def __init__(self,name='Heater',PressureDrop = None, eff = None):
- self.PressureDrop = PressureDrop
- self.eff = eff
- #self.name = name
- self.OM_data_eqn = ''
- self.OM_data_init = ''
- self.InputStms = None
- #self.heatAdd=heatAdd
- #self.outT = outT
- self.OutputStms = None
- self.EngStms = EngStm(name='EngStm'+name)
- self.type = 'Heater'
- self.mode = None
- self.modeVal = None
-
- self.Prop = {
- 'pressDrop':None,
- 'eff':None,
- 'outT':None,
- 'tempInc':None,
- 'heatAdd':None,
- }
-
- # new
- self.name = name + str(Heater.counter)
- self.no_of_input = 1
- self.no_of_output = 1
- Heater.counter += 1
-
- def getname(self):
- return self.name
-
- def connect(self,InputStms = None,OutputStms = None):
- self.InputStms = InputStms
- self.OutputStms = OutputStms
-
- def modesList(self):
- return ["heatAdd","outT","outVapPhasMolFrac","tempInc","enFlo"]
-
- def paramgetter(self,mode="heatAdd"):
- self.mode = mode
- dict = {"PressureDrop":None,"eff":None,self.mode:None}
- return dict
-
- def paramsetter(self,dict):
-
- self.PressureDrop = dict['PressureDrop']
- self.eff = dict['eff']
- self.modeVal = dict[self.mode]
-
- def OM_Flowsheet_Init(self, addedcomp):
- self.OM_data_init = ''
- comp_count = len(addedcomp)
- self.OM_data_init = self.OM_data_init + 'Simulator.Streams.Energy_Stream '+self.EngStms.name+';\n'
- self.OM_data_init = self.OM_data_init + (
- "Simulator.Unit_Operations.Heater " + self.name + "(Nc = " + str(comp_count))
- self.OM_data_init = self.OM_data_init + (",comp = {")
- comp = str(addedcomp).strip('[').strip(']')
- comp = comp.replace("'", "")
- self.OM_data_init = self.OM_data_init + comp + ("},")
- self.OM_data_init = self.OM_data_init + 'pressDrop = ' + str(self.PressureDrop) +','
- self.OM_data_init = self.OM_data_init + 'eff = ' + str(self.eff) + ');\n'
- return self.OM_data_init
-
- def OM_Flowsheet_Eqn(self, addedcomp):
- self.OM_data_eqn = ''
- # self.OM_data_eqn = self.name + '.pressDrop = ' + str(self.PressDrop) + ';\n'
- self.OM_data_eqn = self.OM_data_eqn + ('connect(' + self.InputStms[0].name + '.outlet,' + self.name + '.inlet' + ');\n')
- self.OM_data_eqn = self.OM_data_eqn + ('connect(' + self.name + '.outlet,' + self.OutputStms[0].name + '.inlet);\n')
- self.OM_data_eqn = self.OM_data_eqn + ('connect(' + self.EngStms.name + '.outlet,' + self.name + '.energy);\n')
-
- if(self.mode =="enFlo"):
- self.OM_data_eqn = self.OM_data_eqn + (self.EngStms.name+'.'+self.mode+'='+ self.modeVal + ';\n')
- else:
- self.OM_data_eqn = self.OM_data_eqn + (self.name+'.'+self.mode+'='+ self.modeVal + ';\n')
- return self.OM_data_eqn
diff --git a/OMChem/Mixer.py b/OMChem/Mixer.py
deleted file mode 100644
index c726cdc..0000000
--- a/OMChem/Mixer.py
+++ /dev/null
@@ -1,58 +0,0 @@
-class Mixer():
- counter = 1 #
- def __init__(self,name='Mixer',NOI=5,Pcal = 'Inlet_Average'):
- self.NOI = NOI
- self.Pcal = Pcal
- self.OM_data_eqn = ''
- self.OM_data_init = ''
- self.InputStms = []
- self.OutputStms = None
- self.type = 'Mixer'
-
- # new
- self.name = name + str(Mixer.counter)
- self.no_of_input = 4
- self.no_of_output = 1
- Mixer.counter += 1
-
- def getname(self):
- return self.name
-
- def modesList(self):
- return []
-
- def paramgetter(self,mode=None):
- dict = {}
- return dict
-
- def paramsetter(self,dict):
- self.NOI = dict["NOI"]
-
- def OM_Flowsheet_Init(self, addedcomp):
- self.OM_data_init = ''
- comp_count = len(addedcomp)
-
- self.OM_data_init = self.OM_data_init + (
- "Simulator.Unit_Operations.Mixer " + self.name + "(Nc = " + str(comp_count))
- self.OM_data_init = self.OM_data_init + (",comp = {")
- comp = str(addedcomp).strip('[').strip(']')
- comp = comp.replace("'", "")
- self.OM_data_init = self.OM_data_init + comp + ("},")
- self.OM_data_init = self.OM_data_init + ("outPress = \""+self.Pcal+"\",NI=" + str(self.NOI) + ");\n")
- return self.OM_data_init
-
- def connect(self,InputStms = [],OutputStms = None):
- self.NOI=len(InputStms)
- self.InputStms = InputStms
- self.OutputStms = OutputStms
-
- def OM_Flowsheet_Eqn(self, addedcomp):
- self.OM_data_eqn = ''
- comp_count = len(addedcomp)
- strcount = 1
- for strm in self.InputStms:
- self.OM_data_eqn = self.OM_data_eqn + (
- 'connect(' + strm.name + '.outlet,' + self.name + '.inlet[' + str(strcount) + ']);\n')
- strcount += 1
- self.OM_data_eqn = self.OM_data_eqn + ('connect(' + self.name + '.outlet,' + self.OutputStms[0].name + '.inlet);\n')
- return self.OM_data_eqn
diff --git a/OMChem/Pump.py b/OMChem/Pump.py
deleted file mode 100644
index 3b6ed2c..0000000
--- a/OMChem/Pump.py
+++ /dev/null
@@ -1,66 +0,0 @@
-from OMChem.EngStm import EngStm
-class Pump():
- counter = 1
- def __init__(self,name='Pump',eff = None):
- self.eff = eff
- #self.name = name
- self.OM_data_eqn = ''
- self.OM_data_init = ''
- self.InputStms = None
- #self.heatAdd=heatAdd
- #self.outT = outT
- self.OutputStms = None
- self.EngStms = EngStm(name='EngStm'+name)
- self.type = 'Pump'
- self.mode = None
- self.modeVal = None
- # new
- self.name = name + str(Pump.counter)
- self.no_of_input = 1
- self.no_of_output = 1
- Pump.counter += 1
-
- def getname(self):
- return self.name
-
- def connect(self,InputStms = None,OutputStms = None):
- self.InputStms = InputStms
- self.OutputStms = OutputStms
-
- def modesList(self):
- return ["pressInc","outP","reqPow","enFlo"]
-
- def paramgetter(self,mode="pressInc"):
- self.mode = mode
- dict = {"eff":None,self.mode:None}
- return dict
-
- def paramsetter(self,dict):
- self.eff = dict['eff']
- self.modeVal = dict[self.mode]
-
- def OM_Flowsheet_Init(self, addedcomp):
- self.OM_data_init = ''
- comp_count = len(addedcomp)
- self.OM_data_init = self.OM_data_init + 'Simulator.Streams.Energy_Stream '+self.EngStms.name+';\n'
- self.OM_data_init = self.OM_data_init + (
- "Simulator.Unit_Operations.Centrifugal_Pump " + self.name + "(Nc = " + str(comp_count))
- self.OM_data_init = self.OM_data_init + (",comp = {")
- comp = str(addedcomp).strip('[').strip(']')
- comp = comp.replace("'", "")
- self.OM_data_init = self.OM_data_init + comp + ("},")
- self.OM_data_init = self.OM_data_init + 'eff = ' + str(self.eff) + ');\n'
- return self.OM_data_init
-
- def OM_Flowsheet_Eqn(self, addedcomp):
- self.OM_data_eqn = ''
- # self.OM_data_eqn = self.name + '.pressDrop = ' + str(self.PressDrop) + ';\n'
- self.OM_data_eqn = self.OM_data_eqn + ('connect(' + self.InputStms[0].name + '.outlet,' + self.name + '.inlet' + ');\n')
- self.OM_data_eqn = self.OM_data_eqn + ('connect(' + self.name + '.outlet,' + self.OutputStms[0].name + '.inlet);\n')
- self.OM_data_eqn = self.OM_data_eqn + ('connect(' + self.EngStms.name + '.outlet,' + self.name + '.energy);\n')
-
- if(self.mode =="enFlo"):
- self.OM_data_eqn = self.OM_data_eqn + (self.EngStms.name+'.'+self.mode+'='+ self.modeVal + ';\n')
- else:
- self.OM_data_eqn = self.OM_data_eqn + (self.name+'.'+self.mode+'='+ self.modeVal + ';\n')
- return self.OM_data_eqn
diff --git a/OMChem/ShortcutColumn.py b/OMChem/ShortcutColumn.py
deleted file mode 100644
index a018873..0000000
--- a/OMChem/ShortcutColumn.py
+++ /dev/null
@@ -1,88 +0,0 @@
-from OMChem.EngStm import EngStm
-class ShortcutColumn():
- counter = 1
- def __init__(self,name='ShortCol',condP = None, rebP = None, LKey = None, HKey = None):
- self.condP = condP
- self.rebP = rebP
- self.LKey = LKey
- self.HKey = HKey
- self.LKeyMolFrac = None
- self.HKeyMolFrac = None
- #self.name = name[0]
- self.name = name + str(ShortcutColumn.counter)
- self.OM_data_eqn = ''
- self.OM_data_init = ''
- self.InputStms = None
- self.OutputStms = None
-
- self.EngStm1 = EngStm(name='EngStm1'+self.name)
- self.EngStm2 = EngStm(name='EngStm2'+self.name)
- #self.count = name[1]
- self.count = ShortcutColumn.counter
- self.condType=''
- self.actR = None
- self.thermoPackage='Raoults_Law'
- self.type = 'ShortCol'
-
- # new
- self.no_of_input = 1
- self.no_of_output = 2
- ShortcutColumn.counter += 1
-
- def getname(self):
- return self.name
-
- def modesList(self):
- return []
-
- def paramgetter(self,mode=None):
- dict = { "HKey" : None,"LKey" :None,"HKeyMolFrac":None,"LKeyMolFrac":None,"condType":None,"thermoPackage":None,"condP":None,"rebP":None,"actR":None}
- return dict
-
- def paramsetter(self,dict):
- self.HKey = dict["HKey"]
- self.LKey = dict["LKey"]
- self.HKeyMolFrac = dict["HKeyMolFrac"]
- self.LKeyMolFrac=dict["LKeyMolFrac"]
- self.condP=dict["condP"]
- self.rebP=dict["rebP"]
- self.actR=dict["actR"]
- self.condType=dict["condType"]
- self.thermoPackage=dict["thermoPackage"]
- def connect(self,InputStms = None,OutputStms = None):
- self.InputStms = InputStms
- self.OutputStms = OutputStms
- def OM_Flowsheet_Init(self, addedcomp):
- self.OM_data_init = ''
- self.OM_data_init = self.OM_data_init + ("model sc"+str(self.count)+"\n")
- self.OM_data_init = self.OM_data_init + ("extends Simulator.Unit_Operations.Shortcut_Column;\n" )
- self.OM_data_init = self.OM_data_init + ("extends Simulator.Files.Thermodynamic_Packages."+self.thermoPackage+";\n")
- self.OM_data_init = self.OM_data_init + ("end sc"+str(self.count)+";\n")
- comp_count = len(addedcomp)
- self.OM_data_init = self.OM_data_init + "sc"+str(self.count)+ " " + self.name + "(Nc = " + str(comp_count)
- self.OM_data_init = self.OM_data_init + (",comp = {")
- comp = str(addedcomp).strip('[').strip(']')
- comp = comp.replace("'", "")
- self.OM_data_init = self.OM_data_init + comp + ("},")
- self.OM_data_init = self.OM_data_init + 'condType = ' + "\""+self.condType+"\""+','
- self.OM_data_init = self.OM_data_init + 'HKey = ' + str(self.HKey) +','
- self.OM_data_init = self.OM_data_init + 'LKey = ' + str(self.LKey) + ');\n'
- self.OM_data_init = self.OM_data_init + 'Simulator.Streams.Energy_Stream '+self.EngStm1.name+';\n'
- self.OM_data_init = self.OM_data_init + 'Simulator.Streams.Energy_Stream '+self.EngStm2.name+';\n'
- return self.OM_data_init
-
- def OM_Flowsheet_Eqn(self, addedcomp):
- self.OM_data_eqn = ''
-
- self.OM_data_eqn = self.OM_data_eqn + ('connect(' + self.name + '.reboiler_duty,' +self.EngStm1.name +'.outlet);\n')
- self.OM_data_eqn = self.OM_data_eqn + ('connect(' + self.EngStm2.name+'.inlet,' + self.name + '.condenser_duty);\n')
- self.OM_data_eqn = self.OM_data_eqn + ('connect(' + self.name + '.distillate,' + self.OutputStms[0].name + '.inlet);\n')
- self.OM_data_eqn = self.OM_data_eqn + ('connect(' + self.name + '.bottoms,' + self.OutputStms[1].name + '.inlet);\n')
-
- self.OM_data_eqn = self.OM_data_eqn + ('connect(' + self.InputStms[0].name + '.outlet,' + self.name + '.feed);\n')
- self.OM_data_eqn = self.OM_data_eqn + self.name +'.rebP = ' + self.rebP + ';\n'
- self.OM_data_eqn = self.OM_data_eqn + self.name +'.condP = ' + self.condP + ';\n'
- self.OM_data_eqn = self.OM_data_eqn + self.name +'.mixMolFrac[2,'+self.name+'.LKey]='+self.LKeyMolFrac+ ';\n'
- self.OM_data_eqn = self.OM_data_eqn + self.name +'.mixMolFrac[3,'+self.name+'.HKey]='+self.HKeyMolFrac+ ';\n'
- self.OM_data_eqn = self.OM_data_eqn + self.name +'.actR=' + self.actR + ';\n'
- return self.OM_data_eqn \ No newline at end of file
diff --git a/OMChem/Splitter.py b/OMChem/Splitter.py
deleted file mode 100644
index f873146..0000000
--- a/OMChem/Splitter.py
+++ /dev/null
@@ -1,61 +0,0 @@
-
-import json
-class Splitter():
- counter = 1
- def __init__(self,name='Splitter',NOO=5,calcType = 'Molar_Flow',specval = [50,50]):
- self.NOO = NOO
- self.calcType = calcType
- self.name = name
- self.OM_data_eqn = ''
- self.OM_data_init = ''
- self.InputStms = None
- self.OutputStms = []
- self.type = 'Splitter'
- self.specval = json.dumps(specval).replace('[','{').replace(']','}')
- # new
- self.name = name + str(Splitter.counter)
- self.no_of_input = 1
- self.no_of_output = 4
- Splitter.counter += 1
-
- def getname(self):
- return self.name
-
- def modesList(self):
- return []
- def paramgetter(self,mode=None):
- dict = {"NOO":None}
- return dict
- def paramsetter(self,dict):
- self.NOI = dict["NOO"]
-
- def OM_Flowsheet_Init(self, addedcomp):
- self.OM_data_init = ''
- comp_count = len(addedcomp)
- self.OM_data_init = self.OM_data_init + (
- "Simulator.Unit_Operations.Splitter " + self.name + "(Nc = " + str(comp_count))
- self.OM_data_init = self.OM_data_init + (",comp = {")
- comp = str(addedcomp).strip('[').strip(']')
- comp = comp.replace("'", "")
- self.OM_data_init = self.OM_data_init + comp + ("},")
- self.OM_data_init = self.OM_data_init + ("calcType = \""+self.calcType+"\",NO=" + str(self.NOO) + ");\n")
- return self.OM_data_init
-
- def connect(self,InputStms = None,OutputStms = []):
- self.NOO=len(OutputStms)
- self.InputStms = InputStms
- self.OutputStms = OutputStms
-
-
- def OM_Flowsheet_Eqn(self, addedcomp):
- self.OM_data_eqn = ''
- comp_count = len(addedcomp)
- strcount = 1
- print("Output#########",self.OutputStms)
- for strm in self.OutputStms:
- self.OM_data_eqn = self.OM_data_eqn + (
- 'connect(' + strm.name + '.inlet,' + self.name + '.outlet[' + str(strcount) + ']);\n')
- strcount += 1
- self.OM_data_eqn = self.OM_data_eqn + ('connect(' + self.name + '.inlet,' + self.InputStms[0].name + '.outlet);\n')
- self.OM_data_eqn = self.OM_data_eqn + self.name +'.' +'specVal =' + self.specval +';\n'
- return self.OM_data_eqn
diff --git a/OMChem/Valve.py b/OMChem/Valve.py
deleted file mode 100644
index 9e8494b..0000000
--- a/OMChem/Valve.py
+++ /dev/null
@@ -1,61 +0,0 @@
-class Valve():
- counter = 1
- def __init__(self,name='Valve'):
- #self.PressDrop = PressureDrop
- self.mode = None
- self.modeVal = None
- #self.name = name
- self.OM_data_eqn = ''
- self.OM_data_init = ''
- self.InputStms = None
- self.OutputStms = None
- self.type = 'Valve'
-
- self.Prop = {
- 'pressDrop':None,
- 'outP':None
- }
- # new
- self.name = name + str(Valve.counter)
- self.no_of_input = 1
- self.no_of_output = 1
- Valve.counter += 1
-
- def getname(self):
- return self.name
-
- def modesList(self):
- return ["pressDrop","outP"]
-
- def paramgetter(self,mode="pressDrop"):
- self.mode = mode
- dict = {self.mode:None}
- return dict
-
- def paramsetter(self,dict):
-
- self.modeVal = dict[self.mode]
-
- def connect(self,InputStms = None,OutputStms = None):
- self.InputStms = InputStms
- self.OutputStms = OutputStms
-
- def OM_Flowsheet_Init(self, addedcomp):
- self.OM_data_init = ''
- comp_count = len(addedcomp)
- self.OM_data_init = self.OM_data_init + (
- "Simulator.Unit_Operations.Valve " + self.name + "(Nc = " + str(comp_count))
- self.OM_data_init = self.OM_data_init + (",comp = {")
- comp = str(addedcomp).strip('[').strip(']')
- comp = comp.replace("'", "")
- self.OM_data_init = self.OM_data_init + comp + ("});\n")
- return self.OM_data_init
-
- def OM_Flowsheet_Eqn(self, addedcomp):
- self.OM_data_eqn = ''
-
- self.OM_data_eqn = self.OM_data_eqn + ('connect(' + self.InputStms[0].name + '.outlet,' + self.name + '.inlet' + ');\n')
- self.OM_data_eqn = self.OM_data_eqn + ('connect(' + self.name + '.outlet,' + self.OutputStms[0].name + '.inlet);\n')
- print("asdfvfdasdsqdfdedfdfv12345678987654321234567898765")
- self.OM_data_eqn = self.OM_data_eqn + (self.name+'.'+self.mode+'='+ self.modeVal + ';\n')
- return self.OM_data_eqn \ No newline at end of file
diff --git a/OMChem/adiabatic_comp.py b/OMChem/adiabatic_comp.py
deleted file mode 100644
index d0a6b72..0000000
--- a/OMChem/adiabatic_comp.py
+++ /dev/null
@@ -1,70 +0,0 @@
-from OMChem.EngStm import EngStm
-class AdiabaticCompressor():
- counter = 1
- def __init__(self,name='AdiabaticCompressor', eff = None):
- self.eff = eff
- #self.name = name[0]
- self.name = name + str(AdiabaticCompressor.counter)
-
- self.OM_data_eqn = ''
- self.OM_data_init = ''
- self.InputStms = None
- self.OutputStms = None
- self.EngStms = EngStm(name='EngStm'+self.name)
- #self.count = name[1]
- self.count = AdiabaticCompressor.counter
- self.type = 'AdiabaticCompressor'
- self.thermoPackage ="RaoultsLaw"
- self.mode = None
- self.modeVal = None
- # new
- self.no_of_input = 1
- self.no_of_output = 1
- AdiabaticCompressor.counter += 1
-
- def getname(self):
- return self.name
-
- def connect(self,InputStms = None,OutputStms = None):
- self.InputStms = InputStms
- self.OutputStms = OutputStms
-
- def modesList(self):
- return ["pressInc","outP","reqPow"]
-
- def paramgetter(self,mode="pressInc"):
- self.mode = mode
- dict = {"eff":None,self.mode:None,"thermoPackage":None}
- return dict
-
- def paramsetter(self,dict):
- self.eff = dict['eff']
- self.modeVal = dict[self.mode]
-
- def OM_Flowsheet_Init(self, addedcomp):
- self.OM_data_init = ''
- self.OM_data_init = self.OM_data_init + 'Simulator.Streams.Energy_Stream '+self.EngStms.name+';\n'
- self.OM_data_init = self.OM_data_init + ("model adiaComp"+str(self.count)+"\n")
- self.OM_data_init = self.OM_data_init + ("extends Simulator.Unit_Operations.Adiabatic_Compressor;\n" )
- self.OM_data_init = self.OM_data_init + ("extends Simulator.Files.Thermodynamic_Packages."+self.thermoPackage+";\n")
- self.OM_data_init = self.OM_data_init + ("end adiaComp"+str(self.count)+";\n")
- comp_count = len(addedcomp)
- self.OM_data_init = self.OM_data_init + (
- "adiaComp"+str(self.count)+" "+ self.name + "(Nc = " + str(comp_count))
- self.OM_data_init = self.OM_data_init + (",comp = {")
- comp = str(addedcomp).strip('[').strip(']')
- comp = comp.replace("'", "")
- self.OM_data_init = self.OM_data_init + comp + ("},")+("eff="+self.eff+");\n")
- return self.OM_data_init
-
- def OM_Flowsheet_Eqn(self, addedcomp):
- self.OM_data_eqn = ''
- # self.OM_data_eqn = self.name + '.pressDrop = ' + str(self.PressDrop) + ';\n'
- self.OM_data_eqn = self.OM_data_eqn + ('connect(' + self.InputStms[0].name + '.outlet,' + self.name + '.inlet' + ');\n')
- self.OM_data_eqn = self.OM_data_eqn + ('connect(' + self.name + '.outlet,' + self.OutputStms[0].name + '.inlet);\n')
- self.OM_data_eqn = self.OM_data_eqn + ('connect(' + self.EngStms.name + '.outlet,' + self.name + '.energy);\n')
-
- self.OM_data_eqn = self.OM_data_eqn + (self.name+'.'+self.mode+'='+ self.modeVal + ';\n')
-
- return self.OM_data_eqn
-
diff --git a/OMChem/adiabatic_exp.py b/OMChem/adiabatic_exp.py
deleted file mode 100644
index 2754f0a..0000000
--- a/OMChem/adiabatic_exp.py
+++ /dev/null
@@ -1,70 +0,0 @@
-from OMChem.EngStm import EngStm
-class AdiabaticExpander():
- counter = 1
- def __init__(self,name='AdiabaticExpander', eff = None):
- self.eff = eff
- #self.name = name[0]
- self.name = name + str(AdiabaticExpander.counter)
- self.OM_data_eqn = ''
- self.OM_data_init = ''
- self.InputStms = None
- self.OutputStms = None
- self.EngStms = EngStm(name='EngStm'+self.name)
- #self.count = name[1]
- self.count = AdiabaticExpander.counter
- self.type = 'AdiabaticExpander'
- self.thermoPackage ="RaoultsLaw"
- self.mode = None
- self.modeVal = None
-
- # new
- self.no_of_input = 1
- self.no_of_output = 1
- AdiabaticExpander.counter += 1
-
- def getname(self):
- return self.name
-
- def connect(self,InputStms = None,OutputStms = None):
- self.InputStms = InputStms
- self.OutputStms = OutputStms
-
- def modesList(self):
- return ["pressDrop","outP","genPow"]
-
- def paramgetter(self,mode="pressDrop"):
- self.mode = mode
- dict = {"eff":None,self.mode:None,"thermoPackage":None}
- return dict
-
- def paramsetter(self,dict):
- self.eff = dict['eff']
- self.modeVal = dict[self.mode]
-
- def OM_Flowsheet_Init(self, addedcomp):
- self.OM_data_init = ''
- self.OM_data_init = self.OM_data_init + 'Simulator.Streams.Energy_Stream '+self.EngStms.name+';\n'
- self.OM_data_init = self.OM_data_init + ("model adiaComp"+str(self.count)+"\n")
- self.OM_data_init = self.OM_data_init + ("extends Simulator.Unit_Operations.Adiabatic_Expander;\n" )
- self.OM_data_init = self.OM_data_init + ("extends Simulator.Files.Thermodynamic_Packages."+self.thermoPackage+";\n")
- self.OM_data_init = self.OM_data_init + ("end adiaComp"+str(self.count)+";\n")
- comp_count = len(addedcomp)
- self.OM_data_init = self.OM_data_init + (
- "adiaComp"+str(self.count)+" "+ self.name + "(Nc = " + str(comp_count))
- self.OM_data_init = self.OM_data_init + (",comp = {")
- comp = str(addedcomp).strip('[').strip(']')
- comp = comp.replace("'", "")
- self.OM_data_init = self.OM_data_init + comp + ("},")+("eff="+self.eff+");\n")
- return self.OM_data_init
-
- def OM_Flowsheet_Eqn(self, addedcomp):
- self.OM_data_eqn = ''
- # self.OM_data_eqn = self.name + '.pressDrop = ' + str(self.PressDrop) + ';\n'
- self.OM_data_eqn = self.OM_data_eqn + ('connect(' + self.InputStms[0].name + '.outlet,' + self.name + '.inlet' + ');\n')
- self.OM_data_eqn = self.OM_data_eqn + ('connect(' + self.name + '.outlet,' + self.OutputStms[0].name + '.inlet);\n')
- self.OM_data_eqn = self.OM_data_eqn + ('connect(' + self.EngStms.name + '.outlet,' + self.name + '.energy);\n')
-
- self.OM_data_eqn = self.OM_data_eqn + (self.name+'.'+self.mode+'='+ self.modeVal + ';\n')
-
- return self.OM_data_eqn
-
diff --git a/OMChem/setup.py b/OMChem/setup.py
deleted file mode 100644
index 037da1c..0000000
--- a/OMChem/setup.py
+++ /dev/null
@@ -1,54 +0,0 @@
-try:
- from setuptools import setup
-except ImportError:
- from distutils.core import setup
-
-from subprocess import call
-import sys
-import os
-# Python 3.3 offers shutil.which()
-from distutils import spawn
-
-def warningOrError(errorOnFailure, msg):
- if errorOnFailure:
- raise Exception(msg)
- else:
- print(msg)
-
-def generateIDL():
- errorOnFailure = not os.path.exists(os.path.join(os.path.dirname(__file__), 'OMPythonIDL', '__init__.py'))
- try:
- omhome = os.path.split(os.path.split(os.path.realpath(spawn.find_executable("omc")))[0])[0]
- except:
- omhome = None
- omhome = omhome or os.environ.get('OPENMODELICAHOME')
-
- if omhome is None:
- warningOrError(errorOnFailure, "Failed to find OPENMODELICAHOME (searched for environment variable as well as the omc executable)")
- return
- idl = os.path.join(omhome,"share","omc","omc_communication.idl")
- if not os.path.exists(idl):
- warningOrError(errorOnFailure, "Path not found: %s" % idl)
- return
-
- if 0 is not call(["omniidl","-bpython","-Wbglobal=_OMCIDL","-Wbpackage=OMPythonIDL",idl]):
- warningOrError(errorOnFailure, "omniidl command failed")
- return
- print("Generated OMPythonIDL files")
-generateIDL()
-
-setup(name='OMPython',
- version='2.0.7',
- description='OpenModelica-Python API Interface',
- author='Anand Kalaiarasi Ganeson',
- author_email='ganan642@student.liu.se',
- maintainer='Adeel Asghar',
- maintainer_email='adeel.asghar@liu.se',
- license="BSD, OSMC-PL 1.2, GPL (user's choice)",
- url='http://openmodelica.org/',
- packages=['OMPython', 'OMPython.OMParser', 'OMPythonIDL', 'OMPythonIDL._OMCIDL', 'OMPythonIDL._OMCIDL__POA'],
- install_requires=[
- # 'omniORB', # Required, but not part of pypi
- 'pyparsing'
- ]
-)