Ct / app.py
Hidayatmahar's picture
Create app.py
1658a8d verified
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})