diff options
Diffstat (limited to 'OMChem/CompSep.py')
-rw-r--r-- | OMChem/CompSep.py | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/OMChem/CompSep.py b/OMChem/CompSep.py new file mode 100644 index 0000000..d538acb --- /dev/null +++ b/OMChem/CompSep.py @@ -0,0 +1,71 @@ +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.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 + |