def EVOutLiquidComposition(m, t): return m.EVOutLPMolarFrac[t, 'Oxygen'] == liquid_oxygen_composition( m.ircRebPressure[t], m.ircEVOutTemperature[t])
def ColumnLiquidFraction(m, t, tray): return m.liquidLeavingMolarFraction[t, tray, 'Oxygen'] == liquid_oxygen_composition( m.trayPressure[t, tray], m.trayTemperature[t, tray])
def rebLiquidComposition(m, t): return m.ircDrainMolarFraction[t, 'Oxygen'] == liquid_oxygen_composition( m.ircRebPressure[t], m.ircRebTemperature[t])
def FeedLiquidComposition(m): return m.FeedLiquidPhaseMolarFrac['Oxygen'] == liquid_oxygen_composition( m.FeedPressure, m.FeedTemperature)
def FeedLiquidComposition(m, t): return (m.FeedLiquidPhaseMolarFrac[t, 'Oxygen'] - liquid_oxygen_composition(m.FeedPressure[t], m.FeedTemperature[t])) * 1e2 == 0
def CondensorSelfBubTemp(m): return m.ColumnVapLvMFrac[10,"Oxygen"] == liquid_oxygen_composition(m.ColumnTrayPressure[10],m.CondensorTemp)
def ReboilerHdlpLiqFrac(m): return m.ReboilerLiqLvMFrac["Oxygen"] == liquid_oxygen_composition(m.ColumnTrayPressure[1],m.ReboilerTemp)
def FeedSelfLiqFrac(m): return m.FeedLiqMFrac["Oxygen"] == liquid_oxygen_composition(m.FeedPressure,m.FeedTemp)
def ColumnAllTraysLiqFrac(m,tray): return m.ColumnLiqLvMFrac[tray,"Oxygen"] == liquid_oxygen_composition(m.ColumnTrayPressure[tray],m.ColumnTrayTemp[tray])
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 FeedThermCompLiq(m): return m.FeedLiqMFrac["Oxygen"] == liquid_oxygen_composition( m.FeedPressure, m.FeedTemp)
def ReboilerThermCompLiq(m, time): return m.ReboilerLiqLvMFrac[time, "Oxygen"] == liquid_oxygen_composition( m.ColumnTrayPressure[time, 1], m.ReboilerTemp[time])
def CondensorTempBubTemp(m, time): return m.ColumnVapLvMFrac[time, 10, "Oxygen"] == liquid_oxygen_composition( m.ColumnTrayPressure[time, 10], m.CondensorTemp[time])
def ColumnThermCompLiq(m, time, tray): return m.ColumnLiqLvMFrac[time, tray, "Oxygen"] == liquid_oxygen_composition( m.ColumnTrayPressure[time, tray], m.ColumnTrayTemp[time, tray])
def FeedThermCompLiq(m, time): return m.FeedLiqMFrac[time, "Oxygen"] == liquid_oxygen_composition( m.FeedPressure[time], m.FeedTemp[time])
def EVOutLiquidComposition(m): return m.EVOutLPMolarFrac['Oxygen'] == liquid_oxygen_composition( m.ircRebPressure, m.ircRebTemperature)