ahmad123445 commited on
Commit
d8b513d
·
verified ·
1 Parent(s): 298db7a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +6 -8
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
- pump_type = "Centrifugal Pump" if total_head > 10 else "Positive Displacement Pump" # Simplified decision logic
 
 
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
- # Required power (hydraulic power already gives this, no need for input)
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 enter all required fields (distance and pipe diameter).")
 
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.")