MuhammadHananKhan123 commited on
Commit
f4cec47
·
verified ·
1 Parent(s): 232df16

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +64 -0
app.py CHANGED
@@ -165,6 +165,70 @@ def main():
165
  st.write("- **Silicon**: Essential for semiconductors and electronics.")
166
  if "high temperature" in equipment.lower() or "aerospace" in industry.lower():
167
  st.write("- **Titanium Alloys**: High strength-to-weight ratio and excellent corrosion resistance.")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
168
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
169
  if __name__ == "__main__":
170
  main()
 
165
  st.write("- **Silicon**: Essential for semiconductors and electronics.")
166
  if "high temperature" in equipment.lower() or "aerospace" in industry.lower():
167
  st.write("- **Titanium Alloys**: High strength-to-weight ratio and excellent corrosion resistance.")
168
+ # Create a function for material selection
169
+ def material_selector(industry, equipment_material):
170
+ # Material database
171
+ materials_data = {
172
+ "Metals": [
173
+ {"Type": "Alkali Metals", "Properties": "Highly reactive, low density, low melting points, reacts with water", "Examples": "Lithium, Sodium, Potassium"},
174
+ {"Type": "Alkaline Earth Metals", "Properties": "Reactive, higher density than alkali, moderate melting points", "Examples": "Magnesium, Calcium"},
175
+ {"Type": "Transition Metals", "Properties": "High density, high melting points, excellent conductors", "Examples": "Iron, Copper, Gold"},
176
+ {"Type": "Post-Transition Metals", "Properties": "Soft, malleable, moderate conductivity", "Examples": "Aluminum, Lead, Tin"},
177
+ ],
178
+ "Non-Metals": [
179
+ {"Type": "Hydrogen", "Properties": "Highly flammable, colorless, combines with oxygen to form water", "Examples": "H2"},
180
+ {"Type": "Carbon", "Properties": "Versatile, forms organic compounds", "Examples": "Graphite, Diamond"},
181
+ {"Type": "Nitrogen", "Properties": "Essential for life, inert in its gaseous state", "Examples": "N2"},
182
+ ],
183
+ "Polymers": [
184
+ {"Type": "Thermoplastics", "Properties": "Softened and reshaped by heat, lightweight, flexible", "Examples": "Polyethylene, Polypropylene"},
185
+ {"Type": "Thermosetting", "Properties": "Strong, rigid, cannot be reshaped after curing", "Examples": "Epoxy Resin, Polyurethane"},
186
+ {"Type": "Elastomers", "Properties": "Elastic, returns to original shape", "Examples": "Rubber, Silicone"},
187
+ ],
188
+ "Ceramics": [
189
+ {"Type": "Oxide Ceramics", "Properties": "High hardness, heat resistance", "Examples": "Alumina, Silica"},
190
+ {"Type": "Carbide Ceramics", "Properties": "Extremely hard, wear-resistant", "Examples": "Tungsten Carbide"},
191
+ {"Type": "Silicate Ceramics", "Properties": "High strength, chemically resistant", "Examples": "Glass, Porcelain"},
192
+ ],
193
+ "Alloys": [
194
+ {"Type": "Steel", "Properties": "Strong, durable, malleable", "Examples": "Carbon Steel, Stainless Steel"},
195
+ {"Type": "Bronze", "Properties": "Corrosion-resistant, durable", "Examples": "Copper-Tin Alloy"},
196
+ {"Type": "Titanium Alloys", "Properties": "High strength-to-weight ratio, corrosion resistant", "Examples": "Ti-6Al-4V"},
197
+ ],
198
+ }
199
 
200
+ # Filter materials based on input
201
+ matching_materials = []
202
+ for category, materials in materials_data.items():
203
+ for material in materials:
204
+ if industry.lower() in material["Properties"].lower() or equipment_material.lower() in material["Examples"].lower():
205
+ matching_materials.append({"Category": category, **material})
206
+
207
+ return matching_materials
208
+
209
+ # Streamlit App Layout
210
+ st.title("Material Selector for Industries and Equipment")
211
+ st.subheader("Select the best material for your industrial application")
212
+
213
+ # User Inputs
214
+ industry = st.text_input("Enter Industry Type (e.g., Aerospace, Automotive, Construction):")
215
+ equipment_material = st.text_input("Enter Equipment Material Requirement (e.g., Lightweight, Corrosion Resistant):")
216
+
217
+ if st.button("Find Materials"):
218
+ if industry and equipment_material:
219
+ # Get matching materials
220
+ results = material_selector(industry, equipment_material)
221
+ if results:
222
+ st.success(f"Found {len(results)} matching materials:")
223
+ for result in results:
224
+ st.write(f"**Category:** {result['Category']}")
225
+ st.write(f"**Type:** {result['Type']}")
226
+ st.write(f"**Properties:** {result['Properties']}")
227
+ st.write(f"**Examples:** {result['Examples']}")
228
+ st.write("---")
229
+ else:
230
+ st.warning("No matching materials found. Please refine your search.")
231
+ else:
232
+ st.error("Please provide both inputs to search for materials.")
233
  if __name__ == "__main__":
234
  main()