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 11:06] – wautelet | commit:2017:01_09 [2017/01/09 13:30] (current) – [Cas tests ajoutés/supprimés] wautelet | ||
---|---|---|---|
Line 4: | Line 4: | ||
==== 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 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 === | === 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' | Dans le cas d'une minimisation d'une fonction non linéaire, l' | ||
- | Deux line search inexactes sont disponibles et implémentées : | + | Deux line search inexactes sont disponibles et implémentées |
- | Backtracking line search (Utiliser en général pour la résolution d' | + | * 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) : | + | |
- | + | ||
+ | * 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' | 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 === | === 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. Elle marche dans le cas d'une matrice définie négative et semi-définie positive. En général, il faut combiner cette méthode avec un backtracking line search et une méthode qui limite la taille de la correction (obligatoire !!). | + | 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é === | === Résumé === | ||
Que soit avec l'une ou l' | 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 50: | Line 73: | ||
On peut demander aussi à calculer les tangentes et les normales par la même occasion. | 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 59: | Line 86: | ||
< | < | ||
- | [a]: | + | [a]:mtMath/ |
+ | [a]: | ||
[r]: | [r]: | ||
</ | </ | ||
Line 66: | Line 94: | ||
< | < | ||
- | [a]: | + | [a]:mtMath/ |
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
+ | [a]: | ||
[r]: | [r]: | ||
</ | </ |
commit/2017/01_09.1483956375.txt.gz · Last modified: by wautelet