Muesli: software libre para la simulación de materiales

Ignacio Romero. Grupo de Mecánica Computacional de Sólidos de IMDEA Materiales

En el mundo de la simulación mecánica, muchos programas comerciales emplean modelos complejos de materiales. Éstos últimos se traducen en subrutinas que implementan las ecuaciones, más o menos complicadas, de materiales elásticos, elastoplásticos, viscoplásticos, etc, de lo que se conoce como modelos constitutivos. Además, en los centros de investigación y las universidades también se emplean estos mismos modelos y se desarrollan otros, creando nuevas subrutinas que se utilizan en los códigos de simulación que cada una de estas instituciones desarrollan.

Imagen 1

 

Temperatura y deformación plástica en una chapa metálica durante un proceso de soldadura. El comportamiento elastoplástico y térmico del material se obtiene con MUESLI.

A pesar de formar parte de todos los códigos de mecánica computacional, comerciales y de investigación, las rutinas de modelos constitutivos de materiales no se comparten, limitando su comparación y, sobre todo, ralentizando el desarrollo de nuevos códigos y modelos. Cada empresa o institución desarrolla su código propio, en parte para implementar los modelos estándar de materiales y en parte para implementar modelos más sofisticados y de aplicación más específica.

En el Instituto IMDEA Materiales se ha abordado esta situación y su resultado ha sido MUESLI, una biblioteca de software para el modelado de materiales, ofrecida como software libre desde mayo de 2016. MUESLI, acrónimo de Material UnivErSal LIbrary, implementa una colección de modelos continuos de material, proporciona una estructura lógica para la extensión a más modelos y para su conexión a software ya existente, tanto comercial como de investigación. Esta biblioteca puede ser utilizada por centros de investigación para modelar materiales complejos, y por empresas, para adaptar sus propios modelos de material y estudiar su comportamiento en procesos mecánicos complejos.

Imagen 3MUESLI ofrece, desde su primera versión, los modelos de material más comúnmente usados para la simulación de sólidos. Estos incluyen los modelos constitutivos elásticos, viscoelásticos, elastoplásticos y visco-elastoplásticos para pequeñas y grandes deformaciones. Además, se proporcionan las rutinas para el modelado del comportamiento térmico de materiales, las simulaciones de fluidos newtonianos y algunos problemas acoplados.

Como la mayoría de códigos empleados en simulación tiene su origen en los años 70 y 80, muchos de ellos están escritos en el lenguaje de programación que entonces estaba más extendido, el Fortran 77.  Una de las mayores ventajas de MUESLI es que está desarrollado en un lenguaje orientado a objetos (C++) con una sintaxis de alto nivel y que permite implementar modelos de materiales con una enorme facilidad, si se compara con lo que se necesita cuando se usa Fortran. Esta sintaxis con operadores matemáticos desarrollados también en MUESLI, posibilita implementar las fórmulas de los modelos materiales con código muy compacto que refleja los conceptos que se emplean en los libros y artículos que los describen.

Los modelos de material desarrollados en MUESLI se pueden emplear en códigos de simulación abiertos, permitiendo a cualquier investigador o ingenieros de materiales utilizar la biblioteca con sus programas. Pero además, MUESLI proporciona interfaces con programas comerciales de manera que, exactamente los mismos materiales se pueden usar con códigos propios u otros ya existentes, y ampliamente utilizados en la industria. De esta manera, los investigadores y desarrolladores de modelos de materiales pueden aprovecharse de la flexibilidad de MUESLI y utilizar el código resultante, sin ninguna modificación, en varios códigos. Esto acelerará el desarrollo de nuevos modelos y favorecerá su uso compartido.

MUESLI tiene algunas características muy útiles desde el punto de vista de desarrollo de software. Además de una estructura de materiales basada en clases, y operadores de alto nivel, el código incorpora comprobaciones automáticas para cada modelo de material añadido. Estas pruebas determinan si cada modelo satisface algunas propiedades que son comunes a su familia. Además de proporcionar la seguridad de que la implementación es correcta, estas comprobaciones proporcionan una manera sistemática de encontrar errores que, una vez más, agiliza el desarrollo de nuevos modelos.

Por último, MUESLI se ha creado con el objetivo de que investigadores y empresas desarrolladoras de software puedan compartir modelos. MUESLI se distribuye para este fin con una licencia de software libre (GPL 3.0), e incluye, además de todas las rutinas, documentación sobre los materiales implementados. Como proyecto de software libre, MUESLI acepta contribuciones de cualquier desarrollador que desee compartir su código, aspirando con ello a convertirse en un estándar para este sector.

 

Compartir:

3 comentarios

Deja un comentario