CoolFace
Apppublic

MuhammadHananKhan123/Engg-Material-selector

sourceHugging Facemitupdated 2y agoView on Hugging Face
1likes
app.py40 linesDownload Raw Back to root
1import streamlit as st2 3# List of materials and their properties4materials = {5    "Steel": {"Density": 7.85, "Tensile Strength": 400, "Corrosion Resistance": 7},6    "Aluminum": {"Density": 2.70, "Tensile Strength": 250, "Corrosion Resistance": 9},7    "Titanium": {"Density": 4.51, "Tensile Strength": 900, "Corrosion Resistance": 8},8    "Plastic": {"Density": 0.92, "Tensile Strength": 50, "Corrosion Resistance": 5},9    "Copper": {"Density": 8.96, "Tensile Strength": 210, "Corrosion Resistance": 6},10}11 12# Streamlit app13st.title("Material Selector for Equipment Design")14 15st.sidebar.header("Input Conditions")16density_limit = st.sidebar.number_input("Max Density (g/cm³)", min_value=0.0, step=0.1, value=10.0)17min_tensile_strength = st.sidebar.number_input("Min Tensile Strength (MPa)", min_value=0, step=10, value=100)18min_corrosion_resistance = st.sidebar.slider("Min Corrosion Resistance (1-10)", 1, 10, 5)19 20st.write("### Material Selection Conditions")21st.write(f"Max Density: {density_limit} g/cm³")22st.write(f"Min Tensile Strength: {min_tensile_strength} MPa")23st.write(f"Min Corrosion Resistance: {min_corrosion_resistance}/10")24 25# Filter materials based on conditions26filtered_materials = {27    material: props28    for material, props in materials.items()29    if props["Density"] <= density_limit30    and props["Tensile Strength"] >= min_tensile_strength31    and props["Corrosion Resistance"] >= min_corrosion_resistance32}33 34st.write("### Suitable Materials")35if filtered_materials:36    for material, props in filtered_materials.items():37        st.write(f"- **{material}**: {props}")38else:39    st.write("No materials match the given conditions.")40