Skip to content

About

Sistema RAG para simulación industrial con DWSIM - Datos termofísicos ThermoML NIST-TRC

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

🧪 RAG DWSIM - Plataforma de Simulación Industrial

Python 3.10+ DWSIM License: MIT

Sistema RAG (Retrieval-Augmented Generation) para simulación de procesos químicos con DWSIM, integrando datos termofísicos validados del NIST-TRC.

📊 Estadísticas de la Base de Datos

Fuente de Datos Cantidad
ThermoML (NIST-TRC) 8,539 compuestos
Materials Project 154,879 materiales
OQMD 7,000 materiales DFT
Elementos Químicos 29
Mediciones Experimentales 123,240
TOTAL ENTIDADES 170,447

🎯 Características

  • Sistema RAG Híbrido: Búsqueda vectorial + Grafo de conocimiento
  • Integración DWSIM: Datos termofísicos listos para simulación
  • Datos Validados NIST: ThermoML con referencias DOI
  • Property Packages: NRTL, UNIQUAC, Peng-Robinson, SRK, UNIFAC
  • +61.4% Mejora: En precisión de búsqueda vs métodos tradicionales

🚀 Instalación Rápida

# Clonar repositorio
git clone https://github.com/tu-usuario/rag-dwsim.git
cd rag-dwsim

# Crear entorno virtual
python -m venv .venv
.venv\Scripts\activate  # Windows
# source .venv/bin/activate  # Linux/Mac

# Instalar dependencias
pip install -r requirements-rag.txt

📁 Estructura del Proyecto

RAG DWSIM bases/
├── dashboard_proyecto_v2.html    # Dashboard interactivo
├── requirements-rag.txt          # Dependencias Python
│
├── data/                         # Datos fuente
│   ├── thermoml/                 # Datos ThermoML procesados
│   ├── materials_project/        # Scripts Materials Project
│   ├── oqmd/                     # Scripts OQMD
│   └── nobel_elements.json       # Elementos químicos
│
├── dwsim_integration/            # Integración DWSIM
│   ├── thermoml_compounds_full.json
│   ├── dwsim_property_database.json
│   └── integration_report.md
│
├── rag_indexes/                  # Índices RAG
│   └── knowledge_graph.json
│
├── reports/                      # Reportes generados
│   ├── rag_comparison_report.json
│   └── roi_case_study.json
│
├── scripts/                      # Scripts Python
│   ├── generate_release_v2.3_dwsim.py
│   ├── thermoml_parser.py
│   ├── dwsim_connector.py
│   ├── query_engine.py
│   └── ...
│
└── docs/                         # Documentación
    ├── README.md
    ├── QUICKSTART.md
    ├── RAG_ARCHITECTURE.md
    └── Grandes_Hitos_de_la_Ciencia_v2.3_*.pdf

💡 Uso Básico

Generar Dashboard

cd scripts
python generate_release_v2.3_dwsim.py

Consultar el Sistema RAG

from scripts.query_engine import RAGSearcher
from scripts.rag_setup import DWSIMKnowledgeBase

# Cargar base de conocimiento
kb = DWSIMKnowledgeBase()

# Crear buscador RAG
rag = RAGSearcher(kb)

# Buscar propiedades
results = rag.search("etanol propiedades termodinámicas DWSIM", top_k=10)

for r in results:
    print(f"{r.title} | Score: {r.score:.1f} | DWSIM: {r.dwsim_compatible}")

Generar PDF de Documentación

cd scripts
python generate_pdf_v2.3.py

⚗️ Caso de Estudio: Destilación Etanol-Agua

El proyecto incluye un caso de estudio completo de diseño de columna de destilación:

  • Alimentación: 1000 kg/h, 12% mol etanol
  • Destilado: Pureza 95.2% etanol
  • Property Package: NRTL
  • Precisión: 99.78% vs datos experimentales

Resultados Simulados vs Experimentales

Parámetro Simulado Experimental Error
T destilado 78.2°C 78.4°C 0.26%
Pureza EtOH 0.893 0.895 mol/mol 0.22%
Q condensador -892.4 kW -895.0 kW 0.29%

📦 Dependencias Principales

  • chromadb - Vector database
  • sentence-transformers - Embeddings
  • reportlab - Generación PDF
  • pandas, numpy - Procesamiento de datos

🔗 Enlaces

🚀 Roadmap - Próximas Mejoras

v3.0 - Orquestación Avanzada con LangChain/LangGraph

  • Framework LangChain: Integración para orquestar flujos de trabajo complejos de ingeniería de procesos
  • LangGraph Agents: Agentes especializados para diseño de equipos, optimización y análisis de sensibilidad
  • Cadenas de Razonamiento: Multi-step reasoning para problemas de ingeniería química complejos

v3.1 - Embeddings Específicos del Dominio

  • Fine-tuning con Aprendizaje Contrastivo: Ajuste de modelos de embedding para vocabulario químico especializado
  • Dataset de Entrenamiento: Corpus de literatura científica química + nomenclatura IUPAC
  • Mejora de Precisión: Objetivo +25% en recuperación de términos técnicos (VLE, NRTL, fugacidad, etc.)

v3.2 - Modelo Open Core

  • Core Open Source: Funcionalidades básicas RAG + integración DWSIM (MIT License)
  • Extensiones Enterprise:
    • Dashboard avanzado con analytics
    • Conectores ERP/LIMS
    • Soporte multi-usuario
    • API REST empresarial

v4.0 - Integración LLM Avanzada

  • Consultas en Lenguaje Natural: "Diseña una columna para separar etanol-agua al 95%"
  • Generación Automática de Flowsheets: LLM → DWSIM flowsheet
  • Validación Automática: Verificación de resultados contra datos experimentales

⚖️ Cumplimiento Legal - Licencia DWSIM (GPLv3)

Arquitectura de Integración

Este proyecto respeta la licencia GPLv3 de DWSIM mediante las siguientes medidas:

┌─────────────────────────────────────────────────────────────┐
│                    RAG DWSIM Platform                       │
│                      (MIT License)                          │
├─────────────────────────────────────────────────────────────┤
│  ┌─────────────────┐    ┌─────────────────────────────────┐ │
│  │  Core RAG       │    │  Enterprise Extensions          │ │
│  │  (Open Source)  │    │  (Propietario - Opcional)       │ │
│  │                 │    │                                 │ │
│  │  • ThermoML DB  │    │  • Dashboard Analytics          │ │
│  │  • Vector Index │    │  • Multi-tenant                 │ │
│  │  • Query Engine │    │  • API Empresarial              │ │
│  └────────┬────────┘    └────────────┬────────────────────┘ │
│           │                          │                      │
│           └──────────┬───────────────┘                      │
│                      │                                      │
│              ┌───────▼───────┐                              │
│              │  COM API      │  ← Barrera de Aislamiento    │
│              │  Interface    │                              │
│              └───────┬───────┘                              │
└──────────────────────┼──────────────────────────────────────┘
                       │
         ┌─────────────▼─────────────┐
         │        DWSIM              │
         │      (GPLv3)              │
         │                           │
         │  Automation COM Server    │
         │  IPC / Process Boundary   │
         └───────────────────────────┘

Principios de Cumplimiento

  1. Separación de Procesos: La integración con DWSIM se realiza exclusivamente a través de la API de Automatización COM, manteniendo una barrera de proceso clara.

  2. Sin Linking Directo: No existe enlace estático ni dinámico con bibliotecas DWSIM, evitando la "contaminación" GPLv3.

  3. Comunicación IPC: Toda comunicación es inter-proceso (COM/IPC), lo que según la interpretación de la FSF, no constituye una "obra derivada".

  4. Propiedad Intelectual Protegida: Las extensiones propietarias permanecen aisladas del código GPLv3.

Referencias Legales

Nota: Este proyecto es una plataforma independiente que utiliza DWSIM como herramienta externa de simulación. No modifica, redistribuye ni incorpora código fuente de DWSIM.

👤 Autor

Roberto Andrés Flores Núñez

📄 Licencia

Este proyecto está bajo la Licencia MIT - ver el archivo LICENSE para detalles.


⚗️ Plataforma de Simulación Industrial con RAG Semántico

About

Sistema RAG para simulación industrial con DWSIM - Datos termofísicos ThermoML NIST-TRC

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages