commit:2019:08_13
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| commit:2019:08_13 [2019/08/13 22:50] – [Divers] wautelet | commit:2019:08_13 [2019/08/14 22:56] (current) – [Commit 2019-08-13] wautelet | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ===== Commit 2019-08-13 ====== | ===== Commit 2019-08-13 ====== | ||
| - | Ce commit a pour but d' | + | Ce commit a pour but d' |
| <note important> | <note important> | ||
| + | |||
| + | Pour mon prochain commit, il y aura une nouvelle implémentation du Line Search Structural plus performante que celle actuelle. | ||
| ==== Structural Line Search - Refactoring ==== | ==== Structural Line Search - Refactoring ==== | ||
| - | === FullStepStructuralLineSearch === | + | J'ai placé les fonctions relatives à l' |
| - | === StandardStructuralLineSearch | + | === FullStepStructuralLineSearch (Derive de StructuralLineSearchBase) |
| + | Cette méthode correspond à la méthode classique de Newton Raphson où la taille du pas selon la direction de recherche est de 1. | ||
| + | |||
| + | < | ||
| + | mim = metafor.getIterationManager() | ||
| + | lineSearch = FullStepStructuralLineSearch(mim) | ||
| + | lineSearch.setVerbose(boolParameter|default value = False) | ||
| + | lineSearch.setDebug(boolParameter|default value = False) | ||
| + | mim.setStructuralLineSearch(lineSearch) | ||
| + | </ | ||
| + | |||
| + | <note important> | ||
| + | |||
| + | === StandardStructuralLineSearch (Derive de StructuralLineSearch = une classe virtuelle) === | ||
| + | |||
| + | Cette méthode correspond au Line Search Structural programmée par Ludovic Noëls. Je remets ici les différents paramètres d' | ||
| + | |||
| + | < | ||
| + | mim = metafor.getIterationManager() | ||
| + | lineSearch = StandardStructuralLineSearch(mim) | ||
| + | lineSearch.setVerbose(boolParameter|default value = False) | ||
| + | lineSearch.setDebug(boolParameter|default value = False) | ||
| + | lineSearch.setMaxNbOfLineSearchIterations(integerParameter|default value = 10); | ||
| + | lineSearch.setLineSearchTolerance1(doubleParameter|default value = 1.0); | ||
| + | lineSearch.setLineSearchTolerance2(doubleParameter|default value = 1.0E-8); | ||
| + | lineSearch.setAbsMaxLineSearchCoefficient(doubleParameter|default value = 10.0); | ||
| + | lineSearch.setAbsMinLineSearchCoefficient(doubleParameter|default value = 0.0); | ||
| + | mim.setStructuralLineSearch(lineSearch) | ||
| + | </ | ||
| + | |||
| + | Désormais, il est possible de normaliser le résidu du Line Search Structural via la commande suivante : | ||
| + | |||
| + | < | ||
| + | lineSearch.setUseNormalisedCriterion(boolParameter|default value = False) | ||
| + | </ | ||
| + | On divise tout simplement les résidus du Line Search Structural par la valeur obtenue à l' | ||
| ==== Jeux de données - Structural Line Search ==== | ==== Jeux de données - Structural Line Search ==== | ||
| Line 20: | Line 57: | ||
| J'ai regroupé dans cette section différentes modifications du code source. | J'ai regroupé dans cette section différentes modifications du code source. | ||
| - | === MiscValueExtractor | + | * MiscValueExtractor |
| - | Suite au refactoring du Line Search, j'ai remis à plat les grandeurs archivées pour le Line Search. | + | Suite au refactoring du Line Search, j'ai remis à plat les grandeurs archivées pour le Line Search |
| + | < | ||
| + | valueExtractor = MiscValueExtractor(meta, | ||
| + | </ | ||
| - | Les cas-tests ont été adapté de manière | + | Je vous renvoie vers la documentation mise à jour pour plus d' |
| - | === Cast Test - nastranTriSkinContactTool.py | + | Les cas-tests avec le Line Search Structural ont été adapté de manière à conserver les valeurs archivées avant le commit. |
| + | |||
| + | * Cast Test - nastranTriSkinContactTool.py | ||
| Pour diminuer l' | Pour diminuer l' | ||
| - | === VectorToScalarOperator | + | * VectorToScalarOperator |
| + | |||
| + | J'ai ajouté de nouveaux opérateurs pour l' | ||
| - | Recherche du minimum parmi les valeurs d'un vecteur en excluant les valeurs nulles. | + | 1) Recherche du minimum parmi les valeurs d'un vecteur en excluant les valeurs nulles. |
| < | < | ||
| Line 39: | Line 83: | ||
| </ | </ | ||
| - | Recherche du maximum parmi les valeurs d'un vecteur en excluant les valeurs nulles. | + | 2) Recherche du maximum parmi les valeurs d'un vecteur en excluant les valeurs nulles. |
| < | < | ||
| Line 45: | Line 89: | ||
| </ | </ | ||
| - | Recherche du minimum en valeur absolue parmi les valeurs d'un vecteur en excluant les valeurs nulles. Cette grandeur garde son signe. | + | 3) Recherche du minimum en valeur absolue parmi les valeurs d'un vecteur en excluant les valeurs nulles. Cette grandeur garde son signe. |
| < | < | ||
| Line 51: | Line 95: | ||
| </ | </ | ||
| - | Recherche du maximum en valeur absolue parmi les valeurs d'un vecteur en excluant les valeurs nulles. Cette grandeur garde son signe. | + | 4) Recherche du maximum en valeur absolue parmi les valeurs d'un vecteur en excluant les valeurs nulles. Cette grandeur garde son signe. |
| < | < | ||
| AbsMaxOfNonZeroOperator() | AbsMaxOfNonZeroOperator() | ||
| </ | </ | ||
| - | Recherche du minimum | + | |
| + | 5) Recherche du minimum parmi les valeurs prises en valeur absolue d'un vecteur en excluant les valeurs nulles. Cette grandeur est toujours positive. | ||
| < | < | ||
| MinAbsOfNonZeroOperator() | MinAbsOfNonZeroOperator() | ||
| </ | </ | ||
| - | Recherche du maximum parmi les valeurs prises en valeur absolue d'un vecteur en excluant les valeurs nulles. Cette grandeur est toujours positive. | + | |
| + | 6) Recherche du maximum parmi les valeurs prises en valeur absolue d'un vecteur en excluant les valeurs nulles. Cette grandeur est toujours positive. | ||
| < | < | ||
| MaxAbsOfNonZeroOperator() | MaxAbsOfNonZeroOperator() | ||
| </ | </ | ||
| - | === QuadSide | + | * QuadSide |
| J'ai enrichi le message d' | J'ai enrichi le message d' | ||
| + | |||
| ===== Fichiers ajoutés/ | ===== Fichiers ajoutés/ | ||
commit/2019/08_13.1565729419.txt.gz · Last modified: by wautelet
