Toutes les méthode de calcul du résidu (MethodXResidualComputation) avaient en leur sein un risque d'instabilité étant donné que le résidu était adimensionalisé à l'aide d'une mesure des forces imposées (nommé RMoy dans le code).
Pour éviter de diviser par 0, lorsque RMoy < 1.0e-8 (en dur), on divisait plus par RMoy (cad on disait RMoy = 1.).
La discontinuïté brutale dans le calcul de RMoy n'était pas des plus judicieuse pour la continuïté du résidu adimensionalisé !!!
Première Modif : Définition d'un limitNormFactor (RMoy limite) pouvant être initialisé dans le constructeur des méthodes de calcul du résidu adimensionel (depuis que ce sont des fonctions). Ce quel que soit la méthode de calcul de RMoy…
deuxième modif : dès que RMoy < limitNormFactor ⇒ RMoy = limitNormFactor (au moins on est C0)
troisième modif : limitNormFactor = 1.0 par défaut (en lancant des batteries, je me suis rendu compte que plein de cas tests ayant une mise en charge faible ou un équilibre final “fin” ne fonctionnaient que grâce au fait que RMoy était mis à 1.0
quatrième modif : trouver le limitNormFactor
qui va bien pour les tests pour lesquels RMoy est faible (et qui passaient donc mal l'épreuve de la batterie). (quelques cas tests modifiés !!!)
Methodologie de fixation de limitNormFactor
: Pour ce faire lancer le test avec l'option mim.setVerbose(), regarder les valeurs du RMoy en cours de calcul, et mettre une valeur de limitNormFactor
~ 0.01 * RMoy observé … (en général ca marche sinon, réfléchissez à la signification des différents termes et modifiez par exemple la prec
)
Ca demande un utilisateur plus malin (pas toujours gagné), mais permet d'être mieux adapté aux tests finissant par un mouvement quasi rigide et devrait (à vérifier) aux tests dans des unités moins naturelles (en mètre) ou moins rigides (fluid,…) d'être moins problématiques.
ATTENTION : LE NOMBRE DE PAS ET D'ITE A ETE MODIFIE POUR BEAUCOUP DE TESTS, JE N'AI PAS PU VERIFIER A LA MAIN TOUS LES TESTS, J'AI ESSAYE DE VERIFIER LES TESTS QUI MONTRAIENT DES MODIFS IMPORTANTES, MAIS J'AI PU LOUPER DES CHANGEMENT DE COMPORTEMENT DE CERTAINS TESTS. SI VOUS EN REPEREZ, NE M'EN VOULEZ PAS svp ET APPLIQUEZ LA METHODOLOGIE CI DESSUS !!!