Problème inverse en mécanique
Répondre à la discussion
Affichage des résultats 1 à 10 sur 10

Problème inverse en mécanique



  1. #1
    invite243f18c0

    Problème inverse en mécanique


    ------

    Bonjour à tous,

    Actuellement je suis en stage et je dois réaliser une optimisation d'un acier sur abaqus.

    Le problème est que je ne suis pas trop sensibilisé aux méthodes inverses.

    J'explique mon problème. J'ai un essai expérimental d'un essai de chute sur un cylindre en acier. J'ai les mesures du rayon avant et après impact.

    Mon but est d'optimiser mon matériau sur abaqus via une méthode inverse.

    De ce que j'ai pu glaner sur internet 2 méthodes itératives reviennent régulièrement. Une méthode par algorithme génétique et un algorithme de Levenberg Marquardt. Ce dernier semble moins lourds à mettre en place et de plus, il existe des codes en python.

    Donc , prenons l'exemple de LM, il me faut une fonction objectf à minimiser (moindres carrés).

    C'est ici que je coince.

    Je m'en remets à vous, pour me donner quelques explications/pistes.

    Merci d'avance
    Cordialement,
    David

    -----

  2. #2
    invite4af455c2

    Re : Problème inverse en mécanique

    Ici tout dépend de ce que tu cherches, tu dois bien avoir des paramètres à varier pour ton optimisation? Commence donc par nous en parler. Optimiser un acier c'est plutôt vague ... Je suppose que cette histoire de rayon doit intervenir.
    Dans ce genre de recherche il y a effectivement une fonction "fitness" qui permet de qualifier la qualité de la solution présente.
    Dans mon cas j'ai par exemple utilisé la somme des carrés des résidus. Mais cette fonction est particulière à chaque problème.

  3. #3
    invite243f18c0

    Re : Problème inverse en mécanique

    Citation Envoyé par ashrak Voir le message
    Ici tout dépend de ce que tu cherches, tu dois bien avoir des paramètres à varier pour ton optimisation? Commence donc par nous en parler. Optimiser un acier c'est plutôt vague ... Je suppose que cette histoire de rayon doit intervenir.
    Dans ce genre de recherche il y a effectivement une fonction "fitness" qui permet de qualifier la qualité de la solution présente.
    Dans mon cas j'ai par exemple utilisé la somme des carrés des résidus. Mais cette fonction est particulière à chaque problème.
    Merci de la réponse

    Donc pour les paramètres de l'acier, j'utilise une loi de Johnson Cook(4 paramètres, je ne m'occupe pas pour l'instant de la visco).

    J'ai donc 4 paramètres + les mesures de rayon avant et après impact.

  4. #4
    invite4af455c2

    Re : Problème inverse en mécanique

    C'est un test de taylor je suppose? (je suis pas très calé sur les métaux ...). Dans ce cas le but est de simuler le même essai avec un cylindre de même rayon, de récupérer le rayon calculé par Abaqus (trouver le max des coordonnées c'est plutôt rapide).

    Ensuite le principe est plutôt simple faire la différence entre l'expérience et la valeur trouvée par la simulation, la valeur absolue (ou un carré) et hop (dans le cas de plusieurs résultats on somme par exemple). Ensuite il faut mettre à l'échelle ("scale") cette valeur et ça c'est plutôt empirique suivant le degré de précision attendu.
    Ensuite le critère de convergence dépend de l'algo mais c'est en général une vitesse de convergence qui devient faible.

    Un petit problème qui va se poser est que si tu n'as qu'une seule expérience ça va être légé. En gros tu as l'espace de paramètres de dimension 4 et tu cherches à minimiser un bébé en 5D (+1 pour la fonction objectif). Il peut y avoir énormément de possibilités pour un même résultat.
    Il est préférable d'avoir autant d'expériences (différent rayons de départ par exemple) que de paramètres.

  5. A voir en vidéo sur Futura
  6. #5
    invite243f18c0

    Re : Problème inverse en mécanique

    Citation Envoyé par ashrak Voir le message
    C'est un test de taylor je suppose? (je suis pas très calé sur les métaux ...). Dans ce cas le but est de simuler le même essai avec un cylindre de même rayon, de récupérer le rayon calculé par Abaqus (trouver le max des coordonnées c'est plutôt rapide).

    Ensuite le principe est plutôt simple faire la différence entre l'expérience et la valeur trouvée par la simulation, la valeur absolue (ou un carré) et hop (dans le cas de plusieurs résultats on somme par exemple). Ensuite il faut mettre à l'échelle ("scale") cette valeur et ça c'est plutôt empirique suivant le degré de précision attendu.
    Ensuite le critère de convergence dépend de l'algo mais c'est en général une vitesse de convergence qui devient faible.

    Un petit problème qui va se poser est que si tu n'as qu'une seule expérience ça va être légé. En gros tu as l'espace de paramètres de dimension 4 et tu cherches à minimiser un bébé en 5D (+1 pour la fonction objectif). Il peut y avoir énormément de possibilités pour un même résultat.
    Il est préférable d'avoir autant d'expériences (différent rayons de départ par exemple) que de paramètres.
    Merci pour la réponse

    en effet, j'ai plusieurs essais, 3 essais (une chute à 1.5m et 3 à 2m).

    J'ai calculé mon erreur entre le rayon simulé et le rayon expérimental mais j'ai aussi calculé l'erreur au niveau de la hauteur.

    Donc de ma fonction, je sors une erreur ne dépendant que du rayon et de la hauteur. Je sors 4 erreurs que je somme me donnant donc ma fonction à minimiser dans mon algorithme. Je me suis résolu à le résoudre par LVM vu que la mise en place d'un algo génétique est plus couteuse (en temps) et ne donne pas forcément de meilleurs résultats que LVM.

    Le problème est qu'il faut que ma fonction caractérisant mon matériau intervienne.

    Es ce qu'il faut que dans mon sigma = f(epsilon)
    je dise que epsilon = (RayonApresImpact - RayonAvantImpact)/Rayon AvantImpact * 100 ?

    Ca donnerait un lien entre rayon et ma fonction à optimiser...

    J'avoue que je suis un peu perdu ...

    ps: je peux réduire le nombre de paramètres car je pense qu'à si faible vitesse sur du 100C6, la visco n'intervient pas ou presque.

  7. #6
    invite4af455c2

    Re : Problème inverse en mécanique

    Pour moi la hauteur n'est qu'un paramètre de simulation, la forme de la fonction à optimiser est donc de la forme suivante:


    avec les la hauteur et le vecteur de paramètres. En gros il y a trois simulations à faire pour une seule évaluation.

    Pour mon problème j'avais utilisé un algo génétique pour l'histoire de convergence globale et le fait que la fonction état plus que non linéaire.
    Pour l'autre algorithme je crois que c'est à convergence locale non ? L'évaluation du Jacobien peut être très gourmande suivant la rapidité des simulations ...

    Je ne me prétend pas expert en la question puisque j'ai utilisé cette méthode tout comme toi pour les besoins d'un paramétrage rapide.

  8. #7
    invite243f18c0

    Re : Problème inverse en mécanique

    Citation Envoyé par ashrak Voir le message
    Pour moi la hauteur n'est qu'un paramètre de simulation, la forme de la fonction à optimiser est donc de la forme suivante:


    avec les la hauteur et le vecteur de paramètres. En gros il y a trois simulations à faire pour une seule évaluation.

    Pour mon problème j'avais utilisé un algo génétique pour l'histoire de convergence globale et le fait que la fonction état plus que non linéaire.
    Pour l'autre algorithme je crois que c'est à convergence locale non ? L'évaluation du Jacobien peut être très gourmande suivant la rapidité des simulations ...

    Je ne me prétend pas expert en la question puisque j'ai utilisé cette méthode tout comme toi pour les besoins d'un paramétrage rapide.
    Merci de prendre tout ce temps avec moi

    Si je comprends bien, dans erreur (a) le a représente mon vecteur paramètre matériau (je peux le manipuler dans l'input file)

  9. #8
    invite4af455c2

    Re : Problème inverse en mécanique

    Exactement, dans ton cas c'est un vecteur avec 4 éléments : les paramètres de ton modèle à optimiser. Donc en gros tu as un programme qui utilise l'algorithme de ton choix qui va modifier ce vecteur (et donc l'input), lancer les simulations puis récupérer les résultats et ainsi de suite jusqu'à convergence.

  10. #9
    invite243f18c0

    Re : Problème inverse en mécanique

    Citation Envoyé par ashrak Voir le message
    Exactement, dans ton cas c'est un vecteur avec 4 éléments : les paramètres de ton modèle à optimiser. Donc en gros tu as un programme qui utilise l'algorithme de ton choix qui va modifier ce vecteur (et donc l'input), lancer les simulations puis récupérer les résultats et ainsi de suite jusqu'à convergence.
    Je te transmettrais mon code en python si tu es intéressé

  11. #10
    invite4af455c2

    Re : Problème inverse en mécanique

    Pourquoi pas .... je code personnellement en Fortran mais la transcription ne doit pas être trop difficile.

Discussions similaires

  1. Osmose Inverse... Pourquoi "Inverse" ?
    Par Vin'Z dans le forum Physique
    Réponses: 11
    Dernier message: 07/12/2014, 09h47
  2. probleme inverse
    Par invite86d2a51a dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 21/10/2009, 15h14
  3. problème inverse
    Par inviteaf99873e dans le forum Électronique
    Réponses: 1
    Dernier message: 20/05/2008, 23h02
  4. Problème De mécanique
    Par invite58990093 dans le forum TPE / TIPE et autres travaux
    Réponses: 1
    Dernier message: 27/01/2008, 15h34