Skip to content

DTCarlox77/ReactSimStudio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ReactSim Studio

ReactSim Studio es un simulador técnico de reactores batch ideales desarrollado en Python. Su objetivo es ofrecer una base sólida para análisis, validación y estudio de casos de reacción en fase líquida mediante una interfaz de escritorio moderna, un motor numérico reproducible y una arquitectura preparada para crecer.

El proyecto combina una GUI en PySide6 con un núcleo de simulación desacoplado que normaliza entradas al Sistema Internacional, valida coherencia física y resuelve balances diferenciales con scipy.integrate.solve_ivp.

Enfoque del producto.

ReactSim Studio está orientado a uso técnico general. Puede utilizarse para análisis preliminar, evaluación de escenarios, demostración de comportamiento dinámico, validación de casos de referencia y extensión futura hacia modelos más complejos.

Capacidades actuales.

  • Simulación de reactores batch ideales en fase líquida y volumen constante.
  • Modo isotérmico, no isotérmico adiabático y no isotérmico con chaqueta a temperatura constante.
  • Resolución numérica con RK45, Radau y BDF.
  • Selección automática de solver con lógica de respaldo y diagnóstico.
  • Cinética por ley de potencia.
  • Cinética con dependencia de Arrhenius.
  • Cinética personalizada segura mediante expresiones validadas.
  • Conversión automática de unidades al Sistema Internacional.
  • Detección y reporte de errores de entrada con ayudas visuales en la GUI.
  • Gráficas interactivas con vista ampliada, zoom e inspección de puntos.
  • Exportación de casos y resultados a PDF.
  • Guardado y carga de casos en formato propio .reactsim.
  • Biblioteca de benchmarks ReactSim integrada.
  • Consola de cálculo para seguir la lógica interna de la simulación.
  • Construcción de distribución Windows mediante PyInstaller.

Alcance actual del modelo.

La versión actual trabaja bajo las siguientes hipótesis:

  • Mezcla perfectamente agitada.
  • Fase líquida.
  • Volumen constante.
  • Una sola reacción irreversible.
  • Propiedades térmicas tratadas como constantes dentro del caso.
  • Estados formulados en concentraciones y, cuando aplica, temperatura.

Alcance no incluido por ahora.

Actualmente no se incluyen:

  • Gases ideales.
  • Volumen variable.
  • Múltiples reacciones simultáneas.
  • Reacciones reversibles.
  • Dependencia explícita de propiedades con la temperatura más allá del marco cinético tipo Arrhenius.

Arquitectura.

El proyecto está dividido para separar claramente la interfaz de usuario, el motor físico-numérico y los recursos de ejecución.

ReactSim/
├── compiler/                 # Scripts de distribución y build con PyInstaller.
├── docs/                     # Manual técnico y documentación exportada.
├── public/                   # Recursos públicos auxiliares.
├── src/
│   ├── batch/
│   │   ├── resources/        # Íconos, benchmarks y rutas de recursos.
│   │   ├── simulation/       # Núcleo matemático, validación y motor numérico.
│   │   ├── ui/               # Arranque, splash, tema y ventana principal.
│   │   └── README.md         # Mapa general del paquete batch.
│   └── reactsim.egg-info/    # Metadata generada por setuptools.
├── LICENSE
├── pyproject.toml
├── requirements.txt
└── README.md

Requisitos.

  • Python 3.10 o superior.
  • Windows 10 u 11 para la build distribuible actual.
  • pip actualizado.

Instalación para desarrollo.

  1. Clona el repositorio.
git clone https://github.com/DTCarlox77/ReactSim.git
cd ReactSim
  1. Crea y activa un entorno virtual.

Windows.

python -m venv venv
venv\Scripts\activate

macOS o Linux.

python -m venv venv
source venv/bin/activate
  1. Instala dependencias.
pip install -r requirements.txt

Ejecución.

Con el entorno activo, puedes iniciar la aplicación con cualquiera de estos comandos:

reactsim

o:

ReactSim

También puedes ejecutarla directamente desde el módulo principal:

python src/batch/ui/main.py

Uso general.

  1. Define el caso en la pestaña de datos generales.
  2. Agrega especies, coeficientes estequiométricos y concentraciones iniciales.
  3. Configura la cinética mediante ley de potencia o expresión personalizada.
  4. Si aplica, define el balance térmico del caso.
  5. Ejecuta la simulación.
  6. Revisa el resumen, las gráficas, la tabla, los mensajes y la terminal de cálculo.
  7. Guarda el caso en .reactsim o exporta el reporte en PDF si necesitas trazabilidad.

Archivo de caso propio.

ReactSim Studio usa el formato .reactsim para guardar casos. Esto permite:

  • Recuperar una simulación sin volver a escribir entradas.
  • Compartir benchmarks o escenarios entre usuarios.
  • Mantener una biblioteca interna de casos de referencia.

Benchmarks y documentación.

El proyecto incluye:

  • Benchmarks ReactSim integrados dentro de la aplicación.
  • Manual técnico en docs/ReactSim_instructivo_tecnico.pdf.

Compilación y distribución.

La carpeta compiler/ contiene el flujo de empaquetado para Windows con PyInstaller.

Para generar una distribución lista para compartir:

python compiler/build.py

Esto genera:

  • Una carpeta distribuible en dist/ReactSim.
  • Un comprimido listo para compartir en dist/ReactSim-<version>-windows.zip.

Opcionalmente, también puede generarse una build onefile:

python compiler/build.py --onefile

La opción recomendada sigue siendo onedir, porque suele ser más estable en aplicaciones Qt con recursos gráficos y científicos.

Extensión del proyecto.

ReactSim Studio está diseñado para poder ampliarse sin reescribir el sistema completo. La separación entre ui/ y simulation/ permite evolucionar el motor, agregar nuevas hipótesis de modelado o construir nuevos flujos de análisis sobre una base estable.

Si deseas extenderlo, el mejor punto de entrada es:

  • src/batch/simulation/README.md, para entender el motor.
  • src/batch/ui/window/README.md, para entender la ventana principal.
  • compiler/README.md, para entender el flujo de distribución.

Licencia.

Este proyecto se distribuye bajo la Licencia MIT.

Créditos.

Hecho por: Carlos Adrián Espinosa Luna y Blanca Gisell Rivas Medal.

Supervisado por: MSc. Juan Manuel Alonso Santos.

Universidad Nacional de Ingeniería.

About

ReactSim Studio is a desktop simulator for ideal batch reactors, with isotérmic and non-isotérmic analysis, numerical solvers, case persistence, and technical result visualization.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages