Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mGFD SimLab Logo

🧪 mGFD SimLab 🔬

Plataforma Web Interactiva para la Simulación y Enseñanza de Fenómenos Físicos Matemáticos


Python Version Framework License Method i18n




📑 Enlaces Rápidos


📖 Acerca del Proyecto

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.


✨ Características Principales

🧪 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.

🏛️ Instituciones Participantes

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:

Logo Institución Descripción
SIIIA MATH SIIIA MATH Empresa tecnológica enfocada en soluciones matemáticas para la ingeniería, cómputo de alto rendimiento y desarrollo de simulaciones numéricas avanzadas.
SECIHTI SECIHTI Secretaría de Educación, Ciencia, Tecnología e Innovación. Institución fundamental en el impulso de la investigación y desarrollo tecnológico.
UMSNH UMSNH Universidad Michoacana de San Nicolás de Hidalgo. Histórica casa de estudios y cuna académica principal de la investigación de este proyecto.
CIMNE-Morelia Aula CIMNE-Morelia Aula de la red del Centro Internacional de Métodos Numéricos en Ingeniería (CIMNE), promoviendo la colaboración científica interdisciplinaria a nivel internacional.

👥 Equipo de Investigación y Desarrollo



Dr. Gerardo Tinoco-Guerrero
Ingeniería en Ingeniería Física

Email
ORCID
ResearchGate

Dr. J. Alberto Guzmán-Torres
Ciencias en Ingeniería Física

Email
ORCID
ResearchGate

Dr. Francisco J. Domínguez-Mota
Ciencias Matemáticas

Email
ORCID
ResearchGate

Dr. Heriberto Arias-Rojas
Ciencias en Ingeniería Física

Email
ORCID
ResearchGate

🎓 Estudiantes Colaboradores


Gabriela Pedraza-Jimenez
Candidata a Doctorado

Eli Chagolla-Inzunza
Candidato a Doctorado

Jorge L. González-Figueroa
Estudiante de Maestría

C. Nolan Magaña-Barocio
Estudiante de Maestría

Maria Goretti Fraga-Lopez
Estudiante de Licenciatura

Maria Camila Díaz-Reyes
Estudiante de Licenciatura

🚀 Instalación y Despliegue

Requisitos previos indispensables:

  • Python 3.10+
  • FFmpeg (requerido obligatoriamente por matplotlib para 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.


📚 Citas y Referencias (Citation)

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.

📝 Referencia Estilo APA

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.

💻 Código BibTeX

@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}
}

❓ Preguntas Frecuentes (FAQ)

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.


📄 Licencia y Uso

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.


🌟 ¡Apoya este proyecto científico!

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!

GitHub stars GitHub forks GitHub watchers



Las matemáticas que mueven el mundo.

About

Plataforma web gamificada e interactiva para la simulación de fenómenos físicos y cálculo numérico utilizando el método de Diferencias Finitas Generalizadas sin Malla (mGFD).

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages