MUESLI, a Material UnivErSal LIbrary, is a collection of C++ classes and functions designed to model material behavior at the continuum level. Developed at IMDEA Materials, it is available to the material science and computational mechanics community as a suite of standard models and as a platform for developing new ones.
MUESLI is built with the following goals:
- Clarity: the C++ classes are written using compact notation so that the implemented formulas resemble as much as possible what one can find in articles and books.
- Extensibility: as explained in the manual, MUESLI defines a clear hierarchy of material class that make relatively simple to extend current capabilities. Using the compact operations and clear class structure, new material models can be developed much faster than in other frameworks.
- Reliability: MUESLI includes certain automatic tests that are performed over existing and new materials. These tests ensure that the behavior is consistent and, up to a certain extent, correct.
- Plug-ability: the library is written as a set of C++ classes and it is easy to link it with existent simulation codes of the same language. In addition, interfaces are provided that allow developers to use the same material routines, with existing commercial codes like Abaqus and LS-DYNA.
- Freely available: MUESLI is distributed under the GPL3.0 license.
MUESLI has been used and tested in linux and mac os x platforms.
Current features of the library
- MUESLI is intended to be a platform where scientists working on material modeling can implement their ideas in a clear, fast, reliable way, so that they can incorporate them into their own codes or commercial ones. As such, it is not the purpose of the library to provide all possible material models. In version 1.0, MUESLI has the following models:
- Models for small strain mechanics:
- Linear isotropic elasticity
- Classical plasticity
- Classical viscoelasticity
- Models for large strain mechanics:
- Saint Venant – Kirchhoff materials
- Isotropic hyperelastic materials:
- Neohookean (compressible and incompressible)
- Arruda – Boyce (compressible and incompressible)
- Mooney – Rivlin (compressible and incompressible)
- Yeoh model
- Rate independent plasticity (FeFp type)
- Models for impact mechanics
- Models for thermal analysis:
- Linear, Fourier-type
- Anisotropic heat transfer
- Models for small strain thermomechanical behaviour
- Thermoelasticity, thermoplasticity, thermoviscoelasticity, etc.
- Models for fluids:
- Newtonian fluid
- Coupled models
- Coupled thermo/mechanics
- Coupled chemo/mechanics
- Coupled thermo/chemo/mechanics
- Reduced dimensionality models (plane stress, shells, plates, beams)
- Models for small strain mechanics:
- MUESLI is provided as an standalone library, but it includes interfaces with commercial codes (Abaqus and LS-DYNA since V1.0). By using this interfaces, developers can share the material models of MUESLI (or their own ones) among research and commercial codes with essentially no modifications.
- MUESLI has (some) automatic checking capabilities. Using these, users are allowed to verify the consistency (and up to a certain extent the correctness) of the material models.
Contributing to MUESLI
MUESLI is free software and users are entitled to its use under the terms of GPL3.0 license. Developers that want to contribute to the project MUESLI can submit additional material classes to firstname.lastname@example.org . These additions will be included in forthcoming versions of the library with the credits given to their developers.
MUESLI’s files and documentation can be obtained downloading a single zip file. Installation instructions are given in the manual muesli.pdf that can be found inside the directory muesli/doc.
- Version 1.1
- Version 1.3 (added thermoelastic materials, thread-safe compilation, minor bugs corrected)
- Version 1.4 (June 2017; reduced models added, Yeoh material, minor bugs corrected)
- Version 1.8 (December 2020; materials for impact, coupled problems, bugs corrected)
Alternatively, the project can be cloned from bitbucket with the command:
git clone https://email@example.com/ignromero/muesli.git
Bitbucket users that are willing to contribute directly to the project can request permission writing a mail to the address indicated below.
If you use the library, please cite the following reference:
Portillo, D., Pozo, D. D., Rodríguez-Galán, D., Segurado, J., & Romero, I. (2017). MUESLI: A Material UnivErSal LIbrary. Advances in Engineering Software, 105, 1–8.
Further information about MUESLI and requests can be addressed to firstname.lastname@example.org or email@example.com