import streamlit as st import numpy as np st.set_page_config(page_title="Cooling Tower Operation", layout="centered") st.title("Cooling Tower Operation Simulator") # User Inputs Ti = st.number_input("Hot Water Temperature (°C)", min_value=30.0, max_value=90.0, value=45.0) To = st.number_input("Cold Water Temperature (°C)", min_value=10.0, max_value=Ti, value=35.0) Twb = st.number_input("Wet Bulb Temperature (°C)", min_value=5.0, max_value=To, value=28.0) m_water = st.number_input("Water Flow Rate (kg/s)", min_value=0.1, value=10.0) # Constants cp = 4.18 # Specific heat of water in kJ/kg°C # Calculations Q = m_water * cp * (Ti - To) range_temp = Ti - To approach = To - Twb effectiveness = range_temp / (Ti - Twb) # Results st.subheader("Operational Results") st.write(f"**Cooling Range:** {range_temp:.2f} °C") st.write(f"**Approach:** {approach:.2f} °C") st.write(f"**Effectiveness:** {effectiveness:.2%}") st.write(f"**Heat Rejected:** {Q:.2f} kW") # Optional Plot time = np.linspace(0, 10, 100) heat_loss = Q * np.exp(-0.3 * time) st.line_chart({"Heat Rejected Over Time (kW)": heat_loss})