def EVOutVaporComposition(m, t): return m.EVOutVPMolarFrac[t, 'Oxygen'] == vapor_oxygen_composition( m.ircRebPressure[t], m.ircEVOutTemperature[t])
def ColumnVaporFraction(m, t, tray): return m.vaporLeavingMolarFraction[t, tray, 'Oxygen'] == vapor_oxygen_composition( m.trayPressure[t, tray], m.trayTemperature[t, tray])
def rebVaporComposition(m, t): return m.ircWNMolarFraction[t, 'Oxygen'] == vapor_oxygen_composition( m.ircRebPressure[t], m.ircRebTemperature[t])
def FeedVaporComposition(m): return m.FeedVaporPhaseMolarFrac['Oxygen'] == vapor_oxygen_composition( m.FeedPressure, m.FeedTemperature)
def FeedVaporComposition(m, t): return (m.FeedVaporPhaseMolarFrac[t, 'Oxygen'] - vapor_oxygen_composition( m.FeedPressure[t], m.FeedTemperature[t])) * 1e2 == 0
def ColumnAllTraysVapFrac(m,tray): return m.ColumnVapLvMFrac[tray,"Oxygen"] == vapor_oxygen_composition(m.ColumnTrayPressure[tray],m.ColumnTrayTemp[tray])
def ReboilerHdlpVapFrac(m): return m.ReboilerVapLvMFrac["Oxygen"] == vapor_oxygen_composition(m.ColumnTrayPressure[1],m.ReboilerTemp)
def FeedThermCompVap(m): return m.FeedVapMFrac["Oxygen"] == vapor_oxygen_composition( m.FeedPressure, m.FeedTemp)
def FeedSelfVapFrac(m): return m.FeedVapMFrac["Oxygen"] == vapor_oxygen_composition(m.FeedPressure,m.FeedTemp)
def VaporPhaseEnthalpy(temperature, pressure, oxygen, nitrogen): return vapor_nitrogen_enthalpy( pressure, temperature) * nitrogen + vapor_oxygen_enthalpy( pressure, temperature) * oxygen temp_profile = [] enthalpy_profile = [] vapor_frac = [] for ircRebTemperature in np.arange(-190, -186, 0.1): temp_profile.append(ircRebTemperature) ircRebPressure = 564 - 400 total_nitrogen = 0.7009695483157175 total_oxygen = 0.29903045168428255 EVOutVPMolarFrac_oxygen = vapor_oxygen_composition(ircRebPressure, ircRebTemperature) EVOutLPMolarFrac_oxygen = liquid_oxygen_composition( ircRebPressure, ircRebTemperature) EVOutVaporFraction = (EVOutLPMolarFrac_oxygen - total_oxygen) / ( EVOutLPMolarFrac_oxygen - EVOutVPMolarFrac_oxygen) enthalpy = LiquidPhaseEnthalpy(ircRebTemperature, ircRebPressure, EVOutLPMolarFrac_oxygen, 1-EVOutLPMolarFrac_oxygen)*(1-EVOutVaporFraction)+\ VaporPhaseEnthalpy(ircRebTemperature, ircRebPressure, EVOutVPMolarFrac_oxygen, 1-EVOutVPMolarFrac_oxygen)*EVOutVaporFraction enthalpy_profile.append(enthalpy) vapor_frac.append(EVOutVaporFraction) fig, axes = plt.subplots(1, 2) axes[0].plot(temp_profile, enthalpy_profile, c='r') axes[1].plot(temp_profile, vapor_frac, c='b') plt.show()
def ReboilerThermCompVap(m, time): return m.ReboilerVapLvMFrac[time, "Oxygen"] == vapor_oxygen_composition( m.ColumnTrayPressure[time, 1], m.ReboilerTemp[time])
def ColumnThermCompVap(m, time, tray): return m.ColumnVapLvMFrac[time, tray, "Oxygen"] == vapor_oxygen_composition( m.ColumnTrayPressure[time, tray], m.ColumnTrayTemp[time, tray])
def FeedThermCompVap(m, time): return m.FeedVapMFrac[time, "Oxygen"] == vapor_oxygen_composition( m.FeedPressure[time], m.FeedTemp[time])
def EVOutVaporComposition(m): return m.EVOutVPMolarFrac['Oxygen'] == vapor_oxygen_composition( m.ircRebPressure, m.ircRebTemperature)