Spaces:
Sleeping
Sleeping
import streamlit as st | |
import pandas as pd | |
import numpy as np | |
from calculation import SteamPipe | |
# Load pre-arranged data | |
insulation_data = pd.read_csv("insulation_data.csv") | |
cladding_data = pd.read_csv("cladding_data.csv") | |
# Streamlit UI Design | |
st.set_page_config(page_title="Steam Pipe Calculator", layout="wide") | |
st.title("🔥 Steam Pipe Heat Loss & Insulation Calculator") | |
# Sidebar Inputs | |
st.sidebar.header("Input Parameters") | |
steam_flow = st.sidebar.number_input("🚀 Steam Flow (Kg/hr)", min_value=1, value=1000) | |
inlet_pressure = st.sidebar.number_input("🔥 Inlet Steam Pressure (Kg/cm²g)", min_value=1.0, value=10.0) | |
superheat = st.sidebar.number_input("🌡️ Degree of Superheat (°C)", min_value=0.0, value=50.0) | |
steam_temp = st.sidebar.number_input("🌡️ Steam Temperature (°C)", min_value=100.0, value=200.0) | |
line_size = st.sidebar.selectbox("📏 Line Size (Inch)", ["1", "2", "3", "4", "6", "8", "10"]) | |
ambient_temp = st.sidebar.number_input("🌤️ Ambient Temperature (°C)", min_value=-50.0, value=25.0) | |
ambient_velocity = st.sidebar.number_input("💨 Ambient Air Velocity (m/s)", min_value=0.0, value=1.0) | |
insulation_material = st.sidebar.selectbox("🛡️ Insulation Material", insulation_data["Material"].unique()) | |
cladding_material = st.sidebar.selectbox("🔩 Cladding Material", cladding_data["Material"].unique()) | |
# Perform Calculations | |
pipe = SteamPipe(steam_flow, inlet_pressure, superheat, steam_temp, line_size, ambient_temp, ambient_velocity, insulation_material, cladding_material) | |
outlet_temp, required_thickness, heat_loss = pipe.calculate() | |
# Display Results | |
st.subheader("Results") | |
st.metric(label="Outlet Steam Temperature (°C)", value=f"{outlet_temp:.2f}") | |
st.metric(label="Required Insulation Thickness (mm)", value=f"{required_thickness:.2f}") | |
st.metric(label="Heat Loss per Unit Length (W/m)", value=f"{heat_loss:.2f}") | |
# Run Streamlit App | |
if __name__ == "__main__": | |
st.write("🔍 Adjust inputs in the sidebar and view results dynamically!") | |