mgis.fenics: Coupling MFront and FEniCS for complex solid mechanics simulations
Résumé
Constitutive equations describe how the internal state variables of a material evolve with changing external conditions or due to gradients of thermodynamic variables. Those state variables can describe many microstructural aspects of the material (grain size, dislocation density, hardening state, etc) or be phenomenological in nature (equivalent plastic strain). The knowledge of those internal state variables allows the computation of local thermodynamic forces which affect the material equilibrium at the structural scale.
MFront is an open-source code generator for complex constitutive laws which aims at ease of use, numerical efficiency and portability (see [1][2]). MFront has been developed under very stringent quality requirements in the context of nuclear fuel element simulation under the PLEIADES platform (see [3]), which is co-developed by CEA, EDF and Framatome. MFront provides several domain specific languages (DSL) built on top of the C++ language and associated with specific integration schemes that allows to readily implement the constitutive equations in source code close to their mathematical expressions. Numerical details are hidden by default allowing the user to focus on the physics. The underlying mathematical library, called TFEL/Math, provides optimised tensor objects and makes heavily use of template metaprogramming to generate optimised code.
Those DSLs are translated into C++ sources adapted to the targeted solver. Interfaces are provided for Cast3M, Code Aster, Europlexus, Cyrano, Abaqus/Implicit, Abaqus/Explicit, Ansys, CalculiX, AMITEX FFTP, etc. A so-called generic interface has recently been introduced and is meant to be used through the MFrontGenericInterfaceSupport project (MGIS) (See [4][5]).
The mgis.fenics python module aims at leveraging the power of the FEniCS platform, used for the discretization of the balance equations, the assembly of residuals and stiffness matrices and the parallel distribution of the resolution, combined with MFront, used for the local integration of the constitutive equations, to build complex mechanical simulations. Several examples, illustrating the use of the new module, will be presented (see [6][7]), including:
Finite strain plasticity in the logarithmic space.
Phase-field approach to britlle fracture.
Finite strain polycrystal computations based on the Méric-Cailletaud behaviour.
References
[1] Thomas Helfer, Bruno Michel, Jean-Michel Proix, Maxime Salvo, Jérôme Sercombe, Michel Casella. Introducing the open-source mfront code generator: Application to mechanical behaviours and material knowledge management within the PLEIADES fuel element modelling platform, Computers & Mathematics with Applications 70, 994–1023, 2015. [DOI: 10.1016/j.camwa.2015.06.027]
[2] MFront website. www.tfel.sourceforge.net
[3] V. Marelle, P. Goldbronn, S. Bernaud, E. Castelier, J. Julien, K. Nkonga, L.Noirot, I. Ramiere. New developments in ALCYONE 2.0 fuel performance code, Top Fuel, 2016. www.osti.gov/biblio/22764059
[4] Thomas Helfer. The MFrontGenericInterfaceSupport project. thelfer.github.io/mgis/web/index.html
[5] Thomas Helfer, Jeremy Bleyer, Tero Frondelius, Ivan Yashchuk, Thomas Nagel, Dmitri Naumov. The `MFrontGenericInterfaceSupport` project, Journal of Open Source Software 5:2003. [DOI: 10.21105/joss.02003]
[6] Jérémy Bleyer and Thomas Helfer. Elasto-plastic analysis implemented using the MFront code generator, Numerical tours of continuum mechanics using FEniCS, 2019. comet-fenics.readthedocs.io/en/latest/demo/plasticity_mfront/plasticity_mfront.py.html
[7] Jérémy Bleyer and Thomas Helfer. FEniCS and MFront for complex non linear solid mechanics simulation, 2019. [DOI: 10.13140/RG.2.2.35501.54247]
Origine | Fichiers produits par l'(les) auteur(s) |
---|