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

Multiplicadores de lagrange
Multiplicadores de lagrangeMultiplicadores de lagrange
Multiplicadores de lagrangeBryan Guerra
 
Aplicaciones del cálculo a la ingeniería
Aplicaciones del cálculo a la ingenieríaAplicaciones del cálculo a la ingeniería
Aplicaciones del cálculo a la ingenieríaAbel Rivera Cervantes
 
Aplicacion de las ecuaciones diferenciales de orden superior
Aplicacion de las ecuaciones diferenciales de orden superiorAplicacion de las ecuaciones diferenciales de orden superior
Aplicacion de las ecuaciones diferenciales de orden superiorIsai Esparza Agustin
 
aplicacion de Ecuaciones Diferenciales
aplicacion de Ecuaciones Diferencialesaplicacion de Ecuaciones Diferenciales
aplicacion de Ecuaciones DiferencialesPablo D. Torres D.
 
Cuadratura de gauss
Cuadratura de gaussCuadratura de gauss
Cuadratura de gaussTensor
 
Que es el wronskiano
Que es el wronskianoQue es el wronskiano
Que es el wronskianoEIYSC
 
EFECTO DE LA TEMPERATURA. EC. ARRHENIUS.pptx
EFECTO DE LA TEMPERATURA. EC. ARRHENIUS.pptxEFECTO DE LA TEMPERATURA. EC. ARRHENIUS.pptx
EFECTO DE LA TEMPERATURA. EC. ARRHENIUS.pptxNatalyLopez47
 
Ejemplos metodo-de-lagrange1-ajustar-a-mat-3
Ejemplos metodo-de-lagrange1-ajustar-a-mat-3Ejemplos metodo-de-lagrange1-ajustar-a-mat-3
Ejemplos metodo-de-lagrange1-ajustar-a-mat-3shirleyrojas2108
 
Equivalencia Calor Trabajo
Equivalencia Calor TrabajoEquivalencia Calor Trabajo
Equivalencia Calor TrabajoSusMayen
 
Métodos numéricos- Problemario
Métodos numéricos- ProblemarioMétodos numéricos- Problemario
Métodos numéricos- ProblemarioBren MA
 
Formulario para ecuaciones diferenciales de orden superior
Formulario para ecuaciones diferenciales de orden superiorFormulario para ecuaciones diferenciales de orden superior
Formulario para ecuaciones diferenciales de orden superiorMiguel Ángel Hernández Trejo
 
Volumen de control
Volumen de controlVolumen de control
Volumen de controlYormanP
 
Transferencia de Calor
Transferencia de CalorTransferencia de Calor
Transferencia de CalorYuri Milachay
 
Aplicaciones de las ecuaciones diferenciales a problemas vaciado de tanques (...
Aplicaciones de las ecuaciones diferenciales a problemas vaciado de tanques (...Aplicaciones de las ecuaciones diferenciales a problemas vaciado de tanques (...
Aplicaciones de las ecuaciones diferenciales a problemas vaciado de tanques (...Yeina Pedroza
 

La actualidad más candente (20)

Multiplicadores de lagrange
Multiplicadores de lagrangeMultiplicadores de lagrange
Multiplicadores de lagrange
 
Aplicaciones del cálculo a la ingeniería
Aplicaciones del cálculo a la ingenieríaAplicaciones del cálculo a la ingeniería
Aplicaciones del cálculo a la ingeniería
 
Aplicacion de las ecuaciones diferenciales de orden superior
Aplicacion de las ecuaciones diferenciales de orden superiorAplicacion de las ecuaciones diferenciales de orden superior
Aplicacion de las ecuaciones diferenciales de orden superior
 
aplicacion de Ecuaciones Diferenciales
aplicacion de Ecuaciones Diferencialesaplicacion de Ecuaciones Diferenciales
aplicacion de Ecuaciones Diferenciales
 
Cuadratura de gauss
Cuadratura de gaussCuadratura de gauss
Cuadratura de gauss
 
Derivacion e integracion numéricas
Derivacion e integracion numéricasDerivacion e integracion numéricas
Derivacion e integracion numéricas
 
Que es el wronskiano
Que es el wronskianoQue es el wronskiano
Que es el wronskiano
 
EFECTO DE LA TEMPERATURA. EC. ARRHENIUS.pptx
EFECTO DE LA TEMPERATURA. EC. ARRHENIUS.pptxEFECTO DE LA TEMPERATURA. EC. ARRHENIUS.pptx
EFECTO DE LA TEMPERATURA. EC. ARRHENIUS.pptx
 
Ejemplos metodo-de-lagrange1-ajustar-a-mat-3
Ejemplos metodo-de-lagrange1-ajustar-a-mat-3Ejemplos metodo-de-lagrange1-ajustar-a-mat-3
Ejemplos metodo-de-lagrange1-ajustar-a-mat-3
 
Equivalencia Calor Trabajo
Equivalencia Calor TrabajoEquivalencia Calor Trabajo
Equivalencia Calor Trabajo
 
Series
SeriesSeries
Series
 
Métodos numéricos- Problemario
Métodos numéricos- ProblemarioMétodos numéricos- Problemario
Métodos numéricos- Problemario
 
Formulario para ecuaciones diferenciales de orden superior
Formulario para ecuaciones diferenciales de orden superiorFormulario para ecuaciones diferenciales de orden superior
Formulario para ecuaciones diferenciales de orden superior
 
Volumen de control
Volumen de controlVolumen de control
Volumen de control
 
Propagación de errores
Propagación de erroresPropagación de errores
Propagación de errores
 
metodo-de-diferencias-divididas
 metodo-de-diferencias-divididas metodo-de-diferencias-divididas
metodo-de-diferencias-divididas
 
ECUACIÓN DE ESTADO DEL VIRIAL
ECUACIÓN DE ESTADO DEL VIRIALECUACIÓN DE ESTADO DEL VIRIAL
ECUACIÓN DE ESTADO DEL VIRIAL
 
Transferencia de Calor
Transferencia de CalorTransferencia de Calor
Transferencia de Calor
 
Segunda ley de la termodinamica
Segunda ley de la termodinamicaSegunda ley de la termodinamica
Segunda ley de la termodinamica
 
Aplicaciones de las ecuaciones diferenciales a problemas vaciado de tanques (...
Aplicaciones de las ecuaciones diferenciales a problemas vaciado de tanques (...Aplicaciones de las ecuaciones diferenciales a problemas vaciado de tanques (...
Aplicaciones de las ecuaciones diferenciales a problemas vaciado de tanques (...
 

Destacado

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úánticaManuel Hernandez Rosales
 
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 termicoCAChemE
 
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 octaveCAChemE
 
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)CAChemE
 
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 OctaveCAChemE
 
Modulo de matematicas básicas
Modulo de matematicas  básicasModulo de matematicas  básicas
Modulo de matematicas básicastutoraamparo
 

Destacado (8)

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

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-Corrientesalexis ibarra
 
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 HL7Pablo Pazos
 
Propuesta de Cursos
Propuesta de Cursos Propuesta de Cursos
Propuesta de Cursos jose Moreno
 
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 matlabSistemadeEstudiosMed
 
Redes programables v1.0
Redes programables v1.0Redes programables v1.0
Redes programables v1.0Javier Liendo
 
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 NoSQLAntonio García-Domínguez
 
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 atSistemas
 
Matemáticas Aplicadas usando Python
Matemáticas Aplicadas   usando    PythonMatemáticas Aplicadas   usando    Python
Matemáticas Aplicadas usando PythonErnesto Crespo
 
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ándaresPablo Pazos
 
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 PVBSistemadeEstudiosMed
 
Queipiwall3 pregunta4examen
Queipiwall3 pregunta4examenQueipiwall3 pregunta4examen
Queipiwall3 pregunta4examenkikeRoldn1
 

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

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. GrossmannCAChemE
 
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. GrossmannCAChemE
 
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 ...CAChemE
 
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...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
 
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 - FreeCAChemE
 
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
 
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...CAChemE
 
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...CAChemE
 
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 aprendidasCAChemE
 
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...CAChemE
 
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...CAChemE
 
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 ...CAChemE
 
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...CAChemE
 
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)CAChemE
 
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 - PyConESCAChemE
 
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 - PyConESCAChemE
 

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

RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONamelia poma
 
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ºESOluismii249
 
Desarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por ValoresDesarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por ValoresJonathanCovena1
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfJonathanCovena1
 
UNIDAD DIDACTICA nivel inicial EL SUPERMERCADO.docx
UNIDAD DIDACTICA nivel inicial EL SUPERMERCADO.docxUNIDAD DIDACTICA nivel inicial EL SUPERMERCADO.docx
UNIDAD DIDACTICA nivel inicial EL SUPERMERCADO.docxMaria Jimena Leon Malharro
 
PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptxPLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptxCamuchaCrdovaAlonso
 
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 2024IES Vicent Andres Estelles
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxEliaHernndez7
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Katherine Concepcion Gonzalez
 
Educacion Basada en Evidencias SM5 Ccesa007.pdf
Educacion Basada en Evidencias  SM5  Ccesa007.pdfEducacion Basada en Evidencias  SM5  Ccesa007.pdf
Educacion Basada en Evidencias SM5 Ccesa007.pdfDemetrio Ccesa Rayme
 
LA JUNGLA DE COLORES.pptx Cuento de animales
LA JUNGLA DE COLORES.pptx  Cuento de animalesLA JUNGLA DE COLORES.pptx  Cuento de animales
LA JUNGLA DE COLORES.pptx Cuento de animalesanllamas
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxFernando Solis
 
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.docxiemerc2024
 

Último (20)

RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
 
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
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
Desarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por ValoresDesarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por Valores
 
Novena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan EudesNovena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan Eudes
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdf
 
Los dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la VerdadLos dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la Verdad
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
UNIDAD DIDACTICA nivel inicial EL SUPERMERCADO.docx
UNIDAD DIDACTICA nivel inicial EL SUPERMERCADO.docxUNIDAD DIDACTICA nivel inicial EL SUPERMERCADO.docx
UNIDAD DIDACTICA nivel inicial EL SUPERMERCADO.docx
 
PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptxPLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptx
 
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
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
Educacion Basada en Evidencias SM5 Ccesa007.pdf
Educacion Basada en Evidencias  SM5  Ccesa007.pdfEducacion Basada en Evidencias  SM5  Ccesa007.pdf
Educacion Basada en Evidencias SM5 Ccesa007.pdf
 
LA JUNGLA DE COLORES.pptx Cuento de animales
LA JUNGLA DE COLORES.pptx  Cuento de animalesLA JUNGLA DE COLORES.pptx  Cuento de animales
LA JUNGLA DE COLORES.pptx Cuento de animales
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
Power Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptxPower Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptx
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
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
 

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