def FracPre(self,model,case): T_i = [] Fra_i= [] Fra_r =case.Prop["FracVap"] case.Prop["T"]= sum(self.PV.T(case.Prop["P"],model)*case.Prop["x"]) self.Isotermic(model,case) T_i.append(case.Prop["T"]) Fra_i.append( case.Prop["FracVap"] ) ## print case.Prop["FracVap"],case.Prop["T"] if case.Prop["FracVap"] <=0.5: case.Prop["T"]= case.Prop["T"]*1.05 self.Isotermic(model,case) while case.Prop["FracVap"] <=0.05: case.Prop["T"]= case.Prop["T"]*1.05 self.Isotermic(model,case) else: case.Prop["T"]= case.Prop["T"]*0.95 self.Isotermic(model,case) while case.Prop["FracVap"] >=0.95: case.Prop["T"]= case.Prop["T"]*0.95 self.Isotermic(model,case) self.Isotermic(model,case) T_i.append(case.Prop["T"]) Fra_i.append( case.Prop["FracVap"] ) case.Prop["T"]= sum(T_i)/2 self.Isotermic( model,case ) T_i.append( case.Prop["T"] ) Fra_i.append( case.Prop["FracVap"] ) ## print case.Prop["FracVap"],case.Prop["T"] i = 1 while i<=20: case.Prop["T"]=lagrange(Fra_i,T_i,Fra_r) ## print case.Prop["FracVap"],case.Prop["T"] self.Isotermic(model,case) T_i.append(case.Prop["T"]) Fra_i.append( case.Prop["FracVap"] ) i += 1 if abs(Fra_r-case.Prop["FracVap"])<=1e-10: break
def HenPre(self, model, case): T_i = [] H_i = [] H_r = case.Prop["H"] case.Prop["T"] = sum(self.PV.T(case.Prop["P"], model) * case.Prop["x"]) self.Isotermic(model, case) self.EOS.Thermal(model, case) T_i.append(case.Prop["T"]) H_i.append(case.Prop["H"]) if case.Prop["FracVap"] <= 0.5: case.Prop["T"] = case.Prop["T"] * 1.1 self.Isotermic(model, case) while case.Prop["FracVap"] <= 0.05: case.Prop["T"] = case.Prop["T"] * 1.1 self.Isotermic(model, case) else: case.Prop["T"] = case.Prop["T"] * 0.9 self.Isotermic(model, case) while case.Prop["FracVap"] >= 0.95: case.Prop["T"] = case.Prop["T"] * 0.9 self.Isotermic(model, case) self.Isotermic(model, case) self.EOS.Thermal(model, case) T_i.append(case.Prop["T"]) H_i.append(case.Prop["H"]) case.Prop["P"] = sum(T_i) / 2 self.Isotermic(model, case) self.EOS.Thermal(model, case) T_i.append(case.Prop["T"]) H_i.append(case.Prop["H"]) i = 1 while i <= 20: case.Prop["T"] = lagrange(H_i, T_i, H_r) self.Isotermic(model, case) self.EOS.Thermal(model, case) T_i.append(case.Prop["T"]) H_i.append(case.Prop["H"]) i += 1 if abs(H_r - case.Prop["H"]) <= 1e-10: break
def FracTemp(self,model,case): P_i = [] Fra_i= [] Fra_r =case.Prop["FracVap"] case.Prop["P"]= sum(self.PV.P(case.Prop["T"],model)*case.Prop["x"]) self.Isotermic(model,case) P_i.append(case.Prop["P"]) Fra_i.append( case.Prop["FracVap"] ) case.Prop["LiqDen"] = sum( xm* model["MoleWt"] ) if case.Prop["FracVap"] <=0.5: case.Prop["P"]= case.Prop["P"]*0.5 self.Isotermic(model,case) while case.Prop["FracVap"] <=0.05: case.Prop["P"]= case.Prop["P"]*0.5 self.Isotermic(model,case) else: case.Prop["P"]= case.Prop["P"]*1.5 self.Isotermic(model,case) while case.Prop["FracVap"] >=0.95: case.Prop["P"]= case.Prop["P"]*1.5 self.Isotermic(model,case) ## self.Isotermic( model,case ) P_i.append( case.Prop["P"] ) Fra_i.append( case.Prop["FracVap"] ) case.Prop["P"]= sum(P_i)/2 self.Isotermic( model,case ) P_i.append( case.Prop["P"] ) Fra_i.append( case.Prop["FracVap"] ) i = 1 while i<=20: case.Prop["P"]=lagrange( Fra_i, P_i, Fra_r ) self.Isotermic( model, case ) P_i.append( case.Prop["P"] ) Fra_i.append( case.Prop["FracVap"] ) i += 1 if abs(Fra_r-case.Prop["FracVap"])<=1e-10: break
def HenTemp(self,model,case): P_i = [] H_i= [] H_r =case.Prop["H"] case.Prop["P"]= sum(self.PV.P(case.Prop["T"],model)*case.Prop["x"]) self.Isotermic(model,case) self.EOS.Thermal(model,case) P_i.append(case.Prop["P"]) H_i.append( case.Prop["H"] ) if case.Prop["H"] <=0.5*H_r: case.Prop["P"]= case.Prop["P"]*0.5 else: case.Prop["P"]= case.Prop["P"]*1.5 self.Isotermic(model,case) self.EOS.Thermal(model,case) P_i.append(case.Prop["P"]) H_i.append( case.Prop["H"] ) case.Prop["P"]= sum(P_i)/2 self.Isotermic(model,case) self.EOS.Thermal(model,case) P_i.append(case.Prop["P"]) H_i.append( case.Prop["H"] ) i = 1 while i<=20: case.Prop["P"]=lagrange(H_i,P_i,H_r) self.Isotermic(model,case) self.EOS.Thermal(model,case) P_i.append(case.Prop["P"]) H_i.append( case.Prop["H"] ) i += 1 if abs(H_r-case.Prop["H"])<=1e-10: break
while case.Prop["FracVap"] >= 0.95: case.Prop["P"] = case.Prop["P"] * 1.5 self.Isotermic(model, case) ## self.Isotermic( model,case ) P_i.append(case.Prop["P"]) Fra_i.append(case.Prop["FracVap"]) case.Prop["P"] = sum(P_i) / 2 self.Isotermic(model, case) P_i.append(case.Prop["P"]) Fra_i.append(case.Prop["FracVap"]) i = 1 while i <= 20: case.Prop["P"] = lagrange(Fra_i, P_i, Fra_r) self.Isotermic(model, case) P_i.append(case.Prop["P"]) Fra_i.append(case.Prop["FracVap"]) i += 1 if abs(Fra_r - case.Prop["FracVap"]) <= 1e-10: break ################################################################# #Case that Tempererature and Hentalpy are defined ################################################################# def HenTemp(self, model, case): P_i = [] H_i = [] H_r = case.Prop["H"]
def FracPre(self, model, case): T_i = [] Fra_i = [] Fra_r = case.Prop["FracVap"] case.Prop["T"] = sum(self.PV.T(case.Prop["P"], model) * case.Prop["x"]) self.Isotermic(model, case) T_i.append(case.Prop["T"]) Fra_i.append(case.Prop["FracVap"]) ## print case.Prop["FracVap"],case.Prop["T"] if case.Prop["FracVap"] <= 0.5: case.Prop["T"] = case.Prop["T"] * 1.05 self.Isotermic(model, case) while case.Prop["FracVap"] <= 0.05: case.Prop["T"] = case.Prop["T"] * 1.05 self.Isotermic(model, case) else: case.Prop["T"] = case.Prop["T"] * 0.95 self.Isotermic(model, case) while case.Prop["FracVap"] >= 0.95: case.Prop["T"] = case.Prop["T"] * 0.95 self.Isotermic(model, case) self.Isotermic(model, case) T_i.append(case.Prop["T"]) Fra_i.append(case.Prop["FracVap"]) case.Prop["T"] = sum(T_i) / 2 self.Isotermic(model, case) T_i.append(case.Prop["T"]) Fra_i.append(case.Prop["FracVap"]) ## print case.Prop["FracVap"],case.Prop["T"] ## print "TI",T_i i = 1 while i <= 20: ## print "TI",T_i ## print "TI",Fra_i,case.Prop["T"] case.Prop["T"] = lagrange(Fra_i, T_i, Fra_r) if case.Prop["T"] >= case.Prop["TC"]: case.Prop["T"] = case.Prop["TC"] - 50 ## print case.Prop["T"],Fra_r ## print case.Prop["FracVap"],case.Prop["T"] self.Isotermic(model, case) ## print case.Prop["T"],Fra_r,case.Prop["FracVap"] if case.Prop["FracVap"] <= 0.01: while case.Prop["FracVap"] < 0.01: case.Prop["T"] = case.Prop["T"] + 3 print "TII", case.Prop["T"] self.Isotermic(model, case) elif case.Prop["FracVap"] >= 0.99: while case.Prop["FracVap"] > 0.99: case.Prop["T"] = case.Prop["T"] - 3 print "TII", case.Prop["T"] self.Isotermic(model, case) T_i.append(case.Prop["T"]) Fra_i.append(case.Prop["FracVap"]) ## print min(Fra_i) ## for m in range(len(T_i)): ## ## if abs(min(Fra_i)-case.Prop["FracVap"])<=1e-8: ## n=Fra_i.index(min(Fra_i)) ## T_i[n]=case.Prop["T"] ## ## if abs(max(Fra_i)-case.Prop["FracVap"])<=1e-8: ## n=Fra_i.index(case.Prop["FracVap"]) ## T_i[n]=case.Prop["T"] ## ## else: i += 1 if abs(Fra_r - case.Prop["FracVap"]) <= 1e-10: break
Pvi=S1.Get("PreVap")[0] Ppi.append(Pvi) fl=S1.Get("fl_i")[0] fv=S1.Get("fv_i")[0] P.append(S1.Get("P")) df.append(fl-fv) S1.P(Pvi) Ollin.Solve() fl=S1.Get("fl_i")[0] fv=S1.Get("fv_i")[0] P.append(S1.Get("P")) df.append(fl-fv) E = fl-fv while abs(E)>1e-3: Pi = lagrange(df,P,0) print Pi S1.P(Pi) Ollin.Solve() fl=S1.Get("fl_i")[0] fv=S1.Get("fv_i")[0] P.append(S1.Get("P")) E = fl-fv df.append(E) Ppv.append(Pi) plot(Ti,Ppi) plot(Ti,Ppv)