Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -76,7 +76,9 @@ def calculate_pump_requirements(selected_distance, distance_value, fluid_propert
|
|
| 76 |
total_head = static_head + (friction_loss if selected_distance == "Horizontal Distance" else 0)
|
| 77 |
|
| 78 |
hydraulic_power = (flow_rate / 3600) * density * GRAVITY * total_head / 1000 # kW
|
| 79 |
-
|
|
|
|
|
|
|
| 80 |
|
| 81 |
cavitation_risk = "Possible" if total_head < 10 else "Low Risk"
|
| 82 |
|
|
@@ -86,15 +88,12 @@ def calculate_pump_requirements(selected_distance, distance_value, fluid_propert
|
|
| 86 |
# Pump material selection (based on fluid)
|
| 87 |
pump_material = "Stainless Steel" if fluid_properties["density"] < 1000 else "Cast Iron"
|
| 88 |
|
| 89 |
-
#
|
| 90 |
-
required_power = hydraulic_power # kW
|
| 91 |
-
|
| 92 |
return {
|
| 93 |
"Flow Rate (m³/h)": flow_rate,
|
| 94 |
"Flow Velocity (m/s)": flow_velocity,
|
| 95 |
"Total Head (m)": total_head,
|
| 96 |
"Hydraulic Power (kW)": hydraulic_power,
|
| 97 |
-
"Required Power (kW)": required_power, # Display required power
|
| 98 |
"Pump Type": pump_type,
|
| 99 |
"Cavitation Risk": cavitation_risk,
|
| 100 |
"Impeller Size (m)": impeller_size,
|
|
@@ -132,12 +131,11 @@ if st.button("Calculate Pump Requirements"):
|
|
| 132 |
st.markdown(f"**Flow Velocity**: {results['Flow Velocity (m/s)']} m/s")
|
| 133 |
st.markdown(f"**Total Head**: {results['Total Head (m)']} meters")
|
| 134 |
st.markdown(f"**Hydraulic Power**: {results['Hydraulic Power (kW)']} kW")
|
| 135 |
-
st.markdown(f"**Required Power**: {results['Required Power (kW)']} kW") # Showing required power
|
| 136 |
st.markdown(f"**Pump Type**: {results['Pump Type']}")
|
| 137 |
st.markdown(f"**Cavitation Risk**: {results['Cavitation Risk']}")
|
| 138 |
st.markdown(f"**Impeller Size**: {results['Impeller Size (m)']} m")
|
| 139 |
st.markdown(f"**Pump Material**: {results['Pump Material']}")
|
| 140 |
else:
|
| 141 |
-
st.error(results)
|
| 142 |
else:
|
| 143 |
-
st.error("Please
|
|
|
|
| 76 |
total_head = static_head + (friction_loss if selected_distance == "Horizontal Distance" else 0)
|
| 77 |
|
| 78 |
hydraulic_power = (flow_rate / 3600) * density * GRAVITY * total_head / 1000 # kW
|
| 79 |
+
|
| 80 |
+
# Select pump type based on fluid density and type (liquid or gas)
|
| 81 |
+
pump_type = "Centrifugal Pump" if total_head > 10 and density > 1 else "Positive Displacement Pump"
|
| 82 |
|
| 83 |
cavitation_risk = "Possible" if total_head < 10 else "Low Risk"
|
| 84 |
|
|
|
|
| 88 |
# Pump material selection (based on fluid)
|
| 89 |
pump_material = "Stainless Steel" if fluid_properties["density"] < 1000 else "Cast Iron"
|
| 90 |
|
| 91 |
+
# Return pump requirements
|
|
|
|
|
|
|
| 92 |
return {
|
| 93 |
"Flow Rate (m³/h)": flow_rate,
|
| 94 |
"Flow Velocity (m/s)": flow_velocity,
|
| 95 |
"Total Head (m)": total_head,
|
| 96 |
"Hydraulic Power (kW)": hydraulic_power,
|
|
|
|
| 97 |
"Pump Type": pump_type,
|
| 98 |
"Cavitation Risk": cavitation_risk,
|
| 99 |
"Impeller Size (m)": impeller_size,
|
|
|
|
| 131 |
st.markdown(f"**Flow Velocity**: {results['Flow Velocity (m/s)']} m/s")
|
| 132 |
st.markdown(f"**Total Head**: {results['Total Head (m)']} meters")
|
| 133 |
st.markdown(f"**Hydraulic Power**: {results['Hydraulic Power (kW)']} kW")
|
|
|
|
| 134 |
st.markdown(f"**Pump Type**: {results['Pump Type']}")
|
| 135 |
st.markdown(f"**Cavitation Risk**: {results['Cavitation Risk']}")
|
| 136 |
st.markdown(f"**Impeller Size**: {results['Impeller Size (m)']} m")
|
| 137 |
st.markdown(f"**Pump Material**: {results['Pump Material']}")
|
| 138 |
else:
|
| 139 |
+
st.error(results) # Display error if the input was invalid
|
| 140 |
else:
|
| 141 |
+
st.error("Please fill in all required fields.")
|