===== Commit 2015-08-05===== ==== Grand nettoyage ===== Maintenant que mes routines de remaillage et rééquilibrage semblent fonctionner, j'ai fait un peu de nettoyage pour rendre ça plus propre. L'algo de rééquilibrage a été réécrit pour ressembler un maximum aux autres schémas d'intégrations, les remailleurs ont été vidés de tous les copier-coller qui traînaient, et le brouillon de procédure automatique de remaillage a été réécrit sous forme d'une classe. Afin de pouvoir éliminer les copier-coller des remailleurs, j'ai dû modifier la classe ''Gen4Mesher'' de ''meshers.py''. J'ai surtout divisé la fonction ''execute'' en plusieurs fonctions afin de pouvoir redéfinir ce qu'il fallait dans les classes dérivées. Je pense ne pas avoir trop foutu le bordel, mais si Romain veut vérifier, ses commentaires sont les bienvenus. Les remailleurs ont également été renommés (l'ancien remailleur, pour ceux qui l'utilisent, s'appelle désormais ''Gen4RemesherPB''). ==== Estimation des forces résiduelles ===== Pour faire un rééquilibrage en dynamique implicite, il faut connaitre les "forces résiduelles", qui ne sont calculées que si un flag est mis à ''True'' dans le cas-test. Dans le cas d'une simulation où on souhaiterait quand même remailler et rééquilibrer sans avoir mis ce flag à ''True'', on estime ces forces résiduelles sur base des forces internes, externes et d'inertie au pas de temps courant (au lieu de leur valeur au pas de temps précédent), en espérant que cette estimation conduisent à un meilleur résultat que de simplement les négliger. ==== AIC_ONCEPERSTEP ===== Concernant l'aire de contact (voir [[commit:2015:07_29]]), de nouvelles pistes ont été explorées mais au final rien de conséquent n'a été modifié. Le calcul de l'aire se trouve toujours bien dans le ''metafor.beginStep()''. J'ai juste enlevé un flag (''metafor.isRecomputed()'') que j'avais précédemment ajouté dans ''ContactElement.inl''. Si le pas de temps précédent est rejeté, l'air est recalculée inutilement, mais ça évite d'avoir des flags de haut niveau dans les routines de contact. ==== Descriptions des cas-tests ===== La série "forgeDynGF0" vérifie le transfert des données et le remaillage lorsque les forces résiduelles doivent être estimées sur base de la configuration courante. La série "forgeDynV2" vérifie la procédure de remaillage "automatique", où les étapes de remaillage, transfert, rééquilibrage et rédémarrage s'enchainent dans le fichier "forgeDynV2_2" ===== Fichiers ajoutés/supprimés ===== A : R : ===== Tests ajoutés/supprimés ===== A : apps.remeshing2.forgeDynGF0_1.py A : apps.remeshing2.forgeDynGF0_2.py A : apps.remeshing2.forgeDynGF0_3.py A : apps.remeshing2.forgeDynGF0_4.py A : apps.remeshing2.forgeDynV2_1.py A : apps.remeshing2.forgeDynV2_2.py R : --- //[[pjoris@ulg.ac.be|Pierre Joris]] 2015/08/05 //