Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| # Assume your existing functions are here (collect_input, check_pump_suitability, etc.) | |
| def collect_input(): | |
| """ | |
| Collects necessary input data from the user. | |
| """ | |
| print("Please enter the following data about the well:") | |
| depth = float(input("Well Depth (meters): ")) | |
| viscosity = float(input("Fluid Viscosity (cP): ")) | |
| flow_rate = float(input("Flow Rate (m³/day): ")) | |
| specific_gravity = float(input("Specific Gravity of Fluid: ")) | |
| temperature = float(input("Temperature (Celsius): ")) | |
| solids_content = float(input("Percentage of Solids (%): ")) | |
| corrosivity = input("Is the fluid corrosive? (yes/no): ").lower() == 'yes' | |
| return { | |
| "depth": depth, | |
| "viscosity": viscosity, | |
| "flow_rate": flow_rate, | |
| "specific_gravity": specific_gravity, | |
| "temperature": temperature, | |
| "solids_content": solids_content, | |
| "corrosivity": corrosivity | |
| } | |
| def check_pump_suitability(well_data): | |
| """ | |
| Determines the suitability of a progressive cavity pump based on well data. | |
| """ | |
| # Example criteria (these values can be adjusted based on real-world data and expert advice) | |
| max_viscosity = 10000 # cP | |
| max_solids_content = 10 # Percentage | |
| if well_data["viscosity"] > max_viscosity: | |
| return False, "Viscosity too high for progressive cavity pump." | |
| if well_data["solids_content"] > max_solids_content: | |
| return False, "Solids content too high for progressive cavity pump." | |
| if well_data["corrosivity"]: | |
| return False, "Corrosive fluid not suitable for standard progressive cavity pump." | |
| # Further checks can be added here... | |
| return True, "Well is suitable for a progressive cavity pump." | |
| def display_results(suitability, message): | |
| """ | |
| Displays the results of the suitability check. | |
| """ | |
| if suitability: | |
| print("Result: Suitable.") | |
| else: | |
| print("Result: Not Suitable.") | |
| print("Reason: ", message) | |
| def main(): | |
| well_data = collect_input() | |
| suitability, message = check_pump_suitability(well_data) | |
| display_results(suitability, message) | |
| if __name__ == "__main__": | |
| main() | |
| def assess_pump_suitability(depth, viscosity, flow_rate, specific_gravity, temperature, solids_content, corrosivity): | |
| well_data = { | |
| "depth": depth, | |
| "viscosity": viscosity, | |
| "flow_rate": flow_rate, | |
| "specific_gravity": specific_gravity, | |
| "temperature": temperature, | |
| "solids_content": solids_content, | |
| "corrosivity": corrosivity == 'Yes' | |
| } | |
| suitability, message = check_pump_suitability(well_data) | |
| return "Suitable" if suitability else "Not Suitable", message | |
| iface = gr.Interface( | |
| fn=assess_pump_suitability, | |
| inputs=[ | |
| gr.Number(label="Well Depth (meters)"), | |
| gr.Number(label="Fluid Viscosity (cP)"), | |
| gr.Number(label="Flow Rate (m³/day)"), | |
| gr.Number(label="Specific Gravity of Fluid"), | |
| gr.Number(label="Temperature (Celsius)"), | |
| gr.Number(label="Percentage of Solids (%)"), | |
| gr.Radio(["Yes", "No"], label="Is the fluid corrosive?") | |
| ], | |
| outputs=[ | |
| gr.Textbox(label="Suitability"), | |
| gr.Textbox(label="Reason") | |
| ], | |
| title="Progressive Cavity Pump Suitability Assessment", | |
| description="Enter well data to assess if it's suitable for a progressive cavity pump." | |
| ) | |
| if __name__ == "__main__": | |
| iface.launch(share=True) | |