Spaces:
Build error
Build error
Update app.py
Browse files
app.py
CHANGED
|
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import streamlit as st
|
| 2 |
+
|
| 3 |
+
# List of materials and their properties
|
| 4 |
+
materials = {
|
| 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 app
|
| 13 |
+
st.title("Material Selector for Equipment Design")
|
| 14 |
+
|
| 15 |
+
st.sidebar.header("Input Conditions")
|
| 16 |
+
density_limit = st.sidebar.number_input("Max Density (g/cm³)", min_value=0.0, step=0.1, value=10.0)
|
| 17 |
+
min_tensile_strength = st.sidebar.number_input("Min Tensile Strength (MPa)", min_value=0, step=10, value=100)
|
| 18 |
+
min_corrosion_resistance = st.sidebar.slider("Min Corrosion Resistance (1-10)", 1, 10, 5)
|
| 19 |
+
|
| 20 |
+
st.write("### Material Selection Conditions")
|
| 21 |
+
st.write(f"Max Density: {density_limit} g/cm³")
|
| 22 |
+
st.write(f"Min Tensile Strength: {min_tensile_strength} MPa")
|
| 23 |
+
st.write(f"Min Corrosion Resistance: {min_corrosion_resistance}/10")
|
| 24 |
+
|
| 25 |
+
# Filter materials based on conditions
|
| 26 |
+
filtered_materials = {
|
| 27 |
+
material: props
|
| 28 |
+
for material, props in materials.items()
|
| 29 |
+
if props["Density"] <= density_limit
|
| 30 |
+
and props["Tensile Strength"] >= min_tensile_strength
|
| 31 |
+
and props["Corrosion Resistance"] >= min_corrosion_resistance
|
| 32 |
+
}
|
| 33 |
+
|
| 34 |
+
st.write("### Suitable Materials")
|
| 35 |
+
if filtered_materials:
|
| 36 |
+
for material, props in filtered_materials.items():
|
| 37 |
+
st.write(f"- **{material}**: {props}")
|
| 38 |
+
else:
|
| 39 |
+
st.write("No materials match the given conditions.")
|
| 40 |
+
|