7.0 KiB
7.0 KiB
Water Hammer Simulator - ScriptsManager Edition
Interactive Hydraulic Transient Analysis for Syrup Pumping Systems
🎯 Overview
Interactive web-based water hammer simulator for analyzing hydraulic transients in syrup pumping systems. Built for ScriptsManager framework with multi-language support, real-time parameter adjustment, and Chart.js visualizations.
🏭 System Features
- Fluid: Syrup (density 1100-1300 kg/m³, temperature-dependent properties)
- Pipeline: Stainless steel, configurable diameter and length
- Pump: Variable pressure and flow rate
- Valve: Controllable closure time (0.1 - 20s)
- Protection: Optional hydropneumatic damper analysis
- Analysis: Joukowsky equations with reduction factors
🌐 Multi-Language Support
- English - Complete interface and documentation
- Español - Interfaz y documentación completa
- Italiano - Interfaccia e documentazione completa
- Français - Interface et documentation complète
🚀 ScriptsManager Integration
This simulator follows ScriptsManager specifications:
python hammer_simulator.py --data-dir /path/to/data --user-level operator --port 5200 --project-id project_name
Features:
- Project-specific data persistence
- User-level access control
- Automatic port management
- Session-based configuration storage
- Multi-project support
✨ Funcionalidades Principales
🖥️ Interfaz Gráfica Interactiva
- Modificación de parámetros en tiempo real
- Visualización inmediata de resultados
- Gráficos profesionales con Matplotlib
- Análisis de seguridad automático
🔧 Parámetros Configurables
- Sistema hidráulico: longitud, diámetro, rugosidad
- Propiedades del fluido: densidad, temperatura, módulo bulk
- Operación: caudal, presión, tiempo de cierre
- Protección: damper con volumen y presión ajustable
📊 Análisis y Resultados
- Cálculo de sobrepresión máxima
- Velocidad de onda de presión
- Tiempo crítico de cierre
- Análisis de seguridad automático
- Recomendaciones de protección
💾 Exportación
- Gráficos en alta resolución (PNG)
- Reportes detallados
- Configuraciones guardables
🚀 Instalación
Requisitos del Sistema
- Python 3.12 o superior
- Sistema operativo: Windows, Linux o macOS
- Memoria RAM: 4GB mínimo (8GB recomendado)
Instalación Paso a Paso
- Clonar el repositorio
git clone https://github.com/miguefin/colpo_ariete_interattivo.git
cd colpo_ariete_interattivo
- Crear entorno virtual (recomendado)
# Con conda
conda create -n tsnet python=3.12
conda activate tsnet
# O con venv
python -m venv tsnet_env
# Windows
tsnet_env\Scripts\activate
# Linux/macOS
source tsnet_env/bin/activate
- Instalar dependencias
pip install -r requirements.txt
🎮 Uso
Ejecutar el Simulador Principal
python simulador_hammer_interactivo.py
Interfaz Gráfica
- Panel de Parámetros: Ajusta las características del sistema
- Panel de Control: Ejecuta simulaciones y análisis
- Panel de Resultados: Visualiza gráficos y resultados
- Panel de Protección: Configura dampers y sistemas de protección
Flujo de Trabajo Típico
- Configurar parámetros del sistema
- Ejecutar simulación base
- Analizar resultados de seguridad
- Ajustar protecciones si es necesario
- Exportar resultados y reportes
📁 Estructura del Proyecto
colpo_ariete_interattivo/
├── simulador_hammer_interactivo.py # 🎯 Aplicación principal
├── conceptos_golpe_ariete.md # 📚 Documentación técnica
├── requirements.txt # 📦 Dependencias
├── README.md # 📖 Este archivo
├── doc/ # 📁 Documentación adicional
│ ├── configurador_hammer.py # 🧮 Calculadora rápida
│ ├── simulador_hammer_simple.py # 🔧 Versión simplificada
│ ├── simulador_jarabe_final.py # 🏭 Versión específica jarabe
│ └── *.png # 📊 Ejemplos de resultados
└── test/ # 🧪 Scripts de prueba
├── test_tsnet_*.py # ✅ Tests unitarios
└── debug_*.py # 🔍 Scripts de depuración
🔬 Fundamentos Técnicos
Ecuación de Joukowsky
ΔP = ρ × c × ΔV
- ΔP: Sobrepresión (Pa)
- ρ: Densidad del fluido (kg/m³)
- c: Velocidad de onda (m/s)
- ΔV: Cambio de velocidad (m/s)
Velocidad de Onda de Presión
c = √(K/ρ) / √(1 + (K/E) × (D/e))
- K: Módulo bulk del fluido (Pa)
- E: Módulo de Young del material (Pa)
- D: Diámetro interno (m)
- e: Espesor de pared (m)
⚠️ Criterios de Seguridad
- Presión máxima: No superar 1.5 × presión nominal
- Tiempo crítico: Tc = 2L/c (tiempo mínimo seguro)
- Factor de seguridad: Mínimo 2.0 para aplicaciones críticas
🛡️ Sistemas de Protección
Damper Hidropneumático
- Volumen ajustable (10-200 litros)
- Presión de precarga configurable
- Posición optimizable en la línea
- Análisis automático de efectividad
📈 Ejemplos de Resultados
El simulador genera automáticamente:
- Gráficos de presión vs tiempo
- Análisis de velocidad de flujo
- Mapas de riesgo por tiempo de cierre
- Recomendaciones de protección
🔧 Desarrollo y Contribución
Tecnologías Utilizadas
- Python 3.12: Lenguaje base
- Tkinter: Interfaz gráfica
- Matplotlib: Visualización avanzada
- NumPy: Cálculos numéricos
- TSNet: Simulación de transitorios
Estructura del Código
- Programación orientada a objetos
- Interfaz modular y extensible
- Documentación completa en código
- Tests unitarios incluidos
📞 Soporte y Contacto
- Repositorio: GitHub
- Issues: Reportar bugs y solicitar funcionalidades
- Documentación: Wiki del proyecto
- Autor: Generado con GitHub Copilot (Septiembre 2025)
📄 Licencia
Este proyecto está bajo la Licencia MIT. Ver archivo LICENSE
para más detalles.
🙏 Agradecimientos
- Comunidad TSNet por las herramientas de simulación
- GitHub Copilot por asistencia en desarrollo
- Comunidad Python por las excelentes librerías
¡Contribuciones bienvenidas! 🚀
Si encuentras bugs, tienes ideas de mejora o quieres contribuir al proyecto, no dudes en abrir un issue o pull request.