commit:2017:01_09
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| commit:2017:01_09 [2017/01/09 10:34] – wautelet | commit:2017:01_09 [2017/01/09 13:30] (current) – [Cas tests ajoutés/supprimés] wautelet | ||
|---|---|---|---|
| Line 5: | Line 5: | ||
| ==== Robustesse Opération de Projection ==== | ==== Robustesse Opération de Projection ==== | ||
| + | Jusqu' | ||
| + | * Assessment of methods for computing the closest point projection, penetration and gap functions in contact searching problems, Kopacka J. et al., 2015. | ||
| + | * On the solvability of closest point projection procedures in contact analysis: Analysis and solution strategy for surfaces of arbitrary geometry, Knoyukhov A. and Schweizerhof K., 2008. | ||
| + | |||
| + | Bien que négligé par les auteurs du premier papier, l' | ||
| + | |||
| + | Pour ne pas changer et comme d' | ||
| + | |||
| + | Dans le cas de la projection sur une surface ou une courbe, le problème revient à minimiser une fonction distance. | ||
| + | Dans le cas de la projection orientée sur une surface ou une courbe, le problème revient à résoudre une équation non linéaire (distance d'un point de la courbe/de la surface à la droite vaut zéro). | ||
| + | |||
| + | En relisant une x fois les opérations de projection orientée, j'ai constaté qu' | ||
| + | |||
| + | === Méthode Hybride - Inexact Line Search === | ||
| + | |||
| + | Si la matrice hessienne n'est pas définie positive, nous avons dès lors d'une direction de croissance de la fonction objective. Il suffit tout simplement de prendre l' | ||
| + | Si la direction obtenue est presque perpendiculaire au gradient ou si la matrice hessienne est semi-définie positive (singulière), | ||
| + | |||
| + | Dans le cas d'une minimisation d'une fonction non linéaire, l' | ||
| + | |||
| + | Deux line search inexactes sont disponibles et implémentées dans Metafor : | ||
| + | |||
| + | * Backtracking line search (Utiliser en général pour la résolution d' | ||
| + | |||
| + | * More Thuente line search (State of the art) (Utiliser en général pour la minimisation d'une fonction non linéaire) : il requiert juste l' | ||
| + | |||
| + | Finalement, j'ai du réécrire la procédure utilisée pour l' | ||
| + | |||
| + | Pour la projection sur les NURBS, il serait peut être intéressant de faire un BFGS method pour calculer les projections, | ||
| + | |||
| + | === Modification de la matrice hessienne === | ||
| + | |||
| + | Afin de continuer à utiliser la procédure de Newton-Raphson et toujours garantir une diminution de la fonction objective, j'ai implémenté une méthode qui rend la matrice définie positive tout en conservant une matrice bien conditionnée. L' | ||
| + | |||
| + | === Résumé === | ||
| + | |||
| + | Que soit avec l'une ou l' | ||
| + | |||
| + | <note important> | ||
| + | |||
| + | <note important> | ||
| + | |||
| + | ==== Normale sur un patch de Coon bilinéaire ==== | ||
| + | |||
| + | J'ai corrigé l' | ||
| + | |||
| + | Sinon, il y avait une différence si on calculait la normale à partir des deux tangentes locales ! | ||
| ==== Projection Nurbs Surface ==== | ==== Projection Nurbs Surface ==== | ||
| Line 11: | Line 58: | ||
| J'ai nettoyé l' | J'ai nettoyé l' | ||
| - | J'ai fait une correction dans le cas où on évalue une tangente en dehors du domaine de définition [0 1]x[0 1]. On fait une extrapolation selon le paramètre non constant. En réécrivant les équations, j'ai garanti que les tangentes | + | J'ai fait une correction dans le cas où on évalue une tangente en dehors du domaine de définition [0 1]x[0 1]. On fait une extrapolation selon la coordonnée intrinsèque de la surface en dehors du domaine de définition. En réécrivant les équations, j'ai garanti que les tangentes |
| + | |||
| + | En faisant une recherche bibliographique, | ||
| | | ||
| Dans le cas du cas test du tube, nous observons une singularité au niveau de la définition d'une tangente, car celle-ci vaut zéro. Ceci est normal vu la définition de la surface utilisée. | Dans le cas du cas test du tube, nous observons une singularité au niveau de la définition d'une tangente, car celle-ci vaut zéro. Ceci est normal vu la définition de la surface utilisée. | ||
| Line 22: | Line 71: | ||
| J'ai ajouté la possibilité d' | J'ai ajouté la possibilité d' | ||
| + | |||
| + | On peut demander aussi à calculer les tangentes et les normales par la même occasion. | ||
| + | |||
| + | ==== Line Search Exact ==== | ||
| + | |||
| + | J'ai juste ajouté un interface pour modifier les paramètres du line search exacte. L' | ||
| ==== Cas Test ==== | ==== Cas Test ==== | ||
| Line 31: | Line 86: | ||
| < | < | ||
| - | [a]: | + | [a]:mtMath/ |
| + | [a]: | ||
| [r]: | [r]: | ||
| </ | </ | ||
| Line 38: | Line 94: | ||
| < | < | ||
| - | [a]: | + | [a]:mtMath/ |
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| [r]: | [r]: | ||
| </ | </ | ||
commit/2017/01_09.1483954454.txt.gz · Last modified: by wautelet
