MuhammadHananKhan123's picture
Update app.py
ac80e45 verified
import streamlit as st
# Define the list of materials with properties
MATERIALS = {
"Aluminum": {"Strength": "High", "Weight": "Low", "Cost": "Medium", "Corrosion Resistance": "High"},
"Steel": {"Strength": "Very High", "Weight": "High", "Cost": "Low", "Corrosion Resistance": "Medium"},
"Titanium": {"Strength": "Very High", "Weight": "Medium", "Cost": "High", "Corrosion Resistance": "High"},
"Plastic": {"Strength": "Low", "Weight": "Very Low", "Cost": "Low", "Corrosion Resistance": "Medium"},
"Composite": {"Strength": "High", "Weight": "Low", "Cost": "Very High", "Corrosion Resistance": "High"},
}
def recommend_material(criteria):
recommendations = []
for material, properties in MATERIALS.items():
if all(properties[key] == value for key, value in criteria.items()):
recommendations.append(material)
return recommendations
# Streamlit App
st.title("Material Selection Tool")
st.write("Input the design requirements, and the tool will recommend suitable materials.")
# Input Case Study Details
st.header("Case Study Inputs")
strength = st.selectbox("Required Strength", ["Low", "Medium", "High", "Very High"])
weight = st.selectbox("Weight Importance", ["Very Low", "Low", "Medium", "High"])
cost = st.selectbox("Budget Constraint", ["Low", "Medium", "High", "Very High"])
corrosion_resistance = st.selectbox("Corrosion Resistance Need", ["Low", "Medium", "High", "Very High"])
# Material Recommendation
st.header("Material Recommendation")
criteria = {
"Strength": strength,
"Weight": weight,
"Cost": cost,
"Corrosion Resistance": corrosion_resistance,
}
recommendations = recommend_material(criteria)
if recommendations:
st.success(f"Recommended Materials: {', '.join(recommendations)}")
else:
st.error("No materials match the specified criteria. Try adjusting the inputs.")
st.write("---")
st.caption("This app is designed to help in selecting materials based on specified case study requirements.")