Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| # Function to calculate tank thickness | |
| def calculate_tank_thickness(height, diameter, material_density, tensile_strength): | |
| """ | |
| Calculate tank thickness based on: | |
| - height of tank (m), | |
| - diameter of tank (m), | |
| - material density to be poured (kg/m³), | |
| - tensile strength of tank material (MPa). | |
| Formula: t = (ρ * g * h * D) / (2 * S) | |
| where: | |
| - t = thickness (m) | |
| - ρ = material density (kg/m³) | |
| - g = gravity (9.81 m/s²) | |
| - h = height (m) | |
| - D = diameter (m) | |
| - S = tensile strength (Pa) | |
| """ | |
| gravity = 9.81 # m/s² | |
| tensile_strength_pa = tensile_strength * 1e6 # Convert MPa to Pa | |
| thickness = (material_density * gravity * height * diameter) / (2 * tensile_strength_pa) | |
| return round(thickness * 1000, 2) # Return thickness in mm | |
| # Gradio interface | |
| def tank_thickness_interface(height, diameter, material_density, tensile_strength): | |
| thickness = calculate_tank_thickness(height, diameter, material_density, tensile_strength) | |
| return f"The calculated tank thickness is: {thickness} mm." | |
| # Create Gradio interface | |
| with gr.Blocks() as app: | |
| gr.Markdown("# Tank Thickness Calculator") | |
| gr.Markdown( | |
| "Calculate the required thickness of a tank based on its height, diameter, material density, and tensile strength." | |
| ) | |
| with gr.Row(): | |
| height_input = gr.Number(label="Tank Height (m)", value=5.0) | |
| diameter_input = gr.Number(label="Tank Diameter (m)", value=2.0) | |
| with gr.Row(): | |
| density_input = gr.Number(label="Material Density (kg/m³)", value=1000) | |
| tensile_input = gr.Number(label="Material Tensile Strength (MPa)", value=200) | |
| output = gr.Textbox(label="Result", interactive=False) | |
| calculate_button = gr.Button("Calculate Thickness") | |
| calculate_button.click( | |
| tank_thickness_interface, | |
| inputs=[height_input, diameter_input, density_input, tensile_input], | |
| outputs=output, | |
| ) | |
| # Launch the app | |
| if __name__ == "__main__": | |
| app.launch() |