- 📖 Acerca del Proyecto
- ✨ Características Principales
- 🏛️ Instituciones Participantes
- 👥 Equipo de Investigación y Desarrollo
- 🚀 Instalación y Despliegue
- 📚 Citas y Referencias
- ❓ Preguntas Frecuentes (FAQ)
mGFD SimLab es un laboratorio virtual e interactivo de alto rendimiento para la simulación de fenómenos físicos mediante el Método de Diferencias Finitas Generalizadas sin Malla (mGFD).
El objetivo principal de este proyecto es democratizar la computación científica y el cálculo numérico avanzado, transformándolos en una experiencia visual, intuitiva y gamificada. Está diseñado para acercar la física matemática a estudiantes, investigadores y entusiastas STEM, operando sobre modelos matemáticos de cuencas hidrológicas y lagos reales de México.
| 🧪 Simulación Sin Malla (Meshless) Utiliza la potencia del método mGFD para resolver complejas Ecuaciones Diferenciales Parciales (EDPs) operando directamente sobre nubes de puntos, evitando la generación computacionalmente costosa de mallas estructuradas. |
🌊 Fenómenos Físicos Reales Módulos especializados para interactuar con la Ecuación de Poisson, Advección (transporte), Difusión Térmica, Advección-Difusión (contaminantes en lagos) y la Ecuación de Onda en membranas. |
| 🌍 Geografías Reales Simula el esparcimiento de calor o fluidos no en formas geométricas simples, sino sobre nubes de puntos reales extraídas de la topografía del Lago de Pátzcuaro, Zirahuén y Chapala. |
🎙️ Audioguía TTS Multilingüe Asistente virtual integrado mediante Text-to-Speech (TTS) natural. Explica en tiempo real la física ("Modo Curioso") y la matemática ("Súper Curioso"). Interfaz 100% traducida al Español e Inglés. |
| 🎮 Gamificación Didáctica Los usuarios aprenden física jugando a través de "misiones", controlando parámetros como fuentes de calor, velocidad del viento o densidad del agua. Incorpora un sistema de rangos y diplomas digitales. |
📈 Visualización 3D y Exportación Renderizado científico avanzado e interactivo en tiempo real utilizando Plotly y Matplotlib. Genera y descarga instantáneamente animaciones MP4 de las simulaciones completas. |
El desarrollo y la investigación detrás de este proyecto son posibles gracias a la sinergia científica y el apoyo de las siguientes instituciones:
Requisitos previos indispensables:
- Python 3.10+
- FFmpeg (requerido obligatoriamente por
matplotlibpara la compilación de videos.mp4)
Pasos de Instalación:
# 1. Clonar el repositorio
git clone https://github.com/gstinoco/mGFD_SimLab.git
cd mGFD_SimLab
# 2. Crear entorno virtual (Recomendado)
python3 -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# 3. Instalar dependencias núcleo y el motor mGFD
pip install -r requirements.txt
# 4. Configurar variables de entorno (Llave secreta de Flask)
cp web_app/config.py.example web_app/config.py
# 5. Compilar traducciones (i18n) a archivos binarios .mo
pybabel compile -d web_app/translations
# 6. Ejecutar servidor local de desarrollo Flask
python run.py🌐 El servidor de pruebas estará escuchando en
http://localhost:5001.
Si utilizas este software o sus simulaciones para investigación científica, propósitos académicos, tesis o artículos, por favor ayúdanos a darle visibilidad citándolo.
Tinoco-Guerrero, G., Guzmán-Torres, J. A., Domínguez-Mota, F. J., & Arias-Rojas, H. (2026). mGFD SimLab: Plataforma web interactiva para la simulación y enseñanza de fenómenos físicos con Diferencias Finitas Generalizadas sin Malla. Universidad Michoacana de San Nicolás de Hidalgo; SIIIA MATH.
@software{tinoco2026mGFD_simlab,
title = {{mGFD SimLab: Plataforma web interactiva para la simulación y enseñanza de fenómenos físicos con Diferencias Finitas Generalizadas sin Malla}},
author = {Tinoco-Guerrero, Gerardo and
Guzmán-Torres, José Alberto and
Domínguez-Mota, Francisco Javier and
Arias-Rojas, Heriberto},
year = {2026},
institution = {Universidad Michoacana de San Nicolás de Hidalgo},
organization = {SIIIA MATH: Soluciones en ingeniería},
url = {https://github.com/gstinoco/mGFD_SimLab}
}1. ¿Por qué usar mGFD en lugar de Elementos Finitos (FEM) convencionales? El método mGFD (Meshless Generalized Finite Difference) elimina la necesidad de generar mallas estructuradas complejas. Esto facilita enormemente trabajar con geometrías naturales reales (como lagos con islas, bahías y costas irregulares), operando de manera directa y eficiente sobre nubes de puntos dispersos.
2. ¿El proyecto requiere hardware especializado o una GPU dedicada? No necesariamente. La computación numérica interna está fuertemente vectorizada a través de NumPy y SciPy, por lo que puede ejecutarse de manera muy eficiente utilizando únicamente la CPU del servidor, aprovechando las nubes de puntos geográficas pre-cargadas.
3. ¿Cómo puedo agregar nuevos lagos, mapas o geometrías al simulador?
Puedes añadir tus propias nubes de puntos irregulares en el directorio web_app/static/data/clouds/. La plataforma está diseñada para detectarlas y procesarlas dinámicamente. Asegúrate de seguir la estructura de coordenadas requerida en la documentación interna del código.
Este software es de uso y distribución libre y gratuito exclusivamente para fines educativos, académicos y de divulgación científica de manera local.
Se distribuye bajo los términos de la Licencia MIT. Consulta el archivo LICENSE para conocer los detalles legales.
Si esta plataforma te ha resultado útil para tu investigación, clases o aprendizaje de física y matemáticas, considera regalarle una estrella ⭐️ al repositorio. ¡Nos ayuda enormemente a llegar a más estudiantes e investigadores!
Las matemáticas que mueven el mundo.














