SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
El uso de Python en la
ingeniería química
Computer-aided Chemical Engineering

www.cacheme.org

24/11/2013
PyConES

24/11/2013

cacheme.org

Esquema
• Presentación
• ¿Por qué Python?

• Resolución de ecuaciones en derivadas

parciales
• Resolución de problemas de optimización
• Diseño de reactores en la industria de

procesos químicos

2
PyConES

Presentación

24/11/2013

cacheme.org

• Asociación formada por ingenieros químicos

(profesionales, docentes y estudiantes) que pretende
estimular las posibilidades de software en la ingeniería de
procesos.
• Promueve las ventajas de las nuevas herramientas de

software libre disponibles y fomenta su uso en la
universidad e industria.
• Especialización en simulación y programación

matemática (optimización).

3
PyConES

¿Quiénes somos?

24/11/2013

cacheme.org

4
PyConES

Actividades
• Formación
• Webinars
• Desarrollo
• ¡Podcast!

24/11/2013

cacheme.org

5
PyConES

¿Por qué Python?

24/11/2013

cacheme.org

• Python es lenguaje de alto nivel conveniente para un
•
•

•

•
•
•

desarrollo rápido de código
Su filosofía de diseño enfatiza la simplicidad y legibilidad de
código
Posee núcleo de lenguaje relativamente pequeño con el apoyo
de magníficas librerías (NumPy, SciPy, scikit-learn pandas,
matplotlib etc.)
Es lenguaje multiparadigma, en el que varios estilos de
programación son compatibles (imperativo, orientado a
objetos, funcional)
Lenguaje de programación interpretado en lugar de compilado.
Es multiplataforma (Windows, MacOS y Linux)
Software libre

6
PyConES

“As a simulation engineer in 2013, you really are standing on the
shoulders of giants”
Abhishek Chintagunta

24/11/2013

cacheme.org

CFD and Coffee (blog)

•
•
•
•

Franz Navarro
Ingeniero Químico
Universidad de Alicante
francisco.navarro@cacheme.org

1. Resolución de EDPs con Python

7
PyConES

1. Resolución de EDP

24/11/2013

cacheme.org

• Las ecuaciones en derivadas parciales (EDP) permiten modelar fenómenos

físicos como la propagación del sonido o del calor, la electrostática, la
electrodinámica, la dinámica de fluidos, etc.
• Existen numerosos paquetes de software para resolver EDP, usando una

variedad de lenguajes y métodos numéricos.
• Comerciales: COMSOL Multiphysics, ANSYS, Abaqus...
• Free/Open source: OpenFOAM, FreeFem++, Elmer, FiPy…

Problema simple de difusión resuelto en Python (FiPy) con menos de 40 líneas de código

8
PyConES

CFD with Python:
12 steps to Navier Stokes

24/11/2013

cacheme.org

Lorena A. Barba

• Modulo interactivo online de CFD con Python

impartido por la profesora Lorena A. Barba (Boston
University)
• Diseñado para principiantes en programación y en

CFD
• Resolución numérica mediante el método de las

diferencias finitas
• Videos explicativos de sus clases también online
• Material y código libre y gratuito

lorenabarba.com

9
PyConES

CFD with Python: Lorena A. Barba
12 steps to Navier Stokes
• Convección lineal

(a)

• Difusión
• Ecuación de Burgers

• Pasos 5-10 pasan a 2D:
• Convección lineal
• Convección no lineal
• Difusión
• Ecuación de Burgers
• Ecuación de Laplace
• Ecuación de Poisson

• Pasos 11-12 resuelve la ecuación de Navier-Stokes en 2D:
• Flujo en una cavidad
• Flujo en un canal

(a)

(b)

+Introducción a Python, Numpy, SimPy, matplotlib y Numba

10

cacheme.org

• Pasos 1-4 son en una dimensión:
• Convección no lineal

24/11/2013

(b)
PyConES

CFD with Python: Lorena A. Barba
12 steps to Navier Stokes
• Paso 7: Difusión en 2D

Reorganizando la ecuación discretizada:

24/11/2013

11

cacheme.org
PyConES

CFD with Python: Lorena A. Barba
12 steps to Navier Stokes
• Paso 7: Difusión en 2D

Reorganizando la ecuación discretizada:

24/11/2013

12

cacheme.org
PyConES

CFD with Python: Lorena A. Barba
12 steps to Navier Stokes

24/11/2013

13

cacheme.org

• Paso 7: Difusión en 2D

Condición CFL para asegurar la convergencia,
se trabaja con ella en el Paso 3.
PyConES

CFD with Python: Lorena A. Barba
12 steps to Navier Stokes
• Paso 7: Difusión en 2D

24/11/2013

14

cacheme.org
PyConES

CFD with Python: Lorena A. Barba
12 steps to Navier Stokes

24/11/2013

15

cacheme.org
PyConES

24/11/2013

16

cacheme.org

FiPy

• FiPy resuelve EDPs mediante el método de los volúmenes finitos (FVM)

con programación orientada a objetos y estando escrito en Python.
• Mayor grado de abstracción (integradas funciones de mallado de Gmesh)
• Framework maduro y bien documentado (permite Python 3.x)
• 100% gratuita y de dominio de público (open source)
• Utilizado en investigación y academia (especializado en ciencia de los

materiales)
• Desarrollado en centros de investigación norteamiercanos (CTCMS y

NIST).
ctcms.nist.gov/fipy/
PyConES

24/11/2013

17

cacheme.org

FiPy
• Resolución de ecuaciones con la siguiente forma:

transitorio

difusión

convección

fuente (source)

Siendo 𝜌, 𝑢, Γ𝑖 los coeficientes de sus respectivos términos

• Permite acoplar fenómenos multifísicos de forma sencilla.

ctcms.nist.gov/fipy/
PyConES

18

24/11/2013

cacheme.org

FiPy: Ejemplo

• Ejemplo de resolución de un problema de difusión en estado estacionario

pero con una geometría circular y FiPy.
• Mallado

P3
C1
C2
P1

P2

P4
C3

C4
P5

cacheme.org
PyConES

24/11/2013

19

cacheme.org

FiPy: Ejemplo

Usando la malla construimos
las variables de las celdas
Representar la malla

Coeficiente de difusión
Condiciones de contorno
Resolución
Representación (ejecutado en un script)
PyConES

Conclusiones

24/11/2013

cacheme.org

• Python junto a sus librerías permite la resolución de problemas

típicos de ingeniería y todo ello en un mismo lenguaje-entorno.
• Python permite centrarse en el algoritmo y no en la sintaxis del

lenguaje. Es la navaja suiza de los lenguajes permitiendo pasar a C
en cualquier momento que se necesite.
• Es multiplataforma, libre y gratuito por lo que su adopción en

universidades y empresa es sencilla
• Si se quiere una herramienta lo más compatible con MATLAB,

Octave UPM es otra opción interesante pero mantendrá sus mismas
capacidades (y limitaciones) técnicas.
• Python es posiblemente la mejor opción como primer lenguaje

de programación en el ámbito de programación científica.

20
24/11/2013

PyConES

www.cacheme.org

@CAChemEorg
CAChemEorg

CAChemE
mail

info@cacheme.org

21

Más contenido relacionado

La actualidad más candente

Teorema π de buckingham
Teorema π de buckinghamTeorema π de buckingham
Teorema π de buckingham
JasminSeufert
 
Aplicación de ecuaciones diferenciales homogéneas
Aplicación de ecuaciones diferenciales homogéneasAplicación de ecuaciones diferenciales homogéneas
Aplicación de ecuaciones diferenciales homogéneas
Mayi Punk
 
Aplicaciones ecuaciones =d
Aplicaciones ecuaciones =dAplicaciones ecuaciones =d
Aplicaciones ecuaciones =d
brizeidaandrade
 

La actualidad más candente (20)

Método de newton raphson Metodos Numericos
Método de newton raphson Metodos NumericosMétodo de newton raphson Metodos Numericos
Método de newton raphson Metodos Numericos
 
Wankat, p ingenieria de procesos de separacion 2ed
Wankat, p   ingenieria de  procesos de separacion 2edWankat, p   ingenieria de  procesos de separacion 2ed
Wankat, p ingenieria de procesos de separacion 2ed
 
Solicitación por torsión
Solicitación por torsiónSolicitación por torsión
Solicitación por torsión
 
Operaciones unitarias en ingenieria quimica 7ma edición warren l. mc cabe
Operaciones unitarias en ingenieria quimica 7ma edición   warren l. mc cabeOperaciones unitarias en ingenieria quimica 7ma edición   warren l. mc cabe
Operaciones unitarias en ingenieria quimica 7ma edición warren l. mc cabe
 
ventajas y desventajas de los metodos secante,biseccion, newton-raphson
ventajas y desventajas de los metodos secante,biseccion, newton-raphsonventajas y desventajas de los metodos secante,biseccion, newton-raphson
ventajas y desventajas de los metodos secante,biseccion, newton-raphson
 
Tesis agitador
Tesis agitadorTesis agitador
Tesis agitador
 
Apuntes sobre flujo en tuberías con ejemplos
Apuntes sobre flujo en tuberías con ejemplosApuntes sobre flujo en tuberías con ejemplos
Apuntes sobre flujo en tuberías con ejemplos
 
Matlab para Ingenieros.pdf
Matlab para Ingenieros.pdfMatlab para Ingenieros.pdf
Matlab para Ingenieros.pdf
 
Método de euler
Método de eulerMétodo de euler
Método de euler
 
Hallar la ecuación de la curva utilizando 3 puntos - EPN
Hallar la ecuación de la curva utilizando 3 puntos - EPNHallar la ecuación de la curva utilizando 3 puntos - EPN
Hallar la ecuación de la curva utilizando 3 puntos - EPN
 
Teorema π de buckingham
Teorema π de buckinghamTeorema π de buckingham
Teorema π de buckingham
 
Unidades y-dimensiones 2
Unidades y-dimensiones 2Unidades y-dimensiones 2
Unidades y-dimensiones 2
 
Metodos numericos con matlab
Metodos numericos con matlabMetodos numericos con matlab
Metodos numericos con matlab
 
Van ness capitulo 3 orihuela contreras jose
Van ness capitulo 3 orihuela contreras joseVan ness capitulo 3 orihuela contreras jose
Van ness capitulo 3 orihuela contreras jose
 
Aplicación de ecuaciones diferenciales homogéneas
Aplicación de ecuaciones diferenciales homogéneasAplicación de ecuaciones diferenciales homogéneas
Aplicación de ecuaciones diferenciales homogéneas
 
Deducciones y demostraciones - Transferencia de Calor
Deducciones y demostraciones - Transferencia de Calor Deducciones y demostraciones - Transferencia de Calor
Deducciones y demostraciones - Transferencia de Calor
 
Termodinamica 2: Ecuaciones de Estado
Termodinamica 2: Ecuaciones de EstadoTermodinamica 2: Ecuaciones de Estado
Termodinamica 2: Ecuaciones de Estado
 
Aplicaciones ecuaciones =d
Aplicaciones ecuaciones =dAplicaciones ecuaciones =d
Aplicaciones ecuaciones =d
 
flujo y centro cortante en vigas de pared delgada
flujo y centro cortante en vigas de pared delgadaflujo y centro cortante en vigas de pared delgada
flujo y centro cortante en vigas de pared delgada
 
Reporte del flash adiabatico
Reporte del flash adiabaticoReporte del flash adiabatico
Reporte del flash adiabatico
 

Destacado

Simulación de reactores químicos con octave
Simulación de reactores químicos con octaveSimulación de reactores químicos con octave
Simulación de reactores químicos con octave
CAChemE
 
Modulo de matematicas básicas
Modulo de matematicas  básicasModulo de matematicas  básicas
Modulo de matematicas básicas
tutoraamparo
 

Destacado (9)

El uso de Python en la Ingenieria Química - Charla Completa
El uso de Python en la Ingenieria Química - Charla CompletaEl uso de Python en la Ingenieria Química - Charla Completa
El uso de Python en la Ingenieria Química - Charla Completa
 
Rotacional
RotacionalRotacional
Rotacional
 
Ecuación de Navier Stokes, teoría de campos y mecánica cúántica
Ecuación de Navier Stokes, teoría de campos y mecánica cúánticaEcuación de Navier Stokes, teoría de campos y mecánica cúántica
Ecuación de Navier Stokes, teoría de campos y mecánica cúántica
 
Reactor flujo piston en MATLAB - Octave - Craqueo termico
Reactor flujo piston en MATLAB - Octave - Craqueo termicoReactor flujo piston en MATLAB - Octave - Craqueo termico
Reactor flujo piston en MATLAB - Octave - Craqueo termico
 
Simulación de reactores químicos con octave
Simulación de reactores químicos con octaveSimulación de reactores químicos con octave
Simulación de reactores químicos con octave
 
Iniciación al modelado de reactores químicos com MATLAB - Octave (intro)
Iniciación al modelado de reactores químicos com MATLAB - Octave (intro)Iniciación al modelado de reactores químicos com MATLAB - Octave (intro)
Iniciación al modelado de reactores químicos com MATLAB - Octave (intro)
 
Reactor de flujo piston con MATLAB Octave
Reactor de flujo piston con MATLAB OctaveReactor de flujo piston con MATLAB Octave
Reactor de flujo piston con MATLAB Octave
 
Modulo de matematicas básicas
Modulo de matematicas  básicasModulo de matematicas  básicas
Modulo de matematicas básicas
 
Laplace con matlab
Laplace con matlabLaplace con matlab
Laplace con matlab
 

Similar a Python para resolver EDPs - Ingeniería Química - PyConES 2013

Similar a Python para resolver EDPs - Ingeniería Química - PyConES 2013 (20)

Python y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-CorrientesPython y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-Corrientes
 
Presentación del Taller de Interoperabilidad con Mirth Connect y HL7
Presentación del Taller de Interoperabilidad con Mirth Connect y HL7Presentación del Taller de Interoperabilidad con Mirth Connect y HL7
Presentación del Taller de Interoperabilidad con Mirth Connect y HL7
 
Propuesta de Cursos
Propuesta de Cursos Propuesta de Cursos
Propuesta de Cursos
 
Python para ingenieros como alternativa a matlab
Python para ingenieros como alternativa a matlabPython para ingenieros como alternativa a matlab
Python para ingenieros como alternativa a matlab
 
Redes programables v1.0
Redes programables v1.0Redes programables v1.0
Redes programables v1.0
 
Hawk: indexado de modelos en bases de datos NoSQL
Hawk: indexado de modelos en bases de datos NoSQLHawk: indexado de modelos en bases de datos NoSQL
Hawk: indexado de modelos en bases de datos NoSQL
 
Cobertura de Código con Tests Funcionales
Cobertura de Código con Tests Funcionales Cobertura de Código con Tests Funcionales
Cobertura de Código con Tests Funcionales
 
Matemáticas Aplicadas usando Python
Matemáticas Aplicadas   usando    PythonMatemáticas Aplicadas   usando    Python
Matemáticas Aplicadas usando Python
 
CaboLabs - Workshop de interoperabilidad usando estándares
CaboLabs - Workshop de interoperabilidad usando estándaresCaboLabs - Workshop de interoperabilidad usando estándares
CaboLabs - Workshop de interoperabilidad usando estándares
 
Unidad V Python e ingeniería civil en obras civiles PVB
Unidad V Python e ingeniería civil en obras civiles PVBUnidad V Python e ingeniería civil en obras civiles PVB
Unidad V Python e ingeniería civil en obras civiles PVB
 
Primera
PrimeraPrimera
Primera
 
Primera
PrimeraPrimera
Primera
 
Queipiwall
QueipiwallQueipiwall
Queipiwall
 
Python + Ciencia = ♥
Python + Ciencia = ♥Python + Ciencia = ♥
Python + Ciencia = ♥
 
Rocio gonzalez queipiwall
Rocio gonzalez queipiwallRocio gonzalez queipiwall
Rocio gonzalez queipiwall
 
Catalogo decursos
Catalogo decursosCatalogo decursos
Catalogo decursos
 
Examen t3
Examen t3Examen t3
Examen t3
 
Queipiwall3 pregunta4examen
Queipiwall3 pregunta4examenQueipiwall3 pregunta4examen
Queipiwall3 pregunta4examen
 
Examen juanjo
Examen juanjoExamen juanjo
Examen juanjo
 
Examen apof 5
Examen apof 5Examen apof 5
Examen apof 5
 

Más de CAChemE

Optimizacion con Python (Pyomo vs GAMS vs AMPL)
Optimizacion con Python (Pyomo vs GAMS vs AMPL)Optimizacion con Python (Pyomo vs GAMS vs AMPL)
Optimizacion con Python (Pyomo vs GAMS vs AMPL)
CAChemE
 
S4 - Process/product optimization using design of experiments and response su...
S4 - Process/product optimization using design of experiments and response su...S4 - Process/product optimization using design of experiments and response su...
S4 - Process/product optimization using design of experiments and response su...
CAChemE
 
S3 - Process product optimization design experiments response surface methodo...
S3 - Process product optimization design experiments response surface methodo...S3 - Process product optimization design experiments response surface methodo...
S3 - Process product optimization design experiments response surface methodo...
CAChemE
 

Más de CAChemE (18)

Mixed-integer and Disjunctive Programming - Ignacio E. Grossmann
Mixed-integer and Disjunctive Programming - Ignacio E. GrossmannMixed-integer and Disjunctive Programming - Ignacio E. Grossmann
Mixed-integer and Disjunctive Programming - Ignacio E. Grossmann
 
Mixed-integer Models for Planning and Scheduling - Ignacio E. Grossmann
Mixed-integer Models for Planning and Scheduling - Ignacio E. GrossmannMixed-integer Models for Planning and Scheduling - Ignacio E. Grossmann
Mixed-integer Models for Planning and Scheduling - Ignacio E. Grossmann
 
Simulation of Chemical Rectors - Introduction to chemical process simulators ...
Simulation of Chemical Rectors - Introduction to chemical process simulators ...Simulation of Chemical Rectors - Introduction to chemical process simulators ...
Simulation of Chemical Rectors - Introduction to chemical process simulators ...
 
Introduction to free and open source Chemical Process Simulators - (DWSIM & C...
Introduction to free and open source Chemical Process Simulators - (DWSIM & C...Introduction to free and open source Chemical Process Simulators - (DWSIM & C...
Introduction to free and open source Chemical Process Simulators - (DWSIM & C...
 
Optimizacion con Python (Pyomo vs GAMS vs AMPL)
Optimizacion con Python (Pyomo vs GAMS vs AMPL)Optimizacion con Python (Pyomo vs GAMS vs AMPL)
Optimizacion con Python (Pyomo vs GAMS vs AMPL)
 
Simulador de reactores químicos - COCO Simulator - Free
Simulador de reactores químicos - COCO Simulator - FreeSimulador de reactores químicos - COCO Simulator - Free
Simulador de reactores químicos - COCO Simulator - Free
 
S4 - Process/product optimization using design of experiments and response su...
S4 - Process/product optimization using design of experiments and response su...S4 - Process/product optimization using design of experiments and response su...
S4 - Process/product optimization using design of experiments and response su...
 
S3 - Process product optimization design experiments response surface methodo...
S3 - Process product optimization design experiments response surface methodo...S3 - Process product optimization design experiments response surface methodo...
S3 - Process product optimization design experiments response surface methodo...
 
S2 - Process product optimization using design experiments and response surfa...
S2 - Process product optimization using design experiments and response surfa...S2 - Process product optimization using design experiments and response surfa...
S2 - Process product optimization using design experiments and response surfa...
 
S1 - Process product optimization using design experiments and response surfa...
S1 - Process product optimization using design experiments and response surfa...S1 - Process product optimization using design experiments and response surfa...
S1 - Process product optimization using design experiments and response surfa...
 
Python en ciencia e ingenieria: lecciones aprendidas
Python en ciencia e ingenieria: lecciones aprendidasPython en ciencia e ingenieria: lecciones aprendidas
Python en ciencia e ingenieria: lecciones aprendidas
 
Simulación de columnas de destilación multicomponente con COCO+ChemSep (alter...
Simulación de columnas de destilación multicomponente con COCO+ChemSep (alter...Simulación de columnas de destilación multicomponente con COCO+ChemSep (alter...
Simulación de columnas de destilación multicomponente con COCO+ChemSep (alter...
 
Método McCabe-Thiele colmuna destilación - Curso gratutito de simulación de p...
Método McCabe-Thiele colmuna destilación - Curso gratutito de simulación de p...Método McCabe-Thiele colmuna destilación - Curso gratutito de simulación de p...
Método McCabe-Thiele colmuna destilación - Curso gratutito de simulación de p...
 
Curso inciación a COCO Simulator y ChemSep - Simulación de procesos químicos ...
Curso inciación a COCO Simulator y ChemSep - Simulación de procesos químicos ...Curso inciación a COCO Simulator y ChemSep - Simulación de procesos químicos ...
Curso inciación a COCO Simulator y ChemSep - Simulación de procesos químicos ...
 
Cómo hacer una búsqueda bibliográfica en bases de datos científicas (Scopus y...
Cómo hacer una búsqueda bibliográfica en bases de datos científicas (Scopus y...Cómo hacer una búsqueda bibliográfica en bases de datos científicas (Scopus y...
Cómo hacer una búsqueda bibliográfica en bases de datos científicas (Scopus y...
 
Instalar Python 2.7 y 3 en Windows (Anaconda)
Instalar Python 2.7 y 3 en Windows (Anaconda)Instalar Python 2.7 y 3 en Windows (Anaconda)
Instalar Python 2.7 y 3 en Windows (Anaconda)
 
Diseño de reactores químicos con Python - Ingeniería Química - PyConES
Diseño de reactores químicos con Python - Ingeniería Química - PyConESDiseño de reactores químicos con Python - Ingeniería Química - PyConES
Diseño de reactores químicos con Python - Ingeniería Química - PyConES
 
Programación matématica (optimización) con Python - Ingeniería Química - PyConES
Programación matématica (optimización) con Python - Ingeniería Química - PyConESProgramación matématica (optimización) con Python - Ingeniería Química - PyConES
Programación matématica (optimización) con Python - Ingeniería Química - PyConES
 

Último

PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
lupitavic
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
MiNeyi1
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
MiNeyi1
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
El Fortí
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
patriciaines1993
 

Último (20)

PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 

Python para resolver EDPs - Ingeniería Química - PyConES 2013

  • 1. El uso de Python en la ingeniería química Computer-aided Chemical Engineering www.cacheme.org 24/11/2013
  • 2. PyConES 24/11/2013 cacheme.org Esquema • Presentación • ¿Por qué Python? • Resolución de ecuaciones en derivadas parciales • Resolución de problemas de optimización • Diseño de reactores en la industria de procesos químicos 2
  • 3. PyConES Presentación 24/11/2013 cacheme.org • Asociación formada por ingenieros químicos (profesionales, docentes y estudiantes) que pretende estimular las posibilidades de software en la ingeniería de procesos. • Promueve las ventajas de las nuevas herramientas de software libre disponibles y fomenta su uso en la universidad e industria. • Especialización en simulación y programación matemática (optimización). 3
  • 5. PyConES Actividades • Formación • Webinars • Desarrollo • ¡Podcast! 24/11/2013 cacheme.org 5
  • 6. PyConES ¿Por qué Python? 24/11/2013 cacheme.org • Python es lenguaje de alto nivel conveniente para un • • • • • • desarrollo rápido de código Su filosofía de diseño enfatiza la simplicidad y legibilidad de código Posee núcleo de lenguaje relativamente pequeño con el apoyo de magníficas librerías (NumPy, SciPy, scikit-learn pandas, matplotlib etc.) Es lenguaje multiparadigma, en el que varios estilos de programación son compatibles (imperativo, orientado a objetos, funcional) Lenguaje de programación interpretado en lugar de compilado. Es multiplataforma (Windows, MacOS y Linux) Software libre 6
  • 7. PyConES “As a simulation engineer in 2013, you really are standing on the shoulders of giants” Abhishek Chintagunta 24/11/2013 cacheme.org CFD and Coffee (blog) • • • • Franz Navarro Ingeniero Químico Universidad de Alicante francisco.navarro@cacheme.org 1. Resolución de EDPs con Python 7
  • 8. PyConES 1. Resolución de EDP 24/11/2013 cacheme.org • Las ecuaciones en derivadas parciales (EDP) permiten modelar fenómenos físicos como la propagación del sonido o del calor, la electrostática, la electrodinámica, la dinámica de fluidos, etc. • Existen numerosos paquetes de software para resolver EDP, usando una variedad de lenguajes y métodos numéricos. • Comerciales: COMSOL Multiphysics, ANSYS, Abaqus... • Free/Open source: OpenFOAM, FreeFem++, Elmer, FiPy… Problema simple de difusión resuelto en Python (FiPy) con menos de 40 líneas de código 8
  • 9. PyConES CFD with Python: 12 steps to Navier Stokes 24/11/2013 cacheme.org Lorena A. Barba • Modulo interactivo online de CFD con Python impartido por la profesora Lorena A. Barba (Boston University) • Diseñado para principiantes en programación y en CFD • Resolución numérica mediante el método de las diferencias finitas • Videos explicativos de sus clases también online • Material y código libre y gratuito lorenabarba.com 9
  • 10. PyConES CFD with Python: Lorena A. Barba 12 steps to Navier Stokes • Convección lineal (a) • Difusión • Ecuación de Burgers • Pasos 5-10 pasan a 2D: • Convección lineal • Convección no lineal • Difusión • Ecuación de Burgers • Ecuación de Laplace • Ecuación de Poisson • Pasos 11-12 resuelve la ecuación de Navier-Stokes en 2D: • Flujo en una cavidad • Flujo en un canal (a) (b) +Introducción a Python, Numpy, SimPy, matplotlib y Numba 10 cacheme.org • Pasos 1-4 son en una dimensión: • Convección no lineal 24/11/2013 (b)
  • 11. PyConES CFD with Python: Lorena A. Barba 12 steps to Navier Stokes • Paso 7: Difusión en 2D Reorganizando la ecuación discretizada: 24/11/2013 11 cacheme.org
  • 12. PyConES CFD with Python: Lorena A. Barba 12 steps to Navier Stokes • Paso 7: Difusión en 2D Reorganizando la ecuación discretizada: 24/11/2013 12 cacheme.org
  • 13. PyConES CFD with Python: Lorena A. Barba 12 steps to Navier Stokes 24/11/2013 13 cacheme.org • Paso 7: Difusión en 2D Condición CFL para asegurar la convergencia, se trabaja con ella en el Paso 3.
  • 14. PyConES CFD with Python: Lorena A. Barba 12 steps to Navier Stokes • Paso 7: Difusión en 2D 24/11/2013 14 cacheme.org
  • 15. PyConES CFD with Python: Lorena A. Barba 12 steps to Navier Stokes 24/11/2013 15 cacheme.org
  • 16. PyConES 24/11/2013 16 cacheme.org FiPy • FiPy resuelve EDPs mediante el método de los volúmenes finitos (FVM) con programación orientada a objetos y estando escrito en Python. • Mayor grado de abstracción (integradas funciones de mallado de Gmesh) • Framework maduro y bien documentado (permite Python 3.x) • 100% gratuita y de dominio de público (open source) • Utilizado en investigación y academia (especializado en ciencia de los materiales) • Desarrollado en centros de investigación norteamiercanos (CTCMS y NIST). ctcms.nist.gov/fipy/
  • 17. PyConES 24/11/2013 17 cacheme.org FiPy • Resolución de ecuaciones con la siguiente forma: transitorio difusión convección fuente (source) Siendo 𝜌, 𝑢, Γ𝑖 los coeficientes de sus respectivos términos • Permite acoplar fenómenos multifísicos de forma sencilla. ctcms.nist.gov/fipy/
  • 18. PyConES 18 24/11/2013 cacheme.org FiPy: Ejemplo • Ejemplo de resolución de un problema de difusión en estado estacionario pero con una geometría circular y FiPy. • Mallado P3 C1 C2 P1 P2 P4 C3 C4 P5 cacheme.org
  • 19. PyConES 24/11/2013 19 cacheme.org FiPy: Ejemplo Usando la malla construimos las variables de las celdas Representar la malla Coeficiente de difusión Condiciones de contorno Resolución Representación (ejecutado en un script)
  • 20. PyConES Conclusiones 24/11/2013 cacheme.org • Python junto a sus librerías permite la resolución de problemas típicos de ingeniería y todo ello en un mismo lenguaje-entorno. • Python permite centrarse en el algoritmo y no en la sintaxis del lenguaje. Es la navaja suiza de los lenguajes permitiendo pasar a C en cualquier momento que se necesite. • Es multiplataforma, libre y gratuito por lo que su adopción en universidades y empresa es sencilla • Si se quiere una herramienta lo más compatible con MATLAB, Octave UPM es otra opción interesante pero mantendrá sus mismas capacidades (y limitaciones) técnicas. • Python es posiblemente la mejor opción como primer lenguaje de programación en el ámbito de programación científica. 20