Arranque del Calculador Prodisys ================================ Ubicación de la aplicación -------------------------- La aplicación activa se encuentra en:: ~/Documents/Prodisys/ProdisysApps/Calculador El punto de entrada principal de la interfaz es:: app.ipynb La aplicación hidráulica se utiliza mediante JupyterLab. Base de datos SQL Server ------------------------ El Calculador utiliza las bases de datos persistentes ``PFD`` y ``EQP`` alojadas en SQL Server dentro de Docker. El contenedor activo es:: sqlserver-persistente El volumen persistente asociado es:: sqlserver_data El puerto SQL Server publicado en el host es:: 1433 Antes de iniciar el Calculador se debe verificar que SQL Server esté activo:: docker ps --filter name=sqlserver-persistente Si el contenedor está detenido, iniciar con:: docker start sqlserver-persistente Para verificar que SQL Server quedó preparado para recibir conexiones:: docker logs --tail 80 sqlserver-persistente Debe aparecer un mensaje equivalente a:: SQL Server is now ready for client connections. Las credenciales y cadenas de conexión se mantienen en el archivo local ``.env`` del Calculador y no deben incluirse en la documentación ni versionarse en Git. JupyterLab ---------- Desde el servidor:: cd ~/Documents/Prodisys/ProdisysApps/Calculador jupyter lab --no-browser --ip=0.0.0.0 La instancia validada utiliza el puerto:: 8888 El servidor Prodisys tiene actualmente la dirección LAN:: 192.168.2.19 Desde un cliente ubicado en la misma red se accede mediante:: http://192.168.2.19:8888/lab La regla de firewall validada permite el puerto 8888 únicamente desde la red local ``192.168.2.0/24``. Puede verificarse con:: sudo ufw status numbered Una vez dentro de JupyterLab se debe abrir:: app.ipynb Entorno del Calculador ---------------------- La interfaz hidráulica principal fue validada utilizando el kernel basado en:: fenicsx-env La aplicación carga correctamente sus módulos desde ``src/`` y se conecta a las bases de datos ``PFD`` y ``EQP`` cuando el contenedor SQL Server está activo. Módulos Cantera y combustión ---------------------------- Los desarrollos de gases y combustión se encuentran en:: src/logic/thermo/cantera/ Actualmente estos módulos se utilizan desde Python y todavía no están integrados completamente en la interfaz gráfica principal. El entorno Conda validado para estos cálculos es:: conda activate fenicsx-cantera La configuración comprobada es: - Python 3.12 - Cantera 3.2.0 - DOLFINx 0.10.0 Puede verificarse Cantera mediante:: conda run -n fenicsx-cantera python -c \ 'import cantera as ct; g=ct.Solution("gri30.yaml"); print(ct.__version__, g.n_species)' Durante la validación, ``gri30.yaml`` cargó correctamente con 53 especies. Los tests específicos se encuentran en:: tests/thermo/ Algunos tests de velocidad de llama utilizan ``Cantera FreeFlame`` y pueden consumir una cantidad importante de CPU. No se recomienda ejecutar toda la suite simultáneamente con simulaciones OpenFOAM intensivas. Secuencia recomendada de arranque --------------------------------- 1. Verificar o iniciar ``sqlserver-persistente``. 2. Confirmar que SQL Server está escuchando en el puerto 1433. 3. Entrar a ``~/Documents/Prodisys/ProdisysApps/Calculador``. 4. Iniciar JupyterLab. 5. Acceder desde el cliente a ``http://192.168.2.19:8888/lab``. 6. Abrir ``app.ipynb``. 7. Para trabajos de combustión, utilizar el entorno ``fenicsx-cantera``. Cierre ------ JupyterLab se detiene con ``Ctrl+C`` en la terminal donde fue iniciado. El contenedor SQL Server puede detenerse, cuando no sea requerido por otras aplicaciones, mediante:: docker stop sqlserver-persistente Antes de detener SQL Server debe comprobarse que ninguna otra aplicación dependa de las bases de datos.