MFront for the Code-Aster’users and beyond · MFrontfor the Code-Aster’users and beyond...

29
MFront for the Code-Aster’users and beyond Code-Aster users meeting Thomas Helfer 1 , Jean-Michel Proix 2 , Olivier Fandeur 3,4 , Franc ¸ois Curtit 5 , Charles Toulemonde 5 , Franc ¸ois Hamon 2 , Vincent Faucher 3,4 , Michel Casella 1 26 March 2015 1 CEA, D´ epartement d’ ´ Etudes des Combustibles 2 EDF R&D, D´ epartement Analyses M´ ecaniques et Acoustique 3 CEA, D´ epartement de Mod´ elisation des Syst` emes et des Structures 4 IMSIA, UMR 8193, CNRS-EDF-CEA-ENSTA 5 EDF R&D, D´ epartement des Mat´ eriaux et M´ ecanique des Composants

Transcript of MFront for the Code-Aster’users and beyond · MFrontfor the Code-Aster’users and beyond...

Page 1: MFront for the Code-Aster’users and beyond · MFrontfor the Code-Aster’users and beyond Code-Aster users meeting — Thomas Helfer1, Jean-Michel Proix 2, Olivier Fandeur3,4, Franc¸ois

MFront for the Code-Aster’usersand beyond

Code-Aster users meeting — Thomas Helfer1,

Jean-Michel Proix 2, Olivier Fandeur3,4,

Francois Curtit5, Charles Toulemonde5,

Francois Hamon2, Vincent Faucher 3,4,

Michel Casella1

26 March 2015

1 CEA, Departement d’Etudes des Combustibles2 EDF R&D, Departement Analyses Mecaniques et Acoustique3 CEA, Departement de Modelisation des Systemes et des Structures4 IMSIA, UMR 8193, CNRS-EDF-CEA-ENSTA5 EDF R&D, Departement des Materiaux et Mecanique des Composants

Page 2: MFront for the Code-Aster’users and beyond · MFrontfor the Code-Aster’users and beyond Code-Aster users meeting — Thomas Helfer1, Jean-Michel Proix 2, Olivier Fandeur3,4, Franc¸ois

Table of contents

Forewords

A brief tour of MFront

Material knowledge management

Conclusions

Appendix

PAGE 1/11

Page 3: MFront for the Code-Aster’users and beyond · MFrontfor the Code-Aster’users and beyond Code-Aster users meeting — Thomas Helfer1, Jean-Michel Proix 2, Olivier Fandeur3,4, Franc¸ois

Pleiades

PAGE 2/11

Page 4: MFront for the Code-Aster’users and beyond · MFrontfor the Code-Aster’users and beyond Code-Aster users meeting — Thomas Helfer1, Jean-Michel Proix 2, Olivier Fandeur3,4, Franc¸ois

A brief tour of MFront

Page 5: MFront for the Code-Aster’users and beyond · MFrontfor the Code-Aster’users and beyond Code-Aster users meeting — Thomas Helfer1, Jean-Michel Proix 2, Olivier Fandeur3,4, Franc¸ois

MFront

MFront is an open-source code generator based on C++ developedwithin the PLEIADES platform for :

material propertiesmechanical behavioursmodels

PAGE 3/11

Page 6: MFront for the Code-Aster’users and beyond · MFrontfor the Code-Aster’users and beyond Code-Aster users meeting — Thomas Helfer1, Jean-Michel Proix 2, Olivier Fandeur3,4, Franc¸ois

MFront

MFront is an open-source code generator based on C++ developedwithin the PLEIADES platform for :

material properties

mechanical behaviours of particular interest for Code-Astermodels

PAGE 3/11

Page 7: MFront for the Code-Aster’users and beyond · MFrontfor the Code-Aster’users and beyond Code-Aster users meeting — Thomas Helfer1, Jean-Michel Proix 2, Olivier Fandeur3,4, Franc¸ois

MFront

MFront is an open-source code generator based on C++ developedwithin the PLEIADES platform for :

material properties

mechanical behaviours of particular interest for Code-Astermodels

MFront provides several domain specific languages :ease of use, expressivness, etc..

◮ focus on physical content◮ low programming skills requirements

PAGE 3/11

Page 8: MFront for the Code-Aster’users and beyond · MFrontfor the Code-Aster’users and beyond Code-Aster users meeting — Thomas Helfer1, Jean-Michel Proix 2, Olivier Fandeur3,4, Franc¸ois

MFront

MFront is an open-source code generator based on C++ developedwithin the PLEIADES platform for :

material properties

mechanical behaviours of particular interest for Code-Astermodels

MFront provides several domain specific languages :ease of use, expressivness, etc..

◮ focus on physical content◮ low programming skills requirements

MFront tries to comply with Eric Lorentz’s rule of three :reliability (gives the correct result)robustness (gives a result)numerical efficiency (is as fast as possible).

PAGE 3/11

Page 9: MFront for the Code-Aster’users and beyond · MFrontfor the Code-Aster’users and beyond Code-Aster users meeting — Thomas Helfer1, Jean-Michel Proix 2, Olivier Fandeur3,4, Franc¸ois

MFront

MFront is an open-source code generator based on C++ developedwithin the PLEIADES platform for :

material properties

mechanical behaviours of particular interest for Code-Astermodels

MFront provides several domain specific languages :ease of use, expressivness, etc..

◮ focus on physical content◮ low programming skills requirements

MFront tries to comply with Eric Lorentz’s rule of three :reliability (gives the correct result)robustness (gives a result)numerical efficiency (is as fast as possible).

Interoperability (rule of four ? See ”Intefaces” below).

PAGE 3/11

Page 10: MFront for the Code-Aster’users and beyond · MFrontfor the Code-Aster’users and beyond Code-Aster users meeting — Thomas Helfer1, Jean-Michel Proix 2, Olivier Fandeur3,4, Franc¸ois

MFront

MFront is an open-source code generator based on C++ developedwithin the PLEIADES platform for :

material properties

mechanical behaviours of particular interest for Code-Astermodels

MFront provides several domain specific languages :ease of use, expressivness, etc..

◮ focus on physical content◮ low programming skills requirements

MFront tries to comply with Eric Lorentz’s rule of three :reliability (gives the correct result)robustness (gives a result)numerical efficiency (is as fast as possible).

Interoperability (rule of four ? See ”Intefaces” below).

Strong emphasis on Quality Assurance (rule of five ? See ”Materialknowledge management” below).

PAGE 3/11

Page 11: MFront for the Code-Aster’users and beyond · MFrontfor the Code-Aster’users and beyond Code-Aster users meeting — Thomas Helfer1, Jean-Michel Proix 2, Olivier Fandeur3,4, Franc¸ois

MFront

MFront is an open-source code generator based on C++ developedwithin the PLEIADES platform for :

material properties

mechanical behaviours of particular interest for Code-Astermodels

MFront provides several domain specific languages :ease of use, expressivness, etc..

◮ focus on physical content◮ low programming skills requirements

MFront tries to comply with Eric Lorentz’s rule of three :reliability (gives the correct result)robustness (gives a result)numerical efficiency (is as fast as possible).

Interoperability (rule of four ? See ”Intefaces” below).

Strong emphasis on Quality Assurance (rule of five ? See ”Materialknowledge management” below).

PLEIADES goals : building high quality fuels performance codesPAGE 3/11

Page 12: MFront for the Code-Aster’users and beyond · MFrontfor the Code-Aster’users and beyond Code-Aster users meeting — Thomas Helfer1, Jean-Michel Proix 2, Olivier Fandeur3,4, Franc¸ois

A first example : material property

@DSL Mate r i a lLaw ; // t r e a t i n g a ma t e r i a l p r op e r t y@Mate r i a l UO2 ; // m a t e r i a l name@Law YoungModulus Martin1989 ; // name of the m a t e r i a l p r op e r t y@Output E ; // output o f the ma t e r i a l p r op e r t y@Input T, f ; // i n pu t s o f the ma t e r i a l p r op e r t y@Funct ion // imp l ementa t i on body{

E = 2.2693 e11∗(1.−2.5∗ f )∗(1−6.786 e−05∗T−4.23e−08∗T∗T) ;}

E (T , f ) = 2.2693 1011 (1− 2.5 f ) (1 − 6.786 10−5 T − 4.23 10−8 T 2)

usable in Code-Aster through the python interface.

also in C, C++, fortran, excel, Cast3M, etc..

usable in MFront’s mechanical behaviours !

PAGE 4/11

Page 13: MFront for the Code-Aster’users and beyond · MFrontfor the Code-Aster’users and beyond Code-Aster users meeting — Thomas Helfer1, Jean-Michel Proix 2, Olivier Fandeur3,4, Franc¸ois

A first example : material property

@DSL Mate r i a lLaw ; // t r e a t i n g a ma t e r i a l p r op e r t y@Mate r i a l UO2 ; // m a t e r i a l name@Law YoungModulus Martin1989 ; // name of the m a t e r i a l p r op e r t y@Author T . H e l f e r ; // author name@Date 04/04/2014; // imp l ementa t i on date@De sc r i p t i on // d e t a i l l e d d e s c r i p t i o n{

The e l a s t i c c on s t a n t s o f p o l y c r y s t a l l i n e UO2 and(U, Pu) mixed o x i d e s : a r e v i ew and recommendat ionsMartin , DGHigh Temperature s . High P re s su r e s , 1989

}

@Output E ; // output o f the ma t e r i a l p r op e r t yE . se tGlossaryName ( ”YoungModulus ” ) ;@Input T, f ; // i n pu t s o f the ma t e r i a l p r op e r t yT. se tGlossaryName ( ”Temperature ” ) ;f . se tGlossaryName ( ” Po r o s i t y ” ) ;

@Phys i ca lBounds T i n [ 0 : ∗ [ ; // Temperature i s p o s i t i v e@Phys i ca lBounds f i n [ 0 : 1 . ] ; // Po r o s i t y i s p o s i t i v e and l owe r than one@Bounds T i n [ 2 7 3 . 1 5 : 2 6 1 0 . 1 5 ] ; // V a l i d i t y range

@Funct ion // imp l ementa t i on body{

E = 2.2693 e11∗(1.−2.5∗ f )∗(1−6.786 e−05∗T−4.23e−08∗T∗T) ;}

E (T , f ) = 2.2693 1011 (1− 2.5 f ) (1 − 6.786 10−5 T − 4.23 10−8 T 2)PAGE 4/11

Page 14: MFront for the Code-Aster’users and beyond · MFrontfor the Code-Aster’users and beyond Code-Aster users meeting — Thomas Helfer1, Jean-Michel Proix 2, Olivier Fandeur3,4, Franc¸ois

Mechanical behaviours

@DSL I s o t r o p i c P l a s t i cM i s e s F l o w ;@Behaviour p l a s t i c f l o w ;@Author H e l f e r Thomas ;@Date 23/11/06;

@Mate r i a lP rope r t y s t r e s s H;

@FlowRule{f = seq−H∗p ;d f d s e q = 1;d f dp = −H;

}

A simple J2 (isotropic) plastic behaviour :f (σeq , p) = σeq − H p ≤ 0example of specific behaviour implementationautomatic computation of the consistent tangent operator

PAGE 5/11

Page 15: MFront for the Code-Aster’users and beyond · MFrontfor the Code-Aster’users and beyond Code-Aster users meeting — Thomas Helfer1, Jean-Michel Proix 2, Olivier Fandeur3,4, Franc¸ois

Mechanical behaviours

@DSL I s o t r o p i c P l a s t i cM i s e s F l o w ;@Behaviour p l a s t i c f l o w ;@Author H e l f e r Thomas ;@Date 23/11/06;

@Mate r i a lP rope r t y s t r e s s H;

@FlowRule{f = seq−H∗p ;d f d s e q = 1;d f dp = −H;

}

A simple J2 (isotropic) plastic behaviour :f (σeq , p) = σeq − H p ≤ 0example of specific behaviour implementationautomatic computation of the consistent tangent operator

various domain specific languages are available to cope with :general small strain behaviours, general finite strain behaviours, cohesivezone modelsexplicit or implicit integration schemes

◮ various algorithms available

PAGE 5/11

Page 16: MFront for the Code-Aster’users and beyond · MFrontfor the Code-Aster’users and beyond Code-Aster users meeting — Thomas Helfer1, Jean-Michel Proix 2, Olivier Fandeur3,4, Franc¸ois

Code generation and interfaces

Finite elements solvers :Code-Aster, Cast3M, ZeBuLoN.

Fast Fourier transform solvers :TMFFT, AMITEX FFT

Fuel performance codes :Cyrano3

PAGE 6/11

Page 17: MFront for the Code-Aster’users and beyond · MFrontfor the Code-Aster’users and beyond Code-Aster users meeting — Thomas Helfer1, Jean-Michel Proix 2, Olivier Fandeur3,4, Franc¸ois

Code generation and interfaces

Finite elements solvers :Code-Aster, Cast3M, ZeBuLoN, EuroPlexus, Abaqus, Ansys.

Fast Fourier transform solvers :TMFFT, AMITEX FFT, CraFT

Fuel performance codes :Cyrano3, Galileo

working

planned

signs of interest

PAGE 6/11

Page 18: MFront for the Code-Aster’users and beyond · MFrontfor the Code-Aster’users and beyond Code-Aster users meeting — Thomas Helfer1, Jean-Michel Proix 2, Olivier Fandeur3,4, Franc¸ois

Material knowledgemanagement

Page 19: MFront for the Code-Aster’users and beyond · MFrontfor the Code-Aster’users and beyond Code-Aster users meeting — Thomas Helfer1, Jean-Michel Proix 2, Olivier Fandeur3,4, Franc¸ois

Studies quality assurance

One of the main benefits of MFront is to make the link between :Solvers :

◮ Finite elements solvers (Code-Aster, Cast3M, etc..)◮ Fuel performances codes (PLEIADES), etc...)

Material knowledge management projects

PAGE 7/11

Page 20: MFront for the Code-Aster’users and beyond · MFrontfor the Code-Aster’users and beyond Code-Aster users meeting — Thomas Helfer1, Jean-Michel Proix 2, Olivier Fandeur3,4, Franc¸ois

Studies quality assurance

One of the main benefits of MFront is to make the link between :Solvers :

◮ Finite elements solvers (Code-Aster, Cast3M, etc..)◮ Fuel performances codes (PLEIADES), etc...)

Material knowledge management projects

With those projects, users are/will be granted access to :

Checked implementations (expert judgement, unit tests)Technical notes, experimental data, etc...Material knowledge versionning

PAGE 7/11

Page 21: MFront for the Code-Aster’users and beyond · MFrontfor the Code-Aster’users and beyond Code-Aster users meeting — Thomas Helfer1, Jean-Michel Proix 2, Olivier Fandeur3,4, Franc¸ois

Studies quality assurance

One of the main benefits of MFront is to make the link between :Solvers :

◮ Finite elements solvers (Code-Aster, Cast3M, etc..)◮ Fuel performances codes (PLEIADES), etc...)

Material knowledge management projects

With those projects, users are/will be granted access to :

Checked implementations (expert judgement, unit tests)Technical notes, experimental data, etc...Material knowledge versionning

Those projects allow much deeperinteractions/discussion/feed-backs between simulation andexperimental people.

PAGE 7/11

Page 22: MFront for the Code-Aster’users and beyond · MFrontfor the Code-Aster’users and beyond Code-Aster users meeting — Thomas Helfer1, Jean-Michel Proix 2, Olivier Fandeur3,4, Franc¸ois

Studies quality assurance

One of the main benefits of MFront is to make the link between :Solvers :

◮ Finite elements solvers (Code-Aster, Cast3M, etc..)◮ Fuel performances codes (PLEIADES), etc...)

Material knowledge management projects

With those projects, users are/will be granted access to :

Checked implementations (expert judgement, unit tests)Technical notes, experimental data, etc...Material knowledge versionning

Those projects allow much deeperinteractions/discussion/feed-backs between simulation andexperimental people.

Stronger quality assurance for the end user studies

PAGE 7/11

Page 23: MFront for the Code-Aster’users and beyond · MFrontfor the Code-Aster’users and beyond Code-Aster users meeting — Thomas Helfer1, Jean-Michel Proix 2, Olivier Fandeur3,4, Franc¸ois

Sirius and Cadeex : some unformalised perspectives

Two material knowledge management tools : Sirius database inPLEIADES, Cadeex at EDF.

Those projects have followed complementary paths.◮ many experience to share◮ would benefit from a standard file exchange : MADNEX?

End-user would greatly benefit from a Salome interface

Solver inputs files would greatly benefit from allowing access to theunderlying material data (Salome again)

PAGE 8/11

Page 24: MFront for the Code-Aster’users and beyond · MFrontfor the Code-Aster’users and beyond Code-Aster users meeting — Thomas Helfer1, Jean-Michel Proix 2, Olivier Fandeur3,4, Franc¸ois

Sirius and Cadeex : some unformalised perspectives

Two material knowledge management tools : Sirius database inPLEIADES, Cadeex at EDF.

Those projects have followed complementary paths.◮ many experience to share◮ would benefit from a standard file exchange : MADNEX?

End-user would greatly benefit from a Salome interface

Solver inputs files would greatly benefit from allowing access to theunderlying material data (Salome again)

PAGE 8/11

Page 25: MFront for the Code-Aster’users and beyond · MFrontfor the Code-Aster’users and beyond Code-Aster users meeting — Thomas Helfer1, Jean-Michel Proix 2, Olivier Fandeur3,4, Franc¸ois

Conclusions

Page 26: MFront for the Code-Aster’users and beyond · MFrontfor the Code-Aster’users and beyond Code-Aster users meeting — Thomas Helfer1, Jean-Michel Proix 2, Olivier Fandeur3,4, Franc¸ois

Acknowledgements

J. M. Proix, J. Hure, F. Hamon, I. Ramiere, , E. Castelier O. Fandeur,V. Blanc, J. Julien, B. Michel, B. Bary, F. Milliard, A. Courcelle, andall the others for various contributions.

all the persons who contributed to the open-source release of TFEL : J.P. Defain, D. Banner, T. De Soza, V. Marelle, E. Lorentz, C.Toulemonde, F. Curtit, R. Masson, and all the others.

the authors are grateful to J. Besson and S. Quilici for their valuablehelp in building the ZeBuLoN interface.

This research was conducted in the framework of the PLEIADES project,which was supported financially by the CEA (Commissariat a l’EnergieAtomique et aux Energies Alternatives), EDF (Electricite de France) andAREVA and in the framework of the Simu-Meca2015 project hold within

EDF R&D.

PAGE 9/11

Page 27: MFront for the Code-Aster’users and beyond · MFrontfor the Code-Aster’users and beyond Code-Aster users meeting — Thomas Helfer1, Jean-Michel Proix 2, Olivier Fandeur3,4, Franc¸ois

Thanks your for your attention. Questions ?

New users/contributors are welcomed !http://tfel.sourceforge.net

PAGE 10/11

Page 28: MFront for the Code-Aster’users and beyond · MFrontfor the Code-Aster’users and beyond Code-Aster users meeting — Thomas Helfer1, Jean-Michel Proix 2, Olivier Fandeur3,4, Franc¸ois

Appendix

Page 29: MFront for the Code-Aster’users and beyond · MFrontfor the Code-Aster’users and beyond Code-Aster users meeting — Thomas Helfer1, Jean-Michel Proix 2, Olivier Fandeur3,4, Franc¸ois

Licences

To meet CEA and EDF needs, TFEL 2.0 is released under amulti-licensing scheme :

open-source licences :◮ GNU Public License : This licence is used by the Code-Aster finite

element solver.◮ CECILL-A : License developped by CEA, EDF and INRIA, compatible

with the GNU Public License and designed for conformity with theFrench law.

CEA and EDF are free to distribute TFEL under custom licences :Mandatory for the PLEIADES plateform.

PAGE 11/11