Good evening everyone,
I have done several simulations through Code_Aster to finally get a complete and nice stress strain curve. Thanks to the experimental curve, I am able to do a calibration and then imitate as better as possible the experimental curve.
Now, I am trying to build a metamodel to substitute the Code_Aster simulation that takes too much time. The aim is to have the same simulation curve with this metamodel.
First, I wanted to create a MetaModel on just certain point of my simulation curve.
Then, I decided to use the Polynomial Chaos Expansion to do a global Metamodel. However, I don’t really know how to proceed. The idea would be that by entering the input values we get the good simulation curve based on a Code_Aster study.
If you have some tips I would be so grateful.
Thank you very much for your time and your cooperation.
Pauline.
I have created a polynomial chaos metamodel. I am able to have similar values between my model and the metamodel. The next steps are too validate the metamodel and be sure that it works in every conditions.
However this metamodel is created for only one point of my stress strain curve. I don’t know if I have to create a metamodel for each point or if there is another solution.
Hi Pauline,
Here are some pointers on the OpenTURNS documentation to help you in your task:
https://openturns.github.io/openturns/latest/auto_meta_modeling/polynomial_chaos_metamodel/plot_chaos_ishigami.html
https://openturns.github.io/openturns/latest/auto_meta_modeling/polynomial_chaos_metamodel/plot_functional_chaos.html
Basically you have to sample the input space X of your Code_Aster simulation to get as many Y=(strain,stress) pairs as you can, then you check that the (strain,stress) pairs you get with your meta-model are close to the one you get using the Code_Aster simulation on an independent sample of input.
Then, you can build the (strain,stress) curve using the meta-model on a much finer resolution than with the Code_Aster simulation.
I suspect that you build a meta-model of another function than the one you want. Could you please detail what are the input of your simulation to get one (strain,stress) point, and how this point is obtained (e.g. as the maximum of a field over a mesh)?
Cheers
Régis
1 Like
Hi,
I don’t know if you speak French but it may be easier. I’ll try in French …
J’effectue un essai de traction sur Salome Meca. L’idee est de tracer la courbe contrainte/déformation via le modèle sur code_aster en entrant au choix le module d’Young, le module de cisaillement et les paramètres de la loi Meric Cailletaud. Vous l’aurez compris ces derniers parametres constituent donc mes inputs.
Ainsi, avec OT l’idee est de propager des incertitudes sur ces inputs. J’ai déjà fait en amont une analyse de sensibiilite. J’aimerai donc avoir un metamodele capable de tracer cette meme courbe avec n’importe quelles valeurs d’inputs. Depuis le debut, le seul resultat que je sors est la contrainte finale. J’aimerai reussir a sortir effectivement le couple (contrainte, deformation). Je travaille encore dessus avec le parametric calculation.
Pour créer ce métamodèle qui puisse sortir une courbe (contrainte, deformation) pour toutes valeurs possibles d’input, je pourrai sortir le couple (strain,stress) sous forme de table pour chaque ligne d’un input sample. Le trace de la courbe serait annexe ensuite.
Je vous remercie pour votre reponse !
Hi!
I think that we can help you to implement your test case.
Please contact me as a personal message at michael.baudin@edf.fr.
Best regards,
Michaël Baudin
Bonjour Pauline,
Si je comprends bien vous souhaitez faire un méta-modèle pour une fonction qui prend en entrée un vecteur de paramètres (Module Young, Module cisaillement, paramètres Meric Cailletaud) et qui produit en sortie une courbe (contrainte, déformation). Dans le langage OpenTURNS il s’agit d’une PointToFieldFunction. Vous avez un exemple d’utilisation de ce concept ici:
https://openturns.github.io/openturns/latest/auto_meta_modeling/fields_metamodels/plot_viscous_fall_metamodel.html
Afin de créer un méta-modèle d’une telle fonction, une démarche possible consiste à générer un échantillon des paramètres d’entrée dans un Sample, de stocker les courbes résultantes dans un ProcessSample, puis d’utiliser l’algorithme KarhunenLoeveSVDAlgorithm pour paramétrer l’ensemble des courbes de sortie par un vecteur aléatoire. On utilise ensuite un chaos polynomial (ou un krigeage par exemple) pour faire un méta-modèle entre le vecteur des paramètres d’entrée et ce vecteur de représentation des courbes. Tout cela est illustré dans l’exemple proposé.
Même si la démarche peut paraître un peu compliquée, l’intérêt est qu’on peut ensuite très facilement en déduire des indices de Sobol aggrégés sur la courbe de sortie, ou pour chaque point de la courbe de sortie.
Michael connait ces algorithmes et saura vous aider dans leur mise en oeuvre. Il est l’auteur de l’exemple que je vous ai pointé.
Cordialement,
Régis
1 Like
Bonjour,
Malheureusement c’est la fin de mon stage et je ne pourrai pas implementer ce que vous m’avez propose. Cependant, les outils que vous m’avez evoque serviront a developper un peu plus le travail que j’ai mene et j’en suis tres reconnaissante. Je vous remercie beaucoup pour votre reponse.
Cordialement,
Pauline.