import gradio as gr # Function to calculate pump power def pump_power(density, flow_rate, head, efficiency): try: density = float(density) flow_rate = float(flow_rate) head = float(head) efficiency = float(efficiency) if efficiency <= 0 or efficiency > 1: return "❌ Efficiency must be between 0 and 1 (e.g., 0.7 for 70%)." g = 9.81 # gravitational acceleration (m/s²) power = (density * g * flow_rate * head) / efficiency # in watts power_kw = power / 1000 # convert to kW return f"🔹 Pump Power: {power_kw:.2f} kW ({power:.2f} W)" except Exception as e: return f"⚠️ Error: {str(e)}" # Gradio Interface demo = gr.Interface( fn=pump_power, inputs=[ gr.Textbox(label="Fluid Density (kg/m³)", placeholder="e.g., 1000 for water"), gr.Textbox(label="Flow Rate (m³/s)", placeholder="e.g., 0.05"), gr.Textbox(label="Head (m)", placeholder="e.g., 15"), gr.Textbox(label="Efficiency (0-1)", placeholder="e.g., 0.7 for 70%") ], outputs="text", title="⚙️ Pump Power Calculator", description="Calculate pump power using the formula P = (ρ * g * Q * H) / η" ) if __name__ == "__main__": demo.launch()