adv-diff-reac
Solución numérica del problema de advección-difusión-reacción con FDM y FEM en Python
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (4.1%) to scientific vocabulary
Repository
Solución numérica del problema de advección-difusión-reacción con FDM y FEM en Python
Basic Info
- Host: GitHub
- Owner: GabrielaGutierrez2025
- Language: Jupyter Notebook
- Default Branch: main
- Size: 362 MB
Statistics
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Solver de la EDP de AdveccinDifusinReaccin
Autora: Gabriela Gutirrez
Fecha: Junio 2025
Descripcin
Este repositorio implementa un solver numrico para la ecuacin de adveccindifusinreaccin en un dominio rectangular 2D.
Ecuacin a resolver
math
\frac{\partial c}{\partial t} + A[c](t,x,y) = f(t,x,y), \quad
A[c](t,x,y) = \mathbf{V}(t,x,y)\cdot\nabla c - D\Delta c + \kappa c
con \$(t,x,y)\in [0,T]\times [0,L{x}]\times [0,L{y}]\$.
Con condiciones de contorno Dirichlet homogneas:
math
c(t,x,y) = 0 \quad (t, x, y) \in \partial([0,L_{x}]\times[0,L_{y}]), \forall t\in[0,T]
Condicin inicial:
math
c(0,x,y) = c_0(x,y)
Parmetros dados: \$D\$, \$\kappa\$, funciones \$\mathbf{V}(t,x,y)\$, \$f(t,x,y)\$ y \$c_0(x,y)\$.
Resumen de resultados
En este proyecto implementamos y comparamos dos tcnicas numricas para resolver la ecuacin de adveccindifusinreaccin en 2D:
- Mtodo de Diferencias Finitas (FDM)
- Mtodo de Elementos Finitos P1 (FEM)
A partir de un pulso gaussiano inicial centrado en \$(0.5,0.5)\$, las animaciones en results/ ilustran:
- Transporte: cmo el pulso viaja a lo largo del dominio arrastrado por el campo de velocidades \$\mathbf V(t,x,y)\$.
- Difusin: ensanchamiento gradual de la campana segn el coeficiente \$D\$.
- Reaccin: atenuacin exponencial de la amplitud con el parmetro \$k\$.
Ejemplos de salidas
FDM (
animacion_caso2_fdm.gif):
Se observa como la campana se ensancha por difusin, se desplaza arrastrada por el campo de velocidades y va perdiendo altura de forma suave por el trmino de reaccinFEM (
animacion_caso2_fem.gif):
Muestra el mismo experimento con elementos finitos P1. La onda inicial se difunde en el espacio, viaja segn el flujo dinmico y se diluye gradualmente por la reaccin.
Estructura del proyecto
adf-diff-reac/
src/ # Cdigo fuente Python (fdm.py, fem.py, adv_diff_reac.py)
notebooks/ # Jupyter Notebooks de pruebas y exploraciones
results/ # Figuras, animaciones y datos de salida
docs/ # Documentacin adicional
.gitignore # Archivos ignorados por Git
requirements.txt# Dependencias Python
README.md # Documentacin del proyecto
Instalacin
bash
git clone https://github.com/EDP-2025/adv-diff-reac.git
cd adv-diff-reac
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
Uso
Ejecuta el script principal:
bash
python src/adv_diff_reac.py
- Genera la animacin FDM en
results/anim_fdm.gif. - Genera la animacin FEM en
results/anim_fem.gif.
Etapas del trabajo
- FDM: Implementacin y resultados.
- FEM: Implementacin con elementos de orden 1 y triangulacin predefinida.
- Enunciado y etapas frmula, BC, CI y desglose de tareas.
- Resultados FDM animaciones y conclusiones de los distintos casos haciendo uso del mtodo de diferencias finitas.
- Resultados FEM animaciones y conclusiones de los distintos casos haciendo uso del mtodo de elementos finitos.
Referencias
Consulta todas las referencias en docs/referencias.md.
- AUTHORS Lista de autores y contribuciones.
Owner
- Name: Gabriela Gutierrez
- Login: GabrielaGutierrez2025
- Kind: user
- Repositories: 1
- Profile: https://github.com/GabrielaGutierrez2025