Python en la Ingeniería Química – Ejemplos y vídeo – PyConES

Introducción teórica y resolución de ejemplos mediante Python de problemas que envuelven la resolución numeríca de ecuaciones diferenciales y optimización matemática. Estos problemas clásicos están presentes en ingeniería química así como en otras ingenierías. CAChemE presentó este trabajo en la conferencia de Python nacional (PyConES) que se celebró en Madrid en el año 2013.

El uso de Python en Ingeniería Química

Autores: Francisco J. Navarro, Isaías Cuenca, Jorge Bernabé, Rubén Ruíz-Femenia.



Estructura expuesta:

Python para resolver Ecuaciones en Derivadas Parciales (EDPs):

La resolución de ecuaciones diferenciales parciales (EDPs) mediante métodos numéricos permite obtener soluciones a problemas típicos presentes tanto en el ámbito ingenieril como científico. Tales problemas incluyen diferentes fenómenos físicos como propagación del sonido o del calor, la electrostática, la electrodinámica, la dinámica de fluidos, la elasticidad, etc.Existen numerosos paquetes de software para resolver EDPs, usando una variedad de idiomas y métodos numéricos. Muchos de ellos son propietarios y suponen un alto coste para las empresas y/o universidades. Además, la madurez de los mismos y su sencillez de uso pueden ocasionar efectos adversos convirtiendo estás herramientas en auténticas cajas negras.

En este marco, Python, en conjunto con sus librerías (NumPy, SciPy, FiPy), proporciona una herramienta perfecta que facilita el aprendizaje y desarrollo de la intuición necesarias para la resolución de estos problemas de forma libre y gratuita.

Resolución de EDPs mediante el método de diferencias finitas para CFD (Fluido dinámica computacional)

CFD con Python (por Lorena A. Barba)
Nota: Incluye introducción rápida a Python, NumPy, SciPy, matplotlib y Numba

Para problemas multifísicos y con geometrías especiales, FiPy permite resolver EDPs mediante el método de volúmenes finitos:
FiPy, NIST

Programación matématica (optimización) con Python:

Los programas de modelado algebraico son utilizados para la resolución de diferentes problemas que van desde la selección óptima de equipos y recursos en sector industrial químico a la gestión logística de una empresa genérica. La resolución de casos de estudio reales de la industria mediante métodos de optimización, tan comunes en un ámbito de investigación científica, son a menudo desconocidos por las empresas, que resuelven estos problemas mediante métodos menos eficientes y a que a menudo les conducen a trabajar en unas condiciones sub-optimizas. El paquete basado en Python llamado pyomo permite la formulación y resolución de problemas de optimización con restricciones no lineales de manera eficiente, reutilizable y portátil.

Pyomo (Coopr)

Diseño de reactores químicos con Python

Un reactor químico es un equipo en cuyo interior tiene lugar una reacción química, estando éste diseñado para maximizar la conversión y selectividad de la misma con el menor coste posible. El diseño de un reactor químico requiere conocimientos de termodinámica, cinética química, transferencia de masa y energía, así como de mecánica de fluidos; balances de materia y energía son necesarios. Por lo general se busca conocer el tamaño y tipo de reactor, así como el método de operación, además en base a los parámetros de diseño se espera poder predecir con cierta certidumbre la conducta de un reactor ante ciertas condiciones, por ejemplo un salto en escalón en la composición de entrada. En estas diapositivas indicamos las ecuaciones y la llamada al ODE necesario para resolverlo con Python.

Aprende más sobre Python

El ecosistema Python es muy amplio y se encuentra plena evolución, si quieres saber más puedes ver nuestras entradas más recientes y el blog de Pybonacci:

Curso de Python online gratuito

+Artículos de Python
Podcast: Descubre Python en 30 min

CAChemE.org es una comunidad formada por ingenieros químicos y estudiantes que pretende estimular las posibilidades de software en la ingeniería química y organización industrial. Nuestro objetivo es promover las ventajas de las nuevas herramientas de software libre disponibles y fomentar su uso en la universidad e industria.